Skip to main content

Combining Static and Dynamic Impact Analysis for Large-Scale Enterprise Systems

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8892))

Abstract

Software changes and their impact on large-scale enterprise systems are critical, hard to identify and calculate. A typical enterprise system may consist of hundreds of thousands of classes and methods. Thus it is extremely costly and difficult to apply conventional testing techniques to such a system. In our previous work [1], a conservative static analysis with the capability of dealing with inheritance was conducted on an enterprise system and associated changes to obtain all the potential impacts. However, since static analysis takes into account all the possible system behaviours, the analysis often results in a good number of false-positives and thus over-estimation of the impact on other methods in the system. This work focuses on extending our previous static approach by an aspect-based dynamic analysis, to instrument the system and collect a set of dynamic impacts at run-time. The new approach is still safe, but more precise than the static analysis. Safety is preserved since the static analysis serves as the input source to the dynamic analysis, and we are careful not to discard impacts unless we can show that they are definitely not impacted by the change. It is more precise since dynamic analysis examines behaviours that do definitely occur at run-time and hence is able to reflect the real impacts. Additionally, our analysis is able to handle the scalability issue. The targeted system is orders of magnitude larger than the system other existing approaches can deal with. A case study was conducted to illustrate that specific objectives can be attained.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chen, W., Iqbal, A., Abdrakhmanov, A., Parlar, J., George, C., Lawford, M., Maibaum, T., Wassyng, A.: Large-scale enterprise systems: Changes and impacts. In: Cordeiro, J., Maciaszek, L.A., Filipe, J. (eds.) ICEIS 2012. LNBIP, vol. 141, pp. 274–290. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  2. Caldwell, B., Stein, T., Beyond, E.: New it agenda. Information Week 711, 30–34 (1998)

    Google Scholar 

  3. AG, S.: Annual report 2012, financial highlights (2012)

    Google Scholar 

  4. Monk, E.F., Wagner, B.J.: Concepts in enterprise resource planning. CengageBrain. com (2008)

    Google Scholar 

  5. Bohner, S.A.: Software Change Impact Analysis. In: Proceedings of the 27th Annual NASA Goddard/IEEE Software Engineering Workshop (SEW-27’02) (1996)

    Google Scholar 

  6. Ernst, M.D.: Static and dynamic analysis: Synergy and duality. In: WODA 2003: ICSE Workshop on Dynamic Analysis, Portland, OR, pp. 24–27 (May 9, 2003)

    Google Scholar 

  7. Apiwattanapong, T.: Efficient and precise dynamic impact analysis using execute-after sequences. In: Proceedings of the 27th International Conference on Software Engineering (2005)

    Google Scholar 

  8. Law, J., Rothermel, G.: Whole program path-based dynamic impact analysis. In: Proceedings of the 25th International Conference on Software Engineering (2003)

    Google Scholar 

  9. Orso, A., Apiwattanapong, T., Harrold, M.J.: Leveraging field data for impact analysis and regression testing. In: Proceedings of the 9th European Software Engineering Conference held Jointly with 11th ACM SIGSOFT International Symposium on Foundations of Software Engineering, vol. 28(5) (September 2003)

    Google Scholar 

  10. Patterson, D.A., Hennessy, J.L.: Computer organization and design: The hardware/software interface. Morgan Kaufmann (2008)

    Google Scholar 

  11. Cmelik, B., Keppel, D.: Shade: A fast instruction-set simulator for execution profiling. Springer (1995)

    Google Scholar 

  12. Luk, C.K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: Building customized program analysis tools with dynamic instrumentation. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2005, pp. 190–200. ACM, New York (2005)

    Chapter  Google Scholar 

  13. Lam, P., Bodden, E., Lhotak, O., Lhotak, J., Qian, F., Hendren, L.: Soot: A Java Optimization Framework. Sable Research Group, McGill University, Montreal, Canada (March 2010), Electronically available at http://www.sable.mcgill.ca/soot/

  14. Agarwal, A., Sites, R.L., Horowitz, M.: ATUM: A new technique for capturing address traces using microcode, vol. 14. IEEE Computer Society Press (1986)

    Google Scholar 

  15. Sosnoski, D.: Java programming dynamics, part 7: Bytecode engineering with bcel (April 2004)

    Google Scholar 

  16. AspectJ: Aspectj main page (2014)

    Google Scholar 

  17. Seesing, A., Orso, A.: Insectj: A generic instrumentation framework for collecting dynamic information within eclipse. In: Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology eXchange, Eclipse 2005, pp. 45–49. ACM, New York (2005)

    Chapter  Google Scholar 

  18. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. Springer (1997)

    Google Scholar 

  19. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–354. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Project, E.A.: Introduction to aspectj (February 2014)

    Google Scholar 

  21. Orso, A., Apiwattanapong, T., Law, J., Rothermel, G., Harrold, M.J.: An empirical comparison of dynamic impact analysis algorithms. In: Proceedings of the 26th International Conference on Software Engineering, ICSE 2004, pp. 491–500. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  22. Hattori, L., Guerrero, D., Figueiredo, J., Brunet, J., Damasio, J.: On the precision and accuracy of impact analysis techniques. In: Seventh IEEE/ACIS International Conference on Computer and Information Science, ICIS 2008, pp. 513–518 (May 2008)

    Google Scholar 

  23. Maia, M.C.O., Bittencourt, R.A., de Figueiredo, J.C.A., Guerrero, D.D.S.: The hybrid technique for object-oriented software change impact analysis. In: European Conference on Software Maintenance and Reengineering, pp. 252–255 (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Chen, W., Wassyng, A., Maibaum, T. (2014). Combining Static and Dynamic Impact Analysis for Large-Scale Enterprise Systems. In: Jedlitschka, A., Kuvaja, P., Kuhrmann, M., Männistö, T., Münch, J., Raatikainen, M. (eds) Product-Focused Software Process Improvement. PROFES 2014. Lecture Notes in Computer Science, vol 8892. Springer, Cham. https://doi.org/10.1007/978-3-319-13835-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-13835-0_16

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-13834-3

  • Online ISBN: 978-3-319-13835-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics