Change impact analysis for AspectJ programs
2008
Abstract
Abstract Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for making correct decisions. Recently, many techniques have been proposed to support change impact analysis of procedural or object-oriented software, but seldom effort has been made for aspect-oriented software. In this paper we propose a new change impact analysis technique for AspectJ programs.
References (25)
- The AspectBench Compiler. http://abc.comlab.ox.ac.uk/.
- AspectJ Development Tools (AJDT). http://www.eclipse.org/ajdt//.
- The AspectJ Team. The AspectJ Programming Guide. Online manual, 2003.
- Junit, Testing Resources for Extreme Programming, 2006.
- T. Apiwattanapong, A. Orso, and M. J. Harrold. Leveraging field data for impact analysis and regression testing. In Proc. 9th European Software Engineering Conference and 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 128-137.
- R. S. Arnold. Software Change Impact Analysis. IEEE Computer Society Press, 1996.
- D. F. Bacon and P. F. Sweeney. Fast static analysis of C++ virtual function calls. In In OOPSLA '96 Conference Proceedings, San Jose, CA, October 1996, pages 324-341, 2004.
- O. Chesley, X. Ren, and B. G. Ryder. Crisp: A debugging tool for Java programs. In Proc. International Conference on Software Maintenance (ICSM'2005), Budapest, Hungary, September 27-29, 2005.
- B. Dufour, C. Goard, L. Hendren, C. Verbrugge, O. de Moor, and G. Sittampalam. Measuring the dynamic behaviour of AspectJ programs, 2004.
- R. A. Guoqing Xu. Regression test selection for AspectJ software. In In Proc. of the 29th International Conference on Software Engineering(ICSE07), pages 65-74, May 2007.
- E. Hilsdale and J. Hugunin. Advice weaving in AspectJ. In Proc. 3rd International Conference on Aspect-Oriented Software Development, pages 26-35, 2004.
- G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proc. 11th European Conference on Object-Oriented Programming, pages 220-242. 1997.
- J. Law and G. Rothermel. Whole program path-based dynamic impact analysis. In Proc. 25th International Conference on Software Engineering, pages 308-318, Washington, DC, USA, 2003. IEEE Computer Society.
- N. Li. The call graph construction for aspect-oriented programs. Master's thesis, School of Software, Shanghai Jiao Tong University, March 2007 (in Chinese).
- X. Ren, F. Shah, F. Tip, B. Ryder, and O. Chesley. Chianti: A tool for change impact analysis of Java programs. In Proc. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2004), pages 432-448, Vancouver, BC, Canada, October 26-28, 2004.
- B. G. Ryder and F. Tip. Change impact analysis for object-oriented programs. In PASTE'01, pages 46-53, 2001.
- H. Shinomi and T. Tamai. Impact analysis of weaving in aspect-oriented programming. In Proc. 21st IEEE International Conference on Software Maintenance (ICSM'05), pages 657-660, 2005.
- M. Stoerzer and J. Graf. Using pointcut delta analysis to support evolution of aspect-oriented software. In Proc. 21st IEEE International Conference on Software Maintenance, pages 653-656, Washington, DC, USA, 2005. IEEE Computer Society.
- R. L. R. Thomas H. Cormen, Charles E. Leiserson. Introduction to Algorithm, 2nd Edition. MIT Press, 1996.
- T. Xie and J. Zhao. A framework and tool supports for generating test inputs of AspectJ programs. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 190-201, New York, NY, USA, 2006. ACM Press.
- W. Yang. Identifying syntactic differences between two programs. Software -Practice and Experience, 21(7):739-755, 1991.
- A. Zeller. Yesterday, my program worked. today, it does not. why? In Proc. 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, pages 253-267, London, UK, 1999. Springer-Verlag.
- S. Zhang and J. Zhao. Locating faults in AspectJ programs. Technical Report SJTU-CSE-TR-07-04, Center for Software Engineering, SJTU, July 2007.
- J. Zhao. Change impact analysis for aspect-oriented software evolution. In Proc. 5th International Workshop on Principles of Software Evolution, pages 108-112, May 2002.
- J. Zhao, T. Xie, and N. Li. Towards regression test selection for AspectJ programs. In Proc. 2nd workshop on Testing aspect-oriented programs, pages 21-26, July 2006.