skip to main content
10.1145/1368088.1368124acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Evolving software product lines with aspects: an empirical study on design stability

Authors Info & Claims
Published:10 May 2008Publication History

ABSTRACT

Software product lines (SPLs) enable modular, large-scale reuse through a software architecture addressing multiple core and varying features. To reap the benefits of SPLs, their designs need to be stable. Design stability encompasses the sustenance of the product line's modularity properties in the presence of changes to both the core and varying features. It is usually assumed that aspect-oriented programming promotes better modularity and changeability of product lines than conventional variability mechanisms, such as conditional compilation. However, there is no empirical evidence on its efficacy to prolong design stability of SPLs through realistic development scenarios. This paper reports a quantitative study that evolves two SPLs to assess various design stability facets of their aspect-oriented implementations. Our investigation focused upon a multi-perspective analysis of the evolving product lines in terms of modularity, change propagation, and feature dependency. We have identified a number of scenarios which positively or negatively affect the architecture stability of aspectual SPLs.

References

  1. Alves, V. et al. Extracting and Evolving code in Product Lines with Aspect-Oriented Programming. Trans. on AOSD, pp. 118--144, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alves, V. Implementing Software Product Line Adoption Strategies, Ph.D. thesis. Federal University of Pernambuco, March 2007.Google ScholarGoogle Scholar
  3. Apel, S. et al. Aspectual Mixin Layers: Aspects and Features in Concert. Proceedings of ICSE'06, Shanghai, China, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Apel, S. and Batory, D. When to Use Features and Aspects? A Case Study. Proceedings of GPCE, Portland, Oregon, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Buschmann, F. et al. Pattern-Oriented Software Architecture: a System of Patterns. John Wiley & Sons, Inc. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cacho, N. et al. EJFlow: Taming Exceptional Control Flow in Aspect-Oriented Programming. Proc. of AOSD.08, Belgium, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cacho, N. et al. Composing Design Patterns: A Scalability Study of Aspect-Oriented Programming. Proc. of AOSD, Germany, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chidamber, S. and Kemerer, C. A Metrics Suite for Object Oriented Design. IEEE Trans. on Soft. Eng. (TSE), pp. 476--493, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Clements, P. and Northrop, L. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Evolving Software Product Lines with Aspects. http://www.lancs.ac.uk/postgrad/figueire/spl/icse08/Google ScholarGoogle Scholar
  11. Figueiredo, E. et al. On the Maintainability of Aspect-Oriented Software: A Concern-Oriented Measurement Framework. Proc. of European Conf. on Soft. Maint. and Reeng. (CSMR). Athens, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Figueiredo, E., Garcia, A., and Lucena, C. AJATO: An AspectJ Assessment Tool. Proceedings of ECOOP (demo), Nantes, 2006.Google ScholarGoogle Scholar
  13. Filho, F. et al. Exceptions and Aspects: The Devil is in the Details. Proc. of Int'l Symp. on Foundations of Software Eng. (FSE), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Garcia, A. et al. Modularizing Design Patterns with Aspects: A Quantitative Study. Transactions on AOSD, 1, pp. 36--74, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Greenwood, P. et al. On the Impact of Aspectual Decompositions on Design Stability: An Empirical Study. Proc. of ECOOP, Berlin, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kästner, C., Apel, S. and Batory, D. A Case Study Implementing Features using AspectJ. Proc. of Int'l SPL Conference (SPLC), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kiczales, G. et al. Aspect-Oriented Programming. Proc. of ECOOP, LNCS 1241, Springer, pp. 220--242, 1997.Google ScholarGoogle Scholar
  18. Krueger, C. Easing the Transition to Software Mass Customization. Proc. of 4th Int'l workshop on Software Product Family Engineering, pp. 282--293, Bilbao, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kulesza, U. et al. Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming. Proceedings of Int'l Conference on Software Reuse (ICSR), Torino, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Meyer, B. Object-Oriented Software Construction, 1st ed. Prentice-Hall, Englewood Cliffs, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Mezini, M. and Ostermann, K. Conquering Aspects with Caesar. Proc. of AOSD, pp. 90--99, Boston, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mezini, M. and Ostermann, K. Variability Management with Feature-Oriented Programming and Aspects. Proceedings of FSE, pp.127--136, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Pohl, K., Böckle, G., and Linden, F. J. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Robillard, M. and Murphy, G. Representing concerns in source code. Trans. on Software Eng. and Methodology (TOSEM), 16(1), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Sant'Anna, C. et al. On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. Proc. of Brazilian Symposium. on Software Engineering (SBES), pp. 19--34, 2003.Google ScholarGoogle Scholar
  26. Smaragdakis, Y. and Batory, D. Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM TOSEM, 11(2), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. The AspectJ Project. http://eclipse.org/aspectj/.Google ScholarGoogle Scholar
  28. Yau, S. and Collofello, S. Design Stability Measures for Software Maintenance. Trans. on Softw. Engineering, 11(9), p. 849--856, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Young, T. Using AspectJ to Build a Software Product Line for Mobile Devices. MSc dissertation, Univ. of British Columbia, 2005.Google ScholarGoogle Scholar
  30. Young, T. and Murphy, G. Using AspectJ to Build a Product Line for Mobile Devices. Proceedings of AOSD (demo), Chicago, 2005.Google ScholarGoogle Scholar

Index Terms

  1. Evolving software product lines with aspects: an empirical study on design stability

      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
        ICSE '08: Proceedings of the 30th international conference on Software engineering
        May 2008
        558 pages
        ISBN:9781605580791
        DOI:10.1145/1368088

        Copyright © 2008 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: 10 May 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        ICSE '08 Paper Acceptance Rate56of370submissions,15%Overall Acceptance Rate276of1,856submissions,15%

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader