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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Caldwell, B., Stein, T., Beyond, E.: New it agenda. Information Week 711, 30–34 (1998)
AG, S.: Annual report 2012, financial highlights (2012)
Monk, E.F., Wagner, B.J.: Concepts in enterprise resource planning. CengageBrain. com (2008)
Bohner, S.A.: Software Change Impact Analysis. In: Proceedings of the 27th Annual NASA Goddard/IEEE Software Engineering Workshop (SEW-27’02) (1996)
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)
Apiwattanapong, T.: Efficient and precise dynamic impact analysis using execute-after sequences. In: Proceedings of the 27th International Conference on Software Engineering (2005)
Law, J., Rothermel, G.: Whole program path-based dynamic impact analysis. In: Proceedings of the 25th International Conference on Software Engineering (2003)
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)
Patterson, D.A., Hennessy, J.L.: Computer organization and design: The hardware/software interface. Morgan Kaufmann (2008)
Cmelik, B., Keppel, D.: Shade: A fast instruction-set simulator for execution profiling. Springer (1995)
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)
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/
Agarwal, A., Sites, R.L., Horowitz, M.: ATUM: A new technique for capturing address traces using microcode, vol. 14. IEEE Computer Society Press (1986)
Sosnoski, D.: Java programming dynamics, part 7: Bytecode engineering with bcel (April 2004)
AspectJ: Aspectj main page (2014)
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)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. Springer (1997)
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)
Project, E.A.: Introduction to aspectj (February 2014)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)