skip to main content
10.1145/1960275.1960300acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

An exploratory study of code smells in evolving aspect-oriented systems

Authors Info & Claims
Published:21 March 2011Publication History

ABSTRACT

Although aspect-oriented programming (AOP) aims to improve software maintainability, developers can unwittingly introduce code smells in their programs. A code smell is any symptom in the source code that possibly indicates a deeper maintainability problem. Even though a few code smells for AOP have been reported in the literature, there is no evidence if and how they occur in evolving software projects. There is also little knowledge on their actual impact on maintenance effort, such as required refactorings or corrective changes in later software releases. This paper presents an exploratory analysis of code smells recurrently observed in a set of evolving aspect-oriented systems. We analyzed instances of code smells previously reported in the literature and newly-revealed ones. Our study involved in total 18 releases of 3 evolving aspect-oriented systems from different domains. The outcome of our evaluation suggests that previously-documented AOP smells might not occur as often as claimed. Our analysis also revealed that: (1) newly-discovered code smells might occur more often than well-known ones, and (2) the former ones seemed to be consistently associated with non-trivial refactorings and corrective changes.

References

  1. Code smells in AOP: evaluation, April 2010. http://www.inf.puc-rio.br/~ibertran/codesmells.Google ScholarGoogle Scholar
  2. Fabiano, F. et al. An exploratory study of error-proneness in evolving Aspect-Oriented Programs. In: Proc. of 25th OOPSLA, USA, 2009.Google ScholarGoogle Scholar
  3. Figueiredo, E et al. Evolving software product lines with aspects: An empirical study on design stability. In Proc. of 30th ICSE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Figueiredo, E. et al. Crosscutting patterns and design stability: An exploratory analysis. In: Proc. of 17th ICPC, Canada. 2009.Google ScholarGoogle Scholar
  5. Garcia, A. et al. Modularizing design patterns with aspects: A quantitative study. In Proc. of 4th AOSD, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fowler, M. et al. Refactoring: Improving the design of existing code. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Girba, T. et al. Identifying Entities That Change Together. In Proc. of the 9th WESS, 2004.Google ScholarGoogle Scholar
  8. Greenwood, P. et al. On the impact of aspectual decompositions on design stability: An empirical study. In Proc. 21st ECOOP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Hannemann, J., Murphy, G. and Kiczales, G. Role- based refactoring of crosscutting concerns. In Proc. of 4th AOSD, pp. 135--146, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hohenstein, U. Improving the performance of database applications with Aspect-Oriented Programming. In Proc. of 5th AOSD, 2006.Google ScholarGoogle Scholar
  11. HW http://www.comp.lancs.ac.uk/~greenwop/tao (01/06/2009).Google ScholarGoogle Scholar
  12. iBATIS: Data Mapper - http://ibatis.apache.org/ (08/06/2009).Google ScholarGoogle Scholar
  13. Iwamoto, M.; Zhao, J. Refactoring aspect-oriented programs. In Proc. of 4th AOSD Modeling with UML Workshop, USA, 2003.Google ScholarGoogle Scholar
  14. JBoss: http://www.jboss.org/ (06/01/2010).Google ScholarGoogle Scholar
  15. Khomh, F et al.. An exploratory study of the impact of code smells on software change-proneness. Proc 16th WCRE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kiczales, G., et al. Aspect-oriented programming. In Proc. of 11th ECOOP. LNCS, vol. 1241. Springer, Heidelberg. pp. 220--242, 1997.Google ScholarGoogle Scholar
  17. Kuleshov, E. Using ASM framework to implement common bytecode transformation patterns. In Proc. of 6th AOSD, ACM Press, 2007.Google ScholarGoogle Scholar
  18. Lanza, M.; Marinescu, R. Object-oriented metrics in practice. Springer- Verlag Berlin, Germany, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Macia, I.; Garcia, A.; Staa, A. Defining and applying detection strategies for aspect-oriented code smells. Proc. of 25th SBES, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Marinescu, R. Detection strategies: metrics-based rules for detecting design flaws. In Proc. of 20th ICSM, pp. 350--359, USA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Monteiro, M. P.; Fernandez, J. M. Towards a catalog of aspect-oriented refactorings. In Proc. of 4th AOSD, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. MuLATo, http://sourceforge.net/projects/mulato/ (3/08/2009)Google ScholarGoogle Scholar
  23. Murphy-Hill, E., Parnin, C., and Black A. How we refactor, and how we know it. In Proc. of 31st ICSE, USA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Narayanan, S et al. Use of AOP in J2EE application performance monitoring. In Proc. of 5th AOSD, ACM Press, Germany, 2006.Google ScholarGoogle Scholar
  25. Nechypurenko, A. et al. Application of aspect-based modeling and weaving for complexity reduction in development of automotive realtime embedded system. In Proc. of 6th AOSD, Canada, 2007.Google ScholarGoogle Scholar
  26. Piveta, E. K. et al. Detecting bad smells in AspectJ. Journal of Universal Computer Science, vol. 12, 2006.Google ScholarGoogle Scholar
  27. Ratiu, R. et al. Evolution-Enriched Detection of God Classes. In Proc. of the 2nd CAVIS. pp. 3--7. 2004.Google ScholarGoogle Scholar
  28. Sant'anna, C. et al. On the modularity of software architectures: A Concern-Driven measurement framework. In Proc. of ECSA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Sheskin, D. Handbook of Parametric and Nonparametric Statistical Procedures (fourth edition). Chapman & All, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Soares, S.; Laureano, E.; Borba, P. Implementing distribution and persistence aspects with AspectJ. In Proc. of 17th OOPSLA. 2002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Spring: http://www.springsource.org/ (08/01/2010).Google ScholarGoogle Scholar
  32. Srivist, K.; Muenchaisri, P. Bad-smell metrics for aspect-oriented software. In Proc. 6th ICIS, Canada, 2007.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. An exploratory study of code smells in evolving aspect-oriented systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        AOSD '11: Proceedings of the tenth international conference on Aspect-oriented software development
        March 2011
        326 pages
        ISBN:9781450306058
        DOI:10.1145/1960275
        • General Chair:
        • Paulo Borba,
        • Program Chair:
        • Shigeru Chiba

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 21 March 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate41of139submissions,29%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader