Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2016 Publication History
  • Get Citation Alerts
  • 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.
    [2]
    S. Apel, D. Batory, C. Kästner, and G. Saake. Feature-Oriented Software Product Lines. Springer, 2013.
    [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.
    [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.
    [5]
    T. J. Biggerstaff, B. G. Mitbander, and D. Webster. The Concept Assignment Problem in Program Understanding. In ICSE, pages 482--498. IEEE, 1993.
    [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.
    [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.
    [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.
    [9]
    B. W. Boehm. Software Engineering Economics. IEEE Trans. Softw. Eng., SE-10(1):4--21, 1984.
    [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.
    [11]
    F. Bolger and G. Wright. Assessing the Quality of Expert Judgment: Issues and Analysis. Decis. Support Syst., 11:1--24, 1994.
    [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.
    [13]
    P. C. Clements and L. M. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2006.
    [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.
    [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.
    [16]
    K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2005.
    [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.
    [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.
    [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.
    [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.
    [21]
    W. Fenske and S. Schulze. Code Smells Revisited: A Variability Perspective. In VaMoS, pages 3--10. ACM, 2015.
    [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.
    [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.
    [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.
    [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.
    [26]
    M. Jørgensen. A Review of Studies on Expert Estimation of Software Development Effort. J. Syst. Software, 70(1):37--60, 2004.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [35]
    C. W. Krueger. Software Reuse. ACM Comput. Surv., 24(2):131--183, 1992.
    [36]
    C. W. Krueger. Easing the Transition to Software Mass Customization. In F. J. van der Linden, editor, PFE, pages 282--293. Springer, 2002.
    [37]
    C. W. Krueger. Towards a Taxonomy for Software Product Lines. In F. J. van der Linden, editor, PFE, pages 323--331. Springer, 2004.
    [38]
    J. Krüger. A Cost Estimation Model for the Extratcive Software-Product-Line Approach. Master's thesis, Otto-von-Guericke-Univerity Magdeburg, 2016.
    [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.
    [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.
    [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.
    [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.
    [43]
    L. M. Northrop. SEI's Software Product Line Tenets. IEEE Softw., 19(4):32--40, 2002.
    [44]
    V. Pareto. Manuale di Economia Politica. Societa Editrice, 1906.
    [45]
    K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005.
    [46]
    J. S. Poulin. Measuring Software Reusability. In ICSR, pages 126--138. IEEE, 1994.
    [47]
    J. S. Poulin. The Economics of Software Product Lines. Int. J. Appl. Softw. Technol., 3(1):20--34, 1997.
    [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.
    [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.
    [50]
    J. Rubin, A. Kirshin, G. Botterweck, and M. Chechik. Managing Forked Product Variants. In SPLC, pages 156--160. ACM, 2012.
    [51]
    K. Schmid and M. Verlage. The Economic Impact of Product Line Adoption and Evolution. IEEE Softw., 19(4):50--57, 2002.
    [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.
    [53]
    D. Steidl, B. Hummel, and E. Juergens. Quality Analysis of Source Code Comments. In ICPC, pages 83--92. IEEE, 2013.
    [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.
    [55]
    J. Viner. Cost Curves and Supply Curves. Zeitschrift für Nationalökonomie, 3(1):23--46, 1932.
    [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.
    [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.
    [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.

    Cited By

    View all
    • (2023)VariantIncProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608984(129-140)Online publication date: 28-Aug-2023
    • (2021)Product-lining the elinvar wealthtech microservice platformProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473947(60-68)Online publication date: 6-Sep-2021
    • (2021)Integration of Artificial Intelligence into software reuse: An overview of Software Intelligence2021 2nd International Conference on Computation, Automation and Knowledge Management (ICCAKM)10.1109/ICCAKM50778.2021.9357738(357-362)Online publication date: 19-Jan-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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].

    Sponsors

    • Huawei Technologies Co. Ltd.: Huawei Technologies Co. Ltd.
    • Key Laboratory of High Confidence Software Technologies: Key Laboratory of High Confidence Software Technologies, Ministry of Education
    • DC Holdings: Digital China Holdings Limited

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 September 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cost estimation
    2. extractive approach
    3. investment analysis
    4. risk assessment
    5. software product line

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    SPLC '16
    Sponsor:
    • Huawei Technologies Co. Ltd.
    • Key Laboratory of High Confidence Software Technologies
    • DC Holdings

    Acceptance Rates

    Overall Acceptance Rate 167 of 463 submissions, 36%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)VariantIncProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608984(129-140)Online publication date: 28-Aug-2023
    • (2021)Product-lining the elinvar wealthtech microservice platformProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473947(60-68)Online publication date: 6-Sep-2021
    • (2021)Integration of Artificial Intelligence into software reuse: An overview of Software Intelligence2021 2nd International Conference on Computation, Automation and Knowledge Management (ICCAKM)10.1109/ICCAKM50778.2021.9357738(357-362)Online publication date: 19-Jan-2021
    • (2021)Software product-line evaluation in the largeEmpirical Software Engineering10.1007/s10664-020-09913-926:2Online publication date: 5-Mar-2021
    • (2020)Activities and costs of re-engineering cloned variants into an integrated platformProceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3377024.3377044(1-10)Online publication date: 5-Feb-2020
    • (2020)The state of adoption and the challenges of systematic variability management in industryEmpirical Software Engineering10.1007/s10664-019-09787-6Online publication date: 4-Apr-2020
    • (2019)Principles of feature modelingProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338974(62-73)Online publication date: 12-Aug-2019
    • (2019)Migrating the Android Apo-Games into an Annotation-Based Software Product LineProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3342362(103-107)Online publication date: 9-Sep-2019
    • (2019)Migrating Java-Based Apo-Games into a Composition-Based Software Product LineProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3342361(98-102)Online publication date: 9-Sep-2019
    • (2019)Visualizing Commonalities and Variabilities in a Software Product FamilyProceedings of the XV Brazilian Symposium on Information Systems10.1145/3330204.3330250(1-8)Online publication date: 20-May-2019
    • 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