skip to main content
10.1145/2578128.2578237acmotherconferencesArticle/Chapter ViewAbstractPublication PagesdasccaConference Proceedingsconference-collections
research-article

Architectural bad smells in software product lines: an exploratory study

Authors Info & Claims
Published:07 April 2014Publication History

ABSTRACT

The Software Product Lines (SPL) paradigm has arisen for taking advantage of existing common aspects between different products, while also considering product-specific features. The architecture of a SPL comprises a model that will result in product architectures, and may include solutions leading to bad (architectural) design. One way to assess such design decisions is through the identification of architectural bad smells, which are properties that prejudice the overall software quality, but are not necessarily faulty or errant. In this paper, we conduct an exploratory study that aims at characterizing bad smells in the context of product line architectures. We analyzed an open source SPL project and extracted its architecture to investigate the occurrence or absence of four smells initially studied in single systems. In addition, we propose a smell specific to the SPL context and discuss possible causes and implications of having those smells in the architecture of a product line. The results indicate that the granularity of the SPL features may influence on the occurrence of smells.

References

  1. S. Apel and D. Beyer. Feature cohesion in software product lines: an exploratory study. In Proceedings of the 33rd International Conference on Software Engineering, ICSE '11, pages 421--430, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Arcoverde, I. Macia, A. Garcia, and A. von Staa. Automatically detecting architecturally-relevant code anomalies. In Recommendation Systems for Software Engineering (RSSE), 2012 Third International Workshop on, pages 90--91, june 2012.Google ScholarGoogle ScholarCross RefCross Ref
  3. W. J. Brown, R. C. Malveau, H. W. McCormick, III, and T. J. Mowbray. AntiPatterns: refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc., New York, NY, USA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Feigenspan, C. Kästner, M. Frisch, R. Dachselt, and S. Apel. Visual support for understanding product lines. In The 18th IEEE International Conference on Program Comprehension, ICPC 2010, Braga, Minho, Portugal, June 30-July 2, 2010, pages 34--35, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Garcia, D. Popescu, G. Edwards, and N. Medvidovic. Toward a catalogue of architectural bad smells. In Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems, QoSA '09, pages 146--162, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute, November 1990.Google ScholarGoogle Scholar
  8. R. Kazman, M. Klein, and P. Clements. Atam: Method for architecture evaluation. Technical Report CMU/SEI-2000-TR-004, Carnegie Mellon Uiversity, Software Engineering Institute, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  9. M. Lippert and S. Roock. Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Wiley, 1 edition, May 2006.Google ScholarGoogle Scholar
  10. I. Macia, J. Garcia, D. Popescu, A. Garcia, N. Medvidovic, and A. von Staa. Are automatically-detected code anomalies relevant to architectural modularity?: an exploratory analysis of evolving systems. In Proceedings of the 11th annual international conference on Aspect-oriented Software Development, AOSD '12, pages 167--178, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Pohl, G. Böckle, and F. J. v. d. Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Rosik, A. Le Gear, J. Buckley, M. A. Babar, and D. Connolly. Assessing architectural drift in commercial software development: a case study. Softw. Pract. Exper., 41(1):63--86, Jan. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. Thüm, C. Kästner, F. Benduhn, J. Meinicke, G. Saake, and T. Leich. Featureide: An extensible framework for feature-oriented software development. Science of Computer Programming, 2012. to appear; accepted 7 Jun 2012.Google ScholarGoogle Scholar
  14. J. van Gurp and J. Bosch. Design erosion: problems and causes. J. Syst. Softw., 61(2):105--119, Mar. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Architectural bad smells in software product lines: an exploratory study

        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 Other conferences
          WICSA '14 Companion: Proceedings of the WICSA 2014 Companion Volume
          April 2014
          103 pages
          ISBN:9781450325233
          DOI:10.1145/2578128
          • General Chair:
          • Anna Liu,
          • Program Chairs:
          • John Klein,
          • Antony Tang

          Copyright © 2014 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: 7 April 2014

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader