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

Extracting software product lines: a cost estimation perspective

Published:16 September 2016Publication History

ABSTRACT

Companies are often forced to customize their software products. Thus, a common practice is to clone and adapt existing systems to new customer requirements. With the extractive approach, those derived variants can be migrated into a software product line. However, changing to a new development process is risky and may result in unnecessary costs. Therefore, companies apply cost estimations to predict whether another development approach is beneficial. Existing cost models for software-product-line engineering focus on development from scratch. Contrarily, the extractive approach is more common in practice but specialized models are missing. Thus, in this work we focus on product-line extraction from a set of legacy systems. We i) describe according cost factors, ii) put them in context with the development process and cost curves, and iii) identify open challenges in product-line economics. This way, our work supports cost estimations for the extractive approach and provides a basis for further research.

References

  1. M. S. Ali, M. A. Babar, and K. Schmid. A Comparative Survey of Economic Models for Software Product Lines. In SEAA, pages 275--278. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel, D. Batory, C. Kästner, and G. Saake. Feature-Oriented Software Product Lines. Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. W. K. G. Assunção and S. R. Vergilio. Feature Location for Software Product Line Migration: A Mapping Study. In SPLC, pages 52--59. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Berger, R. Rublack, D. Nair, J. M. Atlee, M. Becker, K. Czarnecki, and A. Wąsowski. A Survey of Variability Modeling in Industrial Practice. In VaMoS, pages 7:1--7:8. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. J. Biggerstaff, B. G. Mitbander, and D. Webster. The Concept Assignment Problem in Program Understanding. In ICSE, pages 482--498. IEEE, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Böckle, J. B. Muñoz, P. Knauber, C. W. Krueger, J. C. S. do Prado Leite, F. J. van der Linden, L. M. Northrop, M. Stark, and D. M. Weiss. Adopting and Institutionalizing a Product Line Culture. In G. J. Chastek, editor, SPLC, pages 49--59. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. Böckle, P. C. Clements, J. D. McGregor, D. Muthig, and K. Schmid. Calculating ROI for Software Product Lines. IEEE Softw., 21(3):23--32, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Böckle, P. C. Clements, J. D. McGregor, D. Muthig, and K. Schmid. A Cost Model for Software Product Lines. In F. J. van der Linden, editor, PFE, pages 310--316. Springer, 2004.Google ScholarGoogle Scholar
  9. B. W. Boehm. Software Engineering Economics. IEEE Trans. Softw. Eng., SE-10(1):4--21, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. W. Boehm, A. W. Brown, R. Madachy, and Y. Yang. A Software Product Line Life Cycle Cost Estimation Model. In ISESE, pages 156--164. IEEE, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. F. Bolger and G. Wright. Assessing the Quality of Expert Judgment: Issues and Analysis. Decis. Support Syst., 11:1--24, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. C. Clements and C. W. Krueger. Point / Counterpoint: Being Proactive Pays Off / Eliminating the Adoption Barrier. IEEE Softw., 19(4):28--31, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. C. Clements and L. M. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2006.Google ScholarGoogle Scholar
  14. P. C. Clements, J. D. McGregor, and S. G. Cohen. The Structured Intuitive Model for Product Line Economics (SIMPLE). Technical Report CMU/SEI-2005-TR-003, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 2005.Google ScholarGoogle Scholar
  15. S. G. Cohen. Predicting When Product Line Investment Pays. Technical Report CMU/SEI-2003-TN-017, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 2003.Google ScholarGoogle Scholar
  16. K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Deelstra, M. Sinnema, and J. Bosch. Product Derivation in Software Product Families: A Case Study. J. Syst. Software, 74(2):173--194, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature Location in Source Code: A Taxonomy and Survey. J. Softw. Evol. and Proc., 25(1):53--95, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  19. Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. An Exploratory Study of Cloning in Industrial Software Product Lines. In CSMR, pages 25--34. IEEE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Duszynski, J. Knodel, and M. Becker. Analyzing the Source Code of Multiple Software Variants for Reuse Potential. In WCRE, pages 303--307. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. W. Fenske and S. Schulze. Code Smells Revisited: A Variability Perspective. In VaMoS, pages 3--10. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. W. Fenske, T. Thüm, and G. Saake. A Taxonomy of Software Product Line Reengineering. In VaMoS, pages 4:1--4:8. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Fischer, L. Linsbauer, R. E. Lopez-Herrejon, and A. Egyed. Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants. In ICSME, pages 391--400. IEEE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. Gacek, Cristina amd Knauber, K. Schmid, and P. C. Clements. Successful Software Product Line Development in a Small Organization: A Case Study. Technical Report 013.01/E, Fraunhofer IESE, Kaiserslautern, Germany, 2001.Google ScholarGoogle Scholar
  25. R. Heradio, D. Fernandez-Amoros, J. A. Cerrada, and I. Abad. A Literature Review on Feature Diagram Product Counting and its Usage in Software Product Line Economic Models. Int. J. Soft. Eng. Knowl. Eng., 23(8):1177--1204, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  26. M. Jørgensen. A Review of Studies on Expert Estimation of Software Development Effort. J. Syst. Software, 70(1):37--60, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Jørgensen. Forecasting of Software Development Work Effort: Evidence on Expert Judgement and Formal Models. Int. J. Forecast., 23(3):449--462, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  28. M. Jørgensen and M. Shepperd. A Systematic Review of Software Development Cost Estimation Studies. IEEE Trans. Softw. Eng., 33(1):33--53, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Jørgensen, B. W. Boehm, and S. Rifkin. Software Development Effort Estimation: Formal Models or Expert Judgment? IEEE Softw., 26(2):14--19, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C. Kästner, A. Dreiling, and K. Ostermann. Variability Mining: Consistent Semi-Automatic Detection of Product-Line Features. IEEE Trans. Softw. Eng., 40(1):67--82, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Khurum, T. Gorschek, and K. Pettersson. Systematic Review of Papers About Economic Solutions for Product Lines. In MESPUL, pages 277--284. IEEE, 2008.Google ScholarGoogle Scholar
  32. P. Knauber, D. Muthig, K. Schmid, and T. Widen. Applying Product Line Concepts in Small and Medium-Sized Companies. IEEE Softw., 17(5):88--95, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. P. Knauber, J. Bermejo, G. Böckle, J. C. S. do Prado Leite, F. J. van der Linden, L. M. Northrop, M. Stark, and D. M. Weiss. Quantifying Product Line Benefits. In F. J. van der Linden, editor, PFE, pages 155--163. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. H. Koziolek, T. Goldschmidt, T. de Gooijer, D. Domis, S. Sehestedt, T. Gamer, and M. Aleksy. Assessing Software Product Line Potential: An Exploratory Industrial Case Study. Empir. Software Eng., pages 1--38, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. C. W. Krueger. Software Reuse. ACM Comput. Surv., 24(2):131--183, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. C. W. Krueger. Easing the Transition to Software Mass Customization. In F. J. van der Linden, editor, PFE, pages 282--293. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. W. Krueger. Towards a Taxonomy for Software Product Lines. In F. J. van der Linden, editor, PFE, pages 323--331. Springer, 2004.Google ScholarGoogle Scholar
  38. J. Krüger. A Cost Estimation Model for the Extratcive Software-Product-Line Approach. Master's thesis, Otto-von-Guericke-Univerity Magdeburg, 2016.Google ScholarGoogle Scholar
  39. H. K. N. Leung and Z. Fan. Software Cost Estimation. In Handbook of Software Engineering and Knowledge Engineering, pages 307--324. World Scientific Publishing, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  40. J. Mansell. Experiences and Expectations Regarding the Introduction of Systematic Reuse in Small- and Medium-Sized Companies. In T. Käköla and J. Duenas, editors, Software Product Lines, pages 91--124. Springer, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  41. J. Martinez, T. Ziadi, T. F. Bissyandé, J. Klein, and Y. Le Traon. Bottom-Up Adoption of Software Product Lines: A Generic and Extensible Approach. In SPLC, pages 101--110. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. J. D. McGregor, L. M. Northrop, S. Jarrad, and K. Pohl. Guest editors' introduction: Initiating software product lines. IEEE Softw., 27(3):16--21, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. L. M. Northrop. SEI's Software Product Line Tenets. IEEE Softw., 19(4):32--40, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. V. Pareto. Manuale di Economia Politica. Societa Editrice, 1906.Google ScholarGoogle Scholar
  45. K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. J. S. Poulin. Measuring Software Reusability. In ICSR, pages 126--138. IEEE, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  47. J. S. Poulin. The Economics of Software Product Lines. Int. J. Appl. Softw. Technol., 3(1):20--34, 1997.Google ScholarGoogle Scholar
  48. C. K. Roy, J. R. Cordy, and R. Koschke. Comparison and Evaluation of Code Clone Detection Techniques and Tools: A Qualitative Approach. Sci. Comput. Program., 74(7):470--495, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. J. Rubin and M. Chechik. A Survey of Feature Location Techniques. In I. Reinhartz-Berger, A. Sturm, T. Clark, S. G. Cohen, and J. Bettin, editors, Domain Engineering, pages 29--58. Springer, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  50. J. Rubin, A. Kirshin, G. Botterweck, and M. Chechik. Managing Forked Product Variants. In SPLC, pages 156--160. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. K. Schmid and M. Verlage. The Economic Impact of Product Line Adoption and Evolution. IEEE Softw., 19(4):50--57, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. S. Stanciulescu, S. Schulze, and A. Wasowski. Forked and Integrated Variants in an Open-Source Firmware Project. In ICSME, pages 151--160. IEEE, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. D. Steidl, B. Hummel, and E. Juergens. Quality Analysis of Source Code Comments. In ICPC, pages 83--92. IEEE, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  54. A. Tang, W. Couwenberg, E. Scheppink, N. A. de Burgh, S. Deelstra, and H. van Vliet. SPL Migration Tensions: An Industry Experience. In KOPLE, pages 1--6. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. J. Viner. Cost Curves and Supply Curves. Zeitschrift für Nationalökonomie, 3(1):23--46, 1932.Google ScholarGoogle ScholarCross RefCross Ref
  56. K. Yoshimura, D. Ganesan, and D. Muthig. Defining a Strategy to Introduce a Software Product Line Using Existing Embedded Systems. In EMSOFT, pages 63--72. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. K. Yoshimura, D. Ganesan, and D. Muthig. Assessing Merge Potential of Existing Engine Control Systems into a Product Line. In SEAS, pages 61--67. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. T. Ziadi, L. Frias, M. A. A. d. Silva, and M. Ziane. Feature Identification from the Source Code of Product Variants. In CSMR, pages 417--422. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Extracting software product lines: a cost estimation perspective

      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 '16: Proceedings of the 20th International Systems and Software Product Line Conference
        September 2016
        367 pages
        ISBN:9781450340502
        DOI:10.1145/2934466
        • General Chair:
        • Hong Mei

        Copyright © 2016 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 the author(s) 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: 16 September 2016

        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