Advertisement

Vidock: A Tool for Impact Analysis of Aspect Weaving on Test Cases

  • Romain Delamare
  • Freddy Munoz
  • Benoit Baudry
  • Yves Le Traon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6435)

Abstract

The addition of a cross-cutting concern in a program, through aspect weaving, has an impact on its existing behaviors. If test cases exist for the program, it is necessary to identify the subset of test cases that trigger the behavior impacted by the aspect. This subset serve to check that interactions between aspects and the base program do not introduce some unexpected behavior. Vidock performs a static analysis when aspects are compiled with a program to select the test cases impacted by the aspects. It leverages the pointcut descriptor to locate the set of methods impacted by aspects and then selects the test cases that can reach an impacted method. This static analysis has to perform over-approximations when the actual point where the aspect is executed can be computed only at runtime and when test cases call polymorphic objects. We measure the occurrence of these assumptions in 4986 projects containing 498 aspects to show they have a limited impact. Then, we run experiments with Vidock on 5 cases studies and analyze the impacts that different types of aspects can have on test cases.

References

  1. 1.
    Filman, R.E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2005)Google Scholar
  2. 2.
    Pawlak, R., Noguera, C., Petitprez, N.: Spoon: Program analysis and transformation in java. Technical Report 5901, INRIA (2006), http://spoon.gforge.inria.fr
  3. 3.
    Munoz, F., Baudry, B., Delamare, R., Le Traon, Y.: Inquiring the usage of aspect-oriented programming: an empirical study. In: ICSM 2009: Proceedings of the 25th International Conference on Software Maintenance (2009)Google Scholar
  4. 4.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)Google Scholar
  5. 5.
    Vokolos, F.I., Frankl, P.G.: Pythia: a regression test selection tool based on textual differencing. In: 3rd International Conference on Reliability, Quality and Safety of Software-Intensive Systems, pp. 3–21. Chapman & Hall, Ltd., London (1997)Google Scholar
  6. 6.
    Rothermel, G., Harrold, M.J.: A safe, efficient regression test selection technique. ACM Trans. Softw. Eng. Methodol. 6(2), 173–210 (1997)CrossRefGoogle Scholar
  7. 7.
    Harrold, M.J., Jones, J.A., Li, T., Liang, D., Orso, A., Pennings, M., Sinha, S., Spoon, S.A., Gujarathi, A.: Regression test selection for java software. In: OOPSLA 2001: Proceedings of the 16th conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 312–326 (2001)Google Scholar
  8. 8.
    Xu, G., Rountev, A.: Regression test selection for AspectJ software. In: ICSE 2007: Proceedings of the 29th International Conference on Software Engineering, pp. 65–74 (2007)Google Scholar
  9. 9.
    Zhang, S., Gu, Z., Lin, Y., Zhao, J.: Celadon: a change impact analysis tool for aspect-oriented programs. In: ICSE Companion 2008: Companion of the 30th international conference on Software engineering (2008)Google Scholar
  10. 10.
    Ren, X., Shah, F., Tip, F., Ryder, B.G., Chesley, O.: Chianti: a tool for change impact analysis of Java programs. In: OOPSLA 2004, pp. 432–448 (2004)Google Scholar
  11. 11.
    Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. SIGSOFT Softw. Eng. Notes 29(6), 147–158 (2004)CrossRefGoogle Scholar
  12. 12.
    Munoz, F., Baudry, B., Barais, O.: Improving maintenance in aop through an interaction specification framework. In: ICSM 2008: 24th International conference on Software Maintentance, Beijing, China. IEEE Computer Society, Los Alamitos (2008)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2010

Authors and Affiliations

  • Romain Delamare
    • 1
  • Freddy Munoz
    • 1
  • Benoit Baudry
    • 1
  • Yves Le Traon
    • 2
  1. 1.IRISA / INRIA RennesFrance
  2. 2.LASSYUniversity of LuxembourgLuxembourg

Personalised recommendations