Skip to main content

A State-Based Testing Method for Detecting Aspect Composition Faults

  • Conference paper
Computational Science and Its Applications – ICCSA 2014 (ICCSA 2014)

Abstract

Aspect-Oriented Software Development is a contemporary technique of software development that aims to improve the separation of concerns issues faced by traditional approaches. It improves the modularity of crosscutting concerns into units called aspects. However, this feature raises concerns about the quality of aspect-oriented programs (AOP). Existing functional testing approaches do not directly investigate the aspect composition problem, its resultant interactions and representation on a dynamic model. This paper describes a state-based testing method for AOP that targets class–aspect and aspect–aspect faults. To support the developed method, we introduce a model to represent the dynamic behavior of aspects interactions, a strategy to derive testing sequences, and a testing tool. Results of our assessment show that the approach is capable of detecting faults based on fault-models available in the literature. Furthermore, it is able to reveal another source of faults on AOPs, the aspect composition fault.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Filman, R., Elrad, T., Clarke, S., Akşit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)

    Google Scholar 

  2. Kiczales, G., Lamping, J., Menhdhekar, A., et al.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  3. Lemos, O., Franchin, I., Masiero, P.: Integration testing of object-oriented and aspect-oriented programs: A structural pairwise approach for java. Science of Comp. Programming 74, 861–878 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  4. Lemos, O., Masiero, P.: A pointcut-based coverage analysis approach for aspect-oriented programs. Info. Sciences 181(13), 2721–2746 (2011)

    Article  Google Scholar 

  5. Xiong, L., Li, J.: A structural testing approach for aspect-oriented programs based on data and control flow. In: 2013 4th IEEE International Conference on Software Engineering and Service Science (ICSESS), pp. 85–88 (May 2013)

    Google Scholar 

  6. Liu, C.-H., Chang, C.-W.: A state-based testing approach for aspect-oriented programming. J. Inf. Sci. Eng. 24(1), 11–31 (2008)

    Google Scholar 

  7. Xu, D., Ding, J.: Prioritizing state-based aspect tests. In: 2010 Third International Conference on Software Testing, Verification and Validation (ICST), pp. 265–274 (April 2010)

    Google Scholar 

  8. Xu, D., el Ariss, O., Xu, W., Wang, L.: Testing aspect-oriented programs with finite state machines. Softw. Test., Verif. Reliab. 22(4), 267–293 (2012)

    Article  Google Scholar 

  9. Delamare, R., Baudry, B., Le-Traon, Y.: Ajmutator: A tool for the mutation analysis of aspectj pointcut descriptors. In: International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2009, pp. 200–204 (April 2009)

    Google Scholar 

  10. Ferrari, F.C., Rashid, A., Maldonado, J.C.: Towards the practical mutation testing of aspectj programs. Science of Computer Programming 78(9), 1639–1662 (2013)

    Article  Google Scholar 

  11. Silveira, F.F., da Cunha, A.M., de Resende, A.M.P., Lisbôa, M.L.B.: The testing activity on the aspect-oriented paradigm. In: Proceedings of the 1st Workshop on Testing Aspect-Oriented Programs at AOSD 2005 (2005)

    Google Scholar 

  12. DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. J. -Computer 11, 34–41 (1978)

    Article  Google Scholar 

  13. Alexander, R.T., Bieman, J.M., Andrews, A.A.: Towards the systematic testing of aspect-oriented programs. Tech. Rep. CS-4-105, Colorado State University, Fort Collins, Colorado (2004)

    Google Scholar 

  14. Bsekken, J., Alexander, R.: A candidate fault model for aspectj pointcuts. In: 17th International Symposium on Software Reliability Engineering, ISSRE 2006, pp. 169–178 (November 2006)

    Google Scholar 

  15. Bergmans, L., Tekinerdogan, B., Glandrup, M., Aksit, M.: On composing separated concerns: Composability and composition anomalies. In: Workshop on Advanced Separation of Concerns (2000)

    Google Scholar 

  16. Mortensen, M., Alexander, R.T.: An approach for adequate testing of aspectJ programs. In: Proceedings of the 1st Workshop on Testing Aspect-Oriented Programs at AOSD 2005 (2005)

    Google Scholar 

  17. Anbalagan, P., Xie, T.: Automated generation of pointcut mutants for testing pointcuts in aspectj programs. In: 19th International Symposium on Software Reliability Engineering, ISSRE 2008, pp. 239–248 (November 2008)

    Google Scholar 

  18. Ferrari, F.C., Nakagawa, E.Y., Rashid, A., Maldonado, J.C.: Automating the mutation testing of aspect-oriented java programs. In: Proceedings of the 5th Workshop on Automation of Software Test, AST 2010, pp. 51–58. ACM, New York (2010)

    Google Scholar 

  19. Ferrari, F., Burrows, R., et al.: An exploratory study of fault-proneness in evolving aspect-oriented programs. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, vol. 1, pp. 65–74. ACM, New York (2010)

    Google Scholar 

  20. Xu, W., Xu, D., Goel, V., Nygard, K.: Aspect flow graph for testing aspect-oriented programs. In: Proceedings of the 8th IASTED International Conference on Software Engineering and Applications. ACTA Press (2004)

    Google Scholar 

  21. Xu, D., Xu, W., Nygard, K.: A state-based approach to testing aspect-oriented programs. In: SEKE 2005: Proceedings of the 17th International Conference on Software Engineering and Knowledge Engineering, Taipei (July 2005)

    Google Scholar 

  22. Binder, R.V.: Testing object-oriented systems: models, patterns, and tools. Addison-Wesley, Boston (2001)

    Google Scholar 

  23. Xu, D., Xu, W.: State-based incremental testing of aspect-oriented programs. In: AOSD 2006: Proceedings of the 5th International Conference on Aspect-Oriented Software Development, pp. 180–189. ACM Press, New York (2006)

    Google Scholar 

  24. Xu, D., Xu, W., Wong, W.E.: Testing aspect-oriented programs with uml design models. International Journal of Software Engineering and Knowledge Engineering 18(3), 413–437 (2008)

    Article  Google Scholar 

  25. Lemos, O., Vincenzi, A., Maldonado, J., Masiero, P.: Control and data flow structural testing criteria for aspect-oriented programs. J. Syst. and Software 80(6), 862–882 (2007)

    Article  Google Scholar 

  26. Kulesza, U., Soares, S., Chavez, C., et al.: The crosscutting impact of the AOSD Brazilian research community. Journal of Systems and Software 86, 905–933 (2013)

    Article  Google Scholar 

  27. Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications Co., Greenwich (2003)

    Google Scholar 

  28. Ma, Y.-S., Kwon, Y.-R., Offutt, J.: Inter-class mutation operators for java. In: Proceedings of the International Symposium on Software Reliability Engineering, ISSRE 2002, p. 352. IEEE Computer Society, Washington, DC (2002)

    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

Silveira, F.F., da Cunha, A.M., Lisbôa, M.L. (2014). A State-Based Testing Method for Detecting Aspect Composition Faults. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2014. ICCSA 2014. Lecture Notes in Computer Science, vol 8583. Springer, Cham. https://doi.org/10.1007/978-3-319-09156-3_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09156-3_30

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09155-6

  • Online ISBN: 978-3-319-09156-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics