Skip to main content
Erschienen in: Empirical Software Engineering 4/2016

01.08.2016

Quantifying structural attributes of system decompositions in 28 feature-oriented software product lines

An exploratory study

verfasst von: Stefan Sobernig, Sven Apel, Sergiy Kolesnikov, Norbert Siegmund

Erschienen in: Empirical Software Engineering | Ausgabe 4/2016

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

A key idea of feature orientation is to decompose a software product line along the features it provides. Feature decomposition is orthogonal to object-oriented decomposition—it crosscuts the underlying package and class structure. It has been argued often that feature decomposition improves system structure by reducing coupling and by increasing cohesion. However, recent empirical findings suggest that this is not necessarily the case. In this exploratory, observational study, we investigate the decompositions of 28 feature-oriented software product lines into classes, features, and feature-specific class fragments. The product lines under investigation are implemented using the feature-oriented programming language Fuji. In particular, we quantify and compare the internal attributes import coupling and cohesion of the different product-line decompositions in a systematic, reproducible manner. For this purpose, we adopt three established software measures (e.g., coupling between units, CBU; internal-ratio unit dependency, IUD) as well as standard concentration statistics (e.g., Gini coefficient). In our study, we found that feature decomposition can be associated with higher levels of structural coupling in a product line than a decomposition into classes. Although coupling can be concentrated in very few features in most feature decompositions, there are not necessarily hot-spot features in all product lines. Interestingly, feature cohesion is not necessarily higher than class cohesion, whereas features are more equal in serving dependencies internally than classes of a product line. Our empirical study raises critical questions about alleged advantages of feature decomposition. At the same time, we demonstrate how our measurement approach of coupling and cohesion has potential to support static and dynamic analyses of software product lines (i.e., type checking and feature-interaction detection) by facilitating product sampling.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Fußnoten
1
http://​fosd.​net/​fuji/​, last accessed: 01.07.2014.
 
2
 
3
We report the variance in terms of the median absolute deviation from the median (MADM) using the ± notation along with the median value.
 
4
We apply a standard technique of outlier identification: modified z-scores (Iglewicz and Hoaglin 1993).
 
Literatur
Zurück zum Zitat Ajila S, Dumitrescu R (2007) Experimental use of code delta, code churn, and rate of change to understand software product line evolution. J Syst Softw 80(1):74–91CrossRef Ajila S, Dumitrescu R (2007) Experimental use of code delta, code churn, and rate of change to understand software product line evolution. J Syst Softw 80(1):74–91CrossRef
Zurück zum Zitat Apel S, Beyer D (2011) Feature cohesion in software product lines: an exploratory study. In: Proc. ICSE, pp 421–430 Apel S, Beyer D (2011) Feature cohesion in software product lines: an exploratory study. In: Proc. ICSE, pp 421–430
Zurück zum Zitat Apel S, Kästner C (2009) An overview of feature-oriented software development. J Object Technol 8(5):49–84CrossRef Apel S, Kästner C (2009) An overview of feature-oriented software development. J Object Technol 8(5):49–84CrossRef
Zurück zum Zitat Apel S, Leich T, Saake G (2008) Aspectual feature modules. IEEE Trans Softw Eng 34(2):162–180CrossRef Apel S, Leich T, Saake G (2008) Aspectual feature modules. IEEE Trans Softw Eng 34(2):162–180CrossRef
Zurück zum Zitat Apel S, Speidel H, Wendler P, von Rhein A, Beyer D (2011) Detection of feature interactions using feature-aware verification. In: Proc. ASE. IEEE CS, pp 372–375 Apel S, Speidel H, Wendler P, von Rhein A, Beyer D (2011) Detection of feature interactions using feature-aware verification. In: Proc. ASE. IEEE CS, pp 372–375
Zurück zum Zitat Apel S, Kolesnikov S, Liebig J, Kästner C, Kuhlemann M, Leich T (2012) Access control in feature-oriented programming. Sci Comput Program 77(3):174–187CrossRef Apel S, Kolesnikov S, Liebig J, Kästner C, Kuhlemann M, Leich T (2012) Access control in feature-oriented programming. Sci Comput Program 77(3):174–187CrossRef
Zurück zum Zitat Apel S, Batory D, Kästner C, Saake G (2013a) Feature-oriented software product lines: concepts and implementation. Springer Apel S, Batory D, Kästner C, Saake G (2013a) Feature-oriented software product lines: concepts and implementation. Springer
Zurück zum Zitat Apel S, Kästner C, Lengauer C (2013c) Language-independent and automated software composition: the FeatureHouse experience. IEEE Trans Softw Eng 39(1):63–79CrossRef Apel S, Kästner C, Lengauer C (2013c) Language-independent and automated software composition: the FeatureHouse experience. IEEE Trans Softw Eng 39(1):63–79CrossRef
Zurück zum Zitat Apel S, Kolesnikov SS, Siegmund N, Kästner C, Garvin B (2013d) Exploring feature interactions in the wild: the new feature-interaction challenge. In: Proc. FOSD. ACM, pp 1–8 Apel S, Kolesnikov SS, Siegmund N, Kästner C, Garvin B (2013d) Exploring feature interactions in the wild: the new feature-interaction challenge. In: Proc. FOSD. ACM, pp 1–8
Zurück zum Zitat Apel S, von Rhein A, Wendler P, Größlinger A, Beyer D (2013e) Strategies for product-line verification: case studies and experiments. In: Proc. ICSE. IEEE, pp 482–491 Apel S, von Rhein A, Wendler P, Größlinger A, Beyer D (2013e) Strategies for product-line verification: case studies and experiments. In: Proc. ICSE. IEEE, pp 482–491
Zurück zum Zitat Batory D, Sarvela J, Rauschmayer A (2004) Scaling step-wise refinement. IEEE Trans Softw Eng 30(6):355–371CrossRef Batory D, Sarvela J, Rauschmayer A (2004) Scaling step-wise refinement. IEEE Trans Softw Eng 30(6):355–371CrossRef
Zurück zum Zitat Berger T, Guo J (2013) Towards system analysis with variability model metrics. In: Proc. VaMoS. ACM, pp 23–23 Berger T, Guo J (2013) Towards system analysis with variability model metrics. In: Proc. VaMoS. ACM, pp 23–23
Zurück zum Zitat Bouwers E, Correia J, van Deursen A, Visser J (2011) Quantifying the analyzability of software architectures. In: Proc. WICSA. IEEE CS, pp 83–92 Bouwers E, Correia J, van Deursen A, Visser J (2011) Quantifying the analyzability of software architectures. In: Proc. WICSA. IEEE CS, pp 83–92
Zurück zum Zitat Briand L, Daly J, Wüst J (1998) A unified framework for cohesion measurement in object-oriented systems. Empir Softw Eng 3(1):65–117CrossRef Briand L, Daly J, Wüst J (1998) A unified framework for cohesion measurement in object-oriented systems. Empir Softw Eng 3(1):65–117CrossRef
Zurück zum Zitat Briand L, Daly J, Wüst J (1999) A unified framework for coupling measurement in object-oriented systems. IEEE Trans Softw Eng 25(1):91–121CrossRef Briand L, Daly J, Wüst J (1999) A unified framework for coupling measurement in object-oriented systems. IEEE Trans Softw Eng 25(1):91–121CrossRef
Zurück zum Zitat Burrows R, Ferrari FC, Garcia A, Taïani F (2010) An empirical evaluation of coupling metrics on aspect-oriented programs. In: Proc. WETSoM, ACM pp 53–58 Burrows R, Ferrari FC, Garcia A, Taïani F (2010) An empirical evaluation of coupling metrics on aspect-oriented programs. In: Proc. WETSoM, ACM pp 53–58
Zurück zum Zitat Clements P, Krueger C (2002) Point – counterpoint: being proactive pays off - eliminating the adoption. IEEE Software 19(4):28–31CrossRef Clements P, Krueger C (2002) Point – counterpoint: being proactive pays off - eliminating the adoption. IEEE Software 19(4):28–31CrossRef
Zurück zum Zitat Czarnecki K, Eisenecker U (2000) Generative programming – methods, tools, and applications, 6th edn. Addison-Wesley Czarnecki K, Eisenecker U (2000) Generative programming – methods, tools, and applications, 6th edn. Addison-Wesley
Zurück zum Zitat D’Ambros M, Lanza M, Robbes R (2010) An extensive comparison of bug prediction approaches. In: Proc. MSR, IEEE pp 31–41 D’Ambros M, Lanza M, Robbes R (2010) An extensive comparison of bug prediction approaches. In: Proc. MSR, IEEE pp 31–41
Zurück zum Zitat Eaddy M, Aho AV, Murphy GC (2007) Identifying, assigning, and quantifying crosscutting concerns. In: Proc. ACoM, IEEE CS Eaddy M, Aho AV, Murphy GC (2007) Identifying, assigning, and quantifying crosscutting concerns. In: Proc. ACoM, IEEE CS
Zurück zum Zitat Eaddy M, Aho A, Antoniol G, Gueheneuc Y (2008) CERBERUS: Tracing requirements to source code using information retrieval, dynamic analysis, and program analysis. In: Proc. ICPC, IEEE pp 53–62 Eaddy M, Aho A, Antoniol G, Gueheneuc Y (2008) CERBERUS: Tracing requirements to source code using information retrieval, dynamic analysis, and program analysis. In: Proc. ICPC, IEEE pp 53–62
Zurück zum Zitat Emam KE, Melo WL, Machado JC (2001) The prediction of faulty classes using object-oriented design metrics. J Syst Softw 56(1):63–75CrossRef Emam KE, Melo WL, Machado JC (2001) The prediction of faulty classes using object-oriented design metrics. J Syst Softw 56(1):63–75CrossRef
Zurück zum Zitat Ferreira K, Bigonha M, Bigonha R, Mendes L, Almeida H (2012) Identifying thresholds for object-oriented software metrics. J Syst Softw 85(2):244–257CrossRef Ferreira K, Bigonha M, Bigonha R, Mendes L, Almeida H (2012) Identifying thresholds for object-oriented software metrics. J Syst Softw 85(2):244–257CrossRef
Zurück zum Zitat Figueiredo E, Cacho N, Sant’Anna C, Monteiro M, Kulesza U, Garcia A, Soares S, Ferrari F, Khan S, Filho F, Dantas F (2008) Evolving software product lines with aspects: An empirical study on design stability. In: Proc. ICSE, ACM pp 261–270 Figueiredo E, Cacho N, Sant’Anna C, Monteiro M, Kulesza U, Garcia A, Soares S, Ferrari F, Khan S, Filho F, Dantas F (2008) Evolving software product lines with aspects: An empirical study on design stability. In: Proc. ICSE, ACM pp 261–270
Zurück zum Zitat Garvin B, Cohen M (2011) Feature interaction faults revisited: an exploratory study. In: Proc. ISSRE. IEEE, pp 90–99 Garvin B, Cohen M (2011) Feature interaction faults revisited: an exploratory study. In: Proc. ISSRE. IEEE, pp 90–99
Zurück zum Zitat Iglewicz B, Hoaglin DC (1993) How to detect and handle outliers, vol 16. ASQC Quality Press Iglewicz B, Hoaglin DC (1993) How to detect and handle outliers, vol 16. ASQC Quality Press
Zurück zum Zitat Kakwani N (1980) Income inequality and poverty. Oxford University Press Kakwani N (1980) Income inequality and poverty. Oxford University Press
Zurück zum Zitat Kästner C, Apel S, Ostermann K (2011) The road to feature modularity? In: Proc. FOSD. ACM, pp 5:1–5:8 Kästner C, Apel S, Ostermann K (2011) The road to feature modularity? In: Proc. FOSD. ACM, pp 5:1–5:8
Zurück zum Zitat Kästner C, Apel S, Thüm T, Saake G (2012) Type checking annotation-based product lines. ACM Trans Softw Eng Methodol 21(3):14:1–14:39CrossRef Kästner C, Apel S, Thüm T, Saake G (2012) Type checking annotation-based product lines. ACM Trans Softw Eng Methodol 21(3):14:1–14:39CrossRef
Zurück zum Zitat Kiczales G, Mezini M (2005) Aspect-oriented programming and modular reasoning. In: Proc. ICSE. ACM, pp 49–58 Kiczales G, Mezini M (2005) Aspect-oriented programming and modular reasoning. In: Proc. ICSE. ACM, pp 49–58
Zurück zum Zitat Kolesnikov S, Apel S, Siegmund N, Sobernig S, Kästner C, Senkaya S (2013a) Predicting quality attributes of software product lines using software and network measures and sampling. In: Proc. VaMoS. ACM, pp 25–29 Kolesnikov S, Apel S, Siegmund N, Sobernig S, Kästner C, Senkaya S (2013a) Predicting quality attributes of software product lines using software and network measures and sampling. In: Proc. VaMoS. ACM, pp 25–29
Zurück zum Zitat Kolesnikov S, von Rhein A, Hunsen C, Apel S (2013b) A comparison of product-based, feature-based, and family-based type checking. In: Proc. GPCE. ACM, pp 115–124 Kolesnikov S, von Rhein A, Hunsen C, Apel S (2013b) A comparison of product-based, feature-based, and family-based type checking. In: Proc. GPCE. ACM, pp 115–124
Zurück zum Zitat Liebig J, Apel S, Lengauer C, Kästner C, Schulze M (2010) An analysis of the variability in forty preprocessor-based software product lines. In: Proc. ICSE. ACM, pp 105–114 Liebig J, Apel S, Lengauer C, Kästner C, Schulze M (2010) An analysis of the variability in forty preprocessor-based software product lines. In: Proc. ICSE. ACM, pp 105–114
Zurück zum Zitat Lilienthal C (2009) Architectural complexity of large-scale software systems. In: Proc. CSMR. IEEE, pp 17–26 Lilienthal C (2009) Architectural complexity of large-scale software systems. In: Proc. CSMR. IEEE, pp 17–26
Zurück zum Zitat Lopez-Herrejon R, Apel S (2007) Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies. In: Proc. FASE. Springer pp 423–437 Lopez-Herrejon R, Apel S (2007) Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies. In: Proc. FASE. Springer pp 423–437
Zurück zum Zitat Lopez-Herrejon R, Batory D (2001) A standard problem for evaluating product-line methodologies. In: Proc. GCSE. Springer pp 10–24 Lopez-Herrejon R, Batory D (2001) A standard problem for evaluating product-line methodologies. In: Proc. GCSE. Springer pp 10–24
Zurück zum Zitat Louridas P, Spinellis D, Vlachos V (2008) Power laws in software. ACM Trans Softw Eng Methodol 18(1):2:1–2:26CrossRef Louridas P, Spinellis D, Vlachos V (2008) Power laws in software. ACM Trans Softw Eng Methodol 18(1):2:1–2:26CrossRef
Zurück zum Zitat Marchesi M, Pinna S, Serra N, Tuveri S (2004) Power laws in Smalltalk. In: Proc. ESUG joint event, ESUG Marchesi M, Pinna S, Serra N, Tuveri S (2004) Power laws in Smalltalk. In: Proc. ESUG joint event, ESUG
Zurück zum Zitat Nguyen H, Kästner C, Nguyen TN (2014) Exploring variability-aware execution for testing plugin-based web applications. In: Proc. ICSE. ACM, pp 907–918. doi:10.1145/2568225.2568300 Nguyen H, Kästner C, Nguyen TN (2014) Exploring variability-aware execution for testing plugin-based web applications. In: Proc. ICSE. ACM, pp 907–918. doi:10.​1145/​2568225.​2568300
Zurück zum Zitat Potanin A, Noble J, Frean M, Biddle R (2005) Scale-free geometry in OO programs. Comm ACM 48(5):99–103CrossRef Potanin A, Noble J, Frean M, Biddle R (2005) Scale-free geometry in OO programs. Comm ACM 48(5):99–103CrossRef
Zurück zum Zitat Revelle M, Gethers M, Poshyvanyk D (2011) Using structural and textual information to capture feature coupling in object-oriented software. Empir Softw Eng 16(6):773–811CrossRef Revelle M, Gethers M, Poshyvanyk D (2011) Using structural and textual information to capture feature coupling in object-oriented software. Empir Softw Eng 16(6):773–811CrossRef
Zurück zum Zitat Robillard M, Murphy G (2007) Representing concerns in source code. ACM Trans Softw Eng Methodol 16(1):3–38CrossRef Robillard M, Murphy G (2007) Representing concerns in source code. ACM Trans Softw Eng Methodol 16(1):3–38CrossRef
Zurück zum Zitat Sant’Anna C, Gracia A, Chavez C, Lucena C, von Staa A (2003) On the reuse and maintenance of aspect-oriented software: an assessment framework. In: Proc. BSSE Sant’Anna C, Gracia A, Chavez C, Lucena C, von Staa A (2003) On the reuse and maintenance of aspect-oriented software: an assessment framework. In: Proc. BSSE
Zurück zum Zitat Sarkar S, Kak A, Rama G (2008) Metrics for measuring the quality of modularization of large-scale object-oriented software. IEEE Trans Softw Eng 34(5):700–720CrossRef Sarkar S, Kak A, Rama G (2008) Metrics for measuring the quality of modularization of large-scale object-oriented software. IEEE Trans Softw Eng 34(5):700–720CrossRef
Zurück zum Zitat Shatnawi R, Li W, Swain J, Newman T (2010) Finding software metrics threshold values using ROC curves. J Softw Maint-Res Pr 22(1):1–16CrossRef Shatnawi R, Li W, Swain J, Newman T (2010) Finding software metrics threshold values using ROC curves. J Softw Maint-Res Pr 22(1):1–16CrossRef
Zurück zum Zitat Siegmund N, Rosenmüller M, Kästner C, Giarrusso P, Apel S, Kolesnikov S (2011) Scalable prediction of non-functional properties in software product lines. In: Proc. SPLC. IEEE, pp 160–169. doi:10.1109/SPLC.2011.20 Siegmund N, Rosenmüller M, Kästner C, Giarrusso P, Apel S, Kolesnikov S (2011) Scalable prediction of non-functional properties in software product lines. In: Proc. SPLC. IEEE, pp 160–169. doi:10.​1109/​SPLC.​2011.​20
Zurück zum Zitat Siegmund N, Kolesnikov S, Kästner C, Apel S, Batory D, Rosenmüller M, Saake G (2012) Predicting performance via automated feature-interaction detection. In: Proc. ICSE. IEEE, pp 167–177. doi:10.1109/ICSE.2012.6227196 Siegmund N, Kolesnikov S, Kästner C, Apel S, Batory D, Rosenmüller M, Saake G (2012) Predicting performance via automated feature-interaction detection. In: Proc. ICSE. IEEE, pp 167–177. doi:10.​1109/​ICSE.​2012.​6227196
Zurück zum Zitat Smaragdakis Y, Batory D (2002) Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs. ACM Trans Softw Eng Methodol 11(2):215–255. doi:10.1145/505145.505148 CrossRef Smaragdakis Y, Batory D (2002) Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs. ACM Trans Softw Eng Methodol 11(2):215–255. doi:10.​1145/​505145.​505148 CrossRef
Zurück zum Zitat Sobernig S, Apel S, Kolesnikov S, Siegmund N (2014) Quantifying structural attributes of system decompositions in 28 feature-oriented software product lines. Available at http://epub.wu.ac.at/id/eprint/4186, technical Reports / Institute for Information Systems and New Media (WU Vienna), 2014/01 Sobernig S, Apel S, Kolesnikov S, Siegmund N (2014) Quantifying structural attributes of system decompositions in 28 feature-oriented software product lines. Available at http://​epub.​wu.​ac.​at/​id/​eprint/​4186, technical Reports / Institute for Information Systems and New Media (WU Vienna), 2014/01
Zurück zum Zitat Stevens W, Myers G, Constantine L (1999) Structured design. IBM Syst J 38(2/3):231–256CrossRef Stevens W, Myers G, Constantine L (1999) Structured design. IBM Syst J 38(2/3):231–256CrossRef
Zurück zum Zitat Thüm T, Apel S, Kästner C, Schaefer I, Saake G (2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv 47(1):6:1–6:45. doi:10.1145/2580950 CrossRef Thüm T, Apel S, Kästner C, Schaefer I, Saake G (2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv 47(1):6:1–6:45. doi:10.​1145/​2580950 CrossRef
Zurück zum Zitat Vasilescu B, Serebrenik A, van den Brand M (2011) You can’t control the unfamiliar: a study on the relations between aggregation techniques for software metrics. In: Proc. ICSM. IEEE, pp 313–322. doi:10.1109/ICSM.2011.6080798 Vasilescu B, Serebrenik A, van den Brand M (2011) You can’t control the unfamiliar: a study on the relations between aggregation techniques for software metrics. In: Proc. ICSM. IEEE, pp 313–322. doi:10.​1109/​ICSM.​2011.​6080798
Metadaten
Titel
Quantifying structural attributes of system decompositions in 28 feature-oriented software product lines
An exploratory study
verfasst von
Stefan Sobernig
Sven Apel
Sergiy Kolesnikov
Norbert Siegmund
Publikationsdatum
01.08.2016
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 4/2016
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-014-9336-6

Weitere Artikel der Ausgabe 4/2016

Empirical Software Engineering 4/2016 Zur Ausgabe

Premium Partner