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

Feature cohesion in software product lines: an exploratory study

Published: 21 May 2011 Publication History

Abstract

Software product lines gain momentum in research and industry. Many product-line approaches use features as a central abstraction mechanism. Feature-oriented software development aims at encapsulating features in cohesive units to support program comprehension, variability, and reuse. Surprisingly, not much is known about the characteristics of cohesion in feature-oriented product lines, although proper cohesion is of special interest in product-line engineering due to its focus on variability and reuse. To fill this gap, we conduct an exploratory study on forty software product lines of different sizes and domains. A distinguishing property of our approach is that we use both classic software measures and novel measures that are based on distances in clustering layouts, which can be used also for visual exploration of product-line architectures. This way, we can draw a holistic picture of feature cohesion. In our exploratory study, we found several interesting correlations (e.g., between development process and feature cohesion) and we discuss insights and perspectives of investigating feature cohesion (e.g., regarding feature interfaces and programming style).

References

[1]
S. Apel and C. Kästner. An Overview of Feature-Oriented Software Development. J. Object Technology (JOT), 8(5):49--84, 2009.
[2]
S. Apel, C. Kästner, and C. Lengauer. FeatureHouse: Language-Independent, Automated Software Composition. In Proc. ICSE, pages 221--231. IEEE, 2009.
[3]
S. Apel, T. Leich, and G. Saake. Aspectual Feature Modules. IEEE Trans. Softw. Eng., 34(2):162--180, 2008.
[4]
D. Batory, J. Liu, and J. Sarvela. Refinements and Multi-Dimensional Separation of Concerns. In Proc. FSE, pages 48--57. ACM, 2003.
[5]
D. Batory, J. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Softw. Eng., 30(6):355--371, 2004.
[6]
D. Beyer. Co-Change Visualization Applied to PostgreSQL and ArgoUML. In Proc. MSR, pages 165--166. ACM, 2006.
[7]
D. Beyer. CCVISU: Automatic Visual Software Decomposition. In Proc. ICSE, pages 967--968. ACM, 2008.
[8]
D. Beyer and A. Fararooy. CHECKDEP: A Tool for Tracking Software Dependencies. In Proc. ICPC, pages 42--43. IEEE, 2010.
[9]
D. Beyer and A. Fararooy. A Simple and Effective Measure for Complex Low-Level Dependencies. In Proc. ICPC, pages 80--83. IEEE, 2010.
[10]
D. Beyer and A. Noack. Clustering Software Artifacts Based on Frequent Common Changes. In Proc. IWPC, pages 259--268. IEEE, 2005.
[11]
L. Briand, J. Daly, and J Wüst. A Unified Framework for Cohesion Measurement. In Proc. METRICS, pages 43--53. IEEE, 1997.
[12]
S. Chang, H. La, and S. Kim. Key Issues and Metrics for Evaluating Product Line Architectures. In Proc. SEKE, pages 212--219, 2006.
[13]
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.
[14]
E. Figueiredo, N. Cacho, C. Sant'Anna, M. Monteiro, U. Kulesza, A. Garcia, S. Soares, F. Ferrari, S. Khan, F. Filho, and F. Dantas. Evolving Software Product Lines with Aspects: An Empirical Study on Design Stability. In Proc. ICSE, pages 261--270. ACM, 2008.
[15]
J. Her, J. Kim, S. Oh, S. Rhew, and S. Kim. A Framework for Evaluating Reusability of Core Asset in Product Line Engineering. Information and Software Technology, 49(7):740--760, 2007.
[16]
D. Hutchins. Pure Subtype Systems: A Type Theory for Extensible Software. PhD thesis, School of Informatics, University of Edinburgh, 2009.
[17]
K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-Oriented Domain Analysis (FODA) - Feasibility Study. Technical Report Carnegie Mellon University/SEI-90-TR-21, SEI, Carnegie Mellon University, 1990.
[18]
C. Kästner, S. Apel, and M. Kuhlemann. Granularity in Software Product Lines. In Proc. ICSE, pages 311--320. ACM, 2008.
[19]
C. Kästner, S. Apel, and M. Kuhlemann. A Model of Refactoring Physically and Virtually Separated Features. In Proc. GPCE, pages 157--166. ACM, 2009.
[20]
C. Kästner, S. Apel, S. ur Rahman, M. Rosenmüller, D. Batory, and G. Saake. On the Impact of the Optional Feature Problem: Analysis and Case Studies. In Proc. SPLC, pages 181--190. SEI, 2009.
[21]
J. Liebig, S. Apel, C. Lengauer, C. Kästner, and M. Schulze. An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines. In Proc. ICSE, pages 105--114. ACM, 2010.
[22]
R. Lopez-Herrejon, D. Batory, and W. Cook. Evaluating Support for Features in Advanced Modularization Technologies. In Proc. ECOOP, LNCS 3586, pages 169--194. Springer, 2005.
[23]
A. Noack. Energy Models for Graph Clustering. J. Graph Algorithms Appl., 11(2):453--480, 2007.
[24]
D. Parnas. On the Criteria to be Used in Decomposing Systems into Modules. Comm. ACM, 15(12):1053--1058, 1972.
[25]
M. Rosenmüller, S. Apel, T. Leich, and G. Saake. Tailor-Made Data Management for Embedded Systems: A Case Study on Berkeley DB. Data & Knowledge Engineering, 68(12):1493--1512, 2009.
[26]
W. Stevens, G. Myers, and L. Constantine. Structured Design. IBM Systems J., 13(2):115--139, 1974.
[27]
P. Tarr, H. Ossher, W. Harrison, and S. Sutton, Jr. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In Proc. ICSE, pages 107--119. IEEE, 1999.
[28]
M. Torgersen. The Expression Problem Revisited. In Proc. ECOOP, LNCS 3086, pages 123--143. Springer, 2004.
[29]
A. van der Hoek, E. Dincel, and N. Medvidovic. Using Service Utilization Metrics to Assess the Structure of Product Line Architectures. In Proc. METRICS, pages 298--308. IEEE, 2003.
[30]
J. Zhao and B. Xu. Measuring Aspect Cohesion. In Proc. FASE, LNCS 2984, pages 54--68. Springer, 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '11: Proceedings of the 33rd International Conference on Software Engineering
May 2011
1258 pages
ISBN:9781450304450
DOI:10.1145/1985793
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 May 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. feature cohesion
  2. feature-oriented software development
  3. featurevisu
  4. software product lines
  5. visual clustering

Qualifiers

  • Research-article

Conference

ICSE11
Sponsor:
ICSE11: International Conference on Software Engineering
May 21 - 28, 2011
HI, Waikiki, Honolulu, USA

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media