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

Authors Info & Claims
Published:02 September 2012Publication 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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. FeatureCommander. http://wwwiti.cs.uni-magdeburg.de/~feigensp/xenomai/. Retrieved on May 25th, 2012.Google ScholarGoogle Scholar
  4. The FreeRTOS project. http://www.freertos.org/.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. Kästner, "Virtual separation of concerns: Toward preprocessors 2.0," Ph.D. dissertation, 2010.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. D. McGregor, "The evolution of product line assets," Tech. Rep., 2003.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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) Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Treeviz. http://www.randelshofer.ch/treeviz/.Google ScholarGoogle Scholar
  23. TypeChef Project. http://ckaestne.github.com/TypeChef/.Google ScholarGoogle Scholar
  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).Google ScholarGoogle Scholar

Index Terms

  1. Code-based variability model extraction for software product line improvement

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

              Copyright © 2012 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: 2 September 2012

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate167of463submissions,36%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader