Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2364412.2364428acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Code-based variability model extraction for software product line improvement

Published: 02 September 2012 Publication History

Abstract

Successful Software Product Lines (SPLs) evolve over time. However, one practical problem is that during SPL evolution the core assets, especially the code, tend to become complicated and difficult to understand, use, and maintain. Typically, more and more problems arise over time with implicit or already lost adaptation knowledge about the interdependencies of the different system variants and the supported variability. In this paper, we present a model-based SPL improvement process that analyzes existing large-scale SPL reuse infrastructure to identify improvement potential with respective metrics. Since Conditional Compilation (CC) is one of the most widely used mechanisms to implement variability, we parse variability-related facts from preprocessor code. Then we automatically extract an implementation variability model, including product configuration and variation points that are structured in a hierarchical variability tree. The extraction process is presented with concrete measurement results from an industrial case study.

References

[1]
J. M. Cem, C. Fuss, R. Zimmermann, and I. Aktas, "Model-driven support for source code variability in automotive software engineering," 7. Workshop Automotive Software Engineering (ASE 09), vol. Lecture Notes in Informatics (LNI), 2009.
[2]
S. Duszynski, J. Knodel, and M. Becker, "Analyzing the source code of multiple software variants for reuse potential," Reverse Engineering, Working Conference on, vol. 0, pp. 303--307, 2011.
[3]
FeatureCommander. http://wwwiti.cs.uni-magdeburg.de/~feigensp/xenomai/. Retrieved on May 25th, 2012.
[4]
The FreeRTOS project. http://www.freertos.org/.
[5]
J. Galindo, D. Benavides, and S. Segura, "Debian packages repositories as software product line models. towards automated analysis," in Proceedings of the 1st International Workshop on Automated Configuration and Tailoring of Applications (ACoTA), Sep. 2010, pp. 29--34.
[6]
C. Kästner, S. Apel, and M. Kuhlemann, "Granularity in software product lines," in Proceedings of the 30th international conference on Software engineering, ser. ICSE '08. New York, NY, USA: ACM, 2008, pp. 311--320.
[7]
C. Kästner, "Virtual separation of concerns: Toward preprocessors 2.0," Ph.D. dissertation, 2010.
[8]
C. Kästner, P. G. Giarrusso, and K. Ostermann, "Partial preprocessing c code for variability analysis," in Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems, ser. VaMoS '11. New York, NY, USA: ACM, 2011, pp. 127--136.
[9]
C. W. Krueger, "New Methods behind a New Generation of Software Product Line Successes", In K. C. Kang, V. Sugumaran, and S. Park, "Applied Software Product Line Engineering", Auerbach Publications, 2010, pp. 39--60.
[10]
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 Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ser. ICSE '10. New York, NY, USA: ACM, 2010, pp. 105--114.
[11]
J. Liebig, C. Kästner, and S. Apel, "Analyzing the discipline of preprocessor annotations in 30 million lines of c code," in Proceedings of the tenth international conference on Aspect-oriented software development, ser. AOSD '11. New York, NY, USA: ACM, 2011, pp. 191--202.
[12]
A. Lozano, "An overview of techniques for detecting software variability concepts in source code," in ER Workshops, ser. Lecture Notes in Computer Science, O. D. Troyer, C. B. Medeiros, R. Billen, P. Hallot, A. Simitsis, and H. V. Mingroot, Eds., vol. 6999. Springer, 2011, pp. 141--150.
[13]
J. D. McGregor, "The evolution of product line assets," Tech. Rep., 2003.
[14]
G. C. Murphy, D. Notkin, and K. J. Sullivan, "Software reflexion models: Bridging the gap between design and implementation," IEEE Trans. Softw. Eng., vol. 27, no. 4, pp. 364--380, Apr. 2001.
[15]
T. Patzke, M. Becker, M. Steffens, K. Sierszecki, J. E. Savolainen, T. Fogdal, "Identifying Improvement Potential in Evolving Product Line Infrastructures: 3 Case Studies," In Proceedings of the Software Product Line Conference, ser. SPLC'12,. Brazil, September 2012. (To appear)
[16]
S. She, R. Lotufo, T. Berger, A. Wkasowski, and K. Czarnecki, "Reverse engineering feature models," in Proceedings of the 33rd International Conference on Software Engineering, ser. ICSE '11. New York, NY, USA: ACM, 2011, pp. 461--470.
[17]
Sincero, R. Tartler, D. Lohmann, and W. S. Preikschat, "Efficient extraction and analysis of preprocessor-based variability," SIGPLAN Not., vol. 46, no. 2, pp. 33--42, Oct. 2010.
[18]
van Solingen, R., Basili, V. R., Caldiera, G., and Rombach, H. D, "Goal Question Metric (GQM) Approach,". In Marciniak, J. J. (Ed.): Encyclopedia of Software Engineering (2nd Ed.), John Wiley & Sons: 578--583, 2002.
[19]
H. Spencer and G. Collyer, "#ifdef considered harmful, or portability experience with C News," in USENIX Summer Technical Conference, Jun. 1992, pp. 185--197.
[20]
M. Svahnberg and J. Bosch, "Evolution in software product lines: Two cases," Journal of Software Maintenance, vol. 11, no. 6, pp. 391--422, Nov. 1999.
[21]
R. Tartler, J. Sincero, W. S. Preikschat, and D. Lohmann, "Dead or alive: finding zombie features in the linux kernel," in Proceedings of the First International Workshop on Feature-Oriented Software Development, ser. FOSD '09. New York, NY, USA: ACM, 2009, pp. 81--86.
[22]
Treeviz. http://www.randelshofer.ch/treeviz/.
[23]
TypeChef Project. http://ckaestne.github.com/TypeChef/.
[24]
Bo Zhang. "Extraction and Improvement of Conditionally Compiled Product Line Code," In Proceedings of the International Conference on Program Comprehension, ser. ICPC'12, Germany, June 2012. (To appear).

Cited By

View all
  • (2024)Should I Bother? Fast Patch Filtering for Statically-Configured Software VariantsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672585(12-23)Online publication date: 2-Sep-2024
  • (2021)Lightweight, semi-automatic variability extraction: a case study on scientific computingEmpirical Software Engineering10.1007/s10664-020-09922-826:2Online publication date: 27-Feb-2021
  • (2019)An Industrial Case Study for Adopting Software Product Lines in Automotive IndustryProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342409(183-190)Online publication date: 9-Sep-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 2
September 2012
287 pages
ISBN:9781450310956
DOI:10.1145/2364412
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

  • Pure-Systems: Pure-Systems GmbH
  • Petrobras: Petróleo Brasileiro S/A
  • SEBRAE: Serviço Brasileiro de Apoio às Micro E Pequenas Empresas
  • FAPESB: Fundação de Amparo à Pesquisa do Estado da Bahia
  • Hitachi
  • INES: National Institute of Science and Technology for Software Engineering
  • IEEE: Institute of Electrical and Electronics Engineers
  • Software Eng Inst: Software Engineering Institute
  • Biglever: BigLever Software, Inc.
  • CAPES: Brazilian Higher Education Funding Council

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. conditional compilation
  2. software product line maintenance
  3. variability model

Qualifiers

  • Research-article

Conference

SPLC - Vol. II
Sponsor:
  • Pure-Systems
  • Petrobras
  • SEBRAE
  • FAPESB
  • INES
  • IEEE
  • Software Eng Inst
  • Biglever
  • CAPES

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Should I Bother? Fast Patch Filtering for Statically-Configured Software VariantsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672585(12-23)Online publication date: 2-Sep-2024
  • (2021)Lightweight, semi-automatic variability extraction: a case study on scientific computingEmpirical Software Engineering10.1007/s10664-020-09922-826:2Online publication date: 27-Feb-2021
  • (2019)An Industrial Case Study for Adopting Software Product Lines in Automotive IndustryProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342409(183-190)Online publication date: 9-Sep-2019
  • (2018)Reverse engineering variability in an industrial product lineProceedings of the 22nd International Systems and Software Product Line Conference - Volume 110.1145/3233027.3233047(215-225)Online publication date: 10-Sep-2018
  • (2018)A Systematic Reuse-Based Approach for Customized Cloned Variants2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC)10.1109/QUATIC.2018.00051(287-292)Online publication date: Sep-2018
  • (2017)Automated Repairing of Variability ModelsProceedings of the 21st International Systems and Software Product Line Conference - Volume A10.1145/3106195.3106206(9-18)Online publication date: 25-Sep-2017
  • (2015)Uncovering Variability Models for Software Ecosystems from Multi-Repository StructuresProceedings of the 9th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/2701319.2701333(103-108)Online publication date: 21-Jan-2015
  • (2014)Mining configuration constraints: static analyses and empirical resultsProceedings of the 36th International Conference on Software Engineering10.1145/2568225.2568283(140-151)Online publication date: 31-May-2014
  • (2013)Variability evolution and erosion in industrial product linesProceedings of the 17th International Software Product Line Conference10.1145/2491627.2491645(168-177)Online publication date: 26-Aug-2013
  • (2013)Mining complex feature correlations from software product line configurationsProceedings of the 7th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/2430502.2430529(1-7)Online publication date: 23-Jan-2013
  • Show More Cited By

View Options

Get Access

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