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.
- 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 ScholarDigital Library
- S. Apel, D. Batory, C. Kästner, and G. Saake. Feature-Oriented Software Product Lines. Springer, 2013. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- T. J. Biggerstaff, B. G. Mitbander, and D. Webster. The Concept Assignment Problem in Program Understanding. In ICSE, pages 482--498. IEEE, 1993. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- B. W. Boehm. Software Engineering Economics. IEEE Trans. Softw. Eng., SE-10(1):4--21, 1984. Google ScholarDigital Library
- 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 ScholarDigital Library
- F. Bolger and G. Wright. Assessing the Quality of Expert Judgment: Issues and Analysis. Decis. Support Syst., 11:1--24, 1994. Google ScholarDigital Library
- 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 ScholarDigital Library
- P. C. Clements and L. M. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2006.Google Scholar
- 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 Scholar
- 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 Scholar
- K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- W. Fenske and S. Schulze. Code Smells Revisited: A Variability Perspective. In VaMoS, pages 3--10. ACM, 2015. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- M. Jørgensen. A Review of Studies on Expert Estimation of Software Development Effort. J. Syst. Software, 70(1):37--60, 2004. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- C. W. Krueger. Software Reuse. ACM Comput. Surv., 24(2):131--183, 1992. Google ScholarDigital Library
- C. W. Krueger. Easing the Transition to Software Mass Customization. In F. J. van der Linden, editor, PFE, pages 282--293. Springer, 2002. Google ScholarDigital Library
- C. W. Krueger. Towards a Taxonomy for Software Product Lines. In F. J. van der Linden, editor, PFE, pages 323--331. Springer, 2004.Google Scholar
- J. Krüger. A Cost Estimation Model for the Extratcive Software-Product-Line Approach. Master's thesis, Otto-von-Guericke-Univerity Magdeburg, 2016.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- L. M. Northrop. SEI's Software Product Line Tenets. IEEE Softw., 19(4):32--40, 2002. Google ScholarDigital Library
- V. Pareto. Manuale di Economia Politica. Societa Editrice, 1906.Google Scholar
- K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005. Google ScholarDigital Library
- J. S. Poulin. Measuring Software Reusability. In ICSR, pages 126--138. IEEE, 1994.Google ScholarCross Ref
- J. S. Poulin. The Economics of Software Product Lines. Int. J. Appl. Softw. Technol., 3(1):20--34, 1997.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- J. Rubin, A. Kirshin, G. Botterweck, and M. Chechik. Managing Forked Product Variants. In SPLC, pages 156--160. ACM, 2012. Google ScholarDigital Library
- K. Schmid and M. Verlage. The Economic Impact of Product Line Adoption and Evolution. IEEE Softw., 19(4):50--57, 2002. Google ScholarDigital Library
- 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 ScholarDigital Library
- D. Steidl, B. Hummel, and E. Juergens. Quality Analysis of Source Code Comments. In ICPC, pages 83--92. IEEE, 2013.Google ScholarCross Ref
- 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 ScholarDigital Library
- J. Viner. Cost Curves and Supply Curves. Zeitschrift für Nationalökonomie, 3(1):23--46, 1932.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Extracting software product lines: a cost estimation perspective
Recommendations
A New Parameter for Product Configuration in Software Product Lines
KAM '09: Proceedings of the 2009 Second International Symposium on Knowledge Acquisition and Modeling - Volume 02Software product line development is a new software engineering method. It promotes the predictive software reuse by developing similar software systems together. One of the key artifacts of a software product line is the feature model, which represents ...
Performance variability in software product lines: proposing theories from a case study
In the software product line research, product variants typically differ by their functionality and quality attributes are not purposefully varied. The goal is to study purposeful performance variability in software product lines, in particular, the ...
Improving product configuration in software product line engineering
ACSC '13: Proceedings of the Thirty-Sixth Australasian Computer Science Conference - Volume 135Software Product Line Engineering (SPLE) is a emerging software reuse paradigm. SPLE focuses on systematic software reuse from requirement engineering to product derivation throughout the software development life-cycle. Feature model is one of the most ...
Comments