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

Towards clone-and-own support: locating relevant methods in legacy products

Published: 16 September 2016 Publication History

Abstract

Clone-and-Own (CAO) is a common practice in families of software products consisting of reusing code from methods in legacy products in new developments. In industrial scenarios, CAO consumes high amounts of time and effort without guaranteeing good results. We propose a novel approach, Computer Assisted CAO (CACAO), that given the natural language requirements of a new product, and the legacy products from that family, ranks the legacy methods in the family for each of the new product requirements according to their relevancy to the new development. We evaluated our approach in the industrial domain of train control software. Without CACAO, software engineers tasked with the development of a new product had to manually review a total of 2200 methods in the family. Results show that CACAO can reduce the number of methods to be reviewed, and guide software engineers towards the identification of relevant legacy methods to be reused in the new product.

References

[1]
V. Alves, C. Schwanninger, L. Barbosa, A. Rashid, P. Sawyer, P. Rayson, C. Pohl, and A. Rummler. An exploratory study of information retrieval techniques in domain analysis. In Software Product Line Conference, 2008. SPLC '08. 12th International, pages 67--76, Sept 2008.
[2]
M. Antkiewicz, W. Ji, T. Berger, K. Czarnecki, T. Schmorleiz, R. Lämmel, t. Stănciulescu, A. Wąsowski, and I. Schaefer. Flexible product line engineering with a virtual platform. In Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pages 532--535, New York, NY, USA, 2014. ACM.
[3]
N. H. Bakar, Z. M. Kasirun, and N. Salleh. Feature extraction approaches from natural language requirements for reuse in software product lines. J. Syst. Softw., 106(C):132--149, Aug. 2015.
[4]
K. Czarnecki and A. Wasowski. Feature diagrams and logics: There and back again. In Software Product Lines, 11th International Conference, SPLC 2007, Kyoto, Japan, September 10-14, 2007, Proceedings, pages 23--34, 2007.
[5]
Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. An exploratory study of cloning in industrial software product lines. In Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on, pages 25--34. IEEE, 2013.
[6]
H. Dumitru, M. Gibiec, N. Hariri, J. Cleland-Huang, B. Mobasher, C. Castro-Herrera, and M. Mirakhorli. On-demand feature recommendations derived from mining public product descriptions. In Proceedings of the 33rd International Conference on Software Engineering, ICSE '11, pages 181--190, New York, NY, USA, 2011. ACM.
[7]
A. D. Eisenberg and K. D. Volder. Dynamic feature traces: Finding features in unfamiliar code. In 21st IEEE International Conference on Software Maintenance (ICSM 2005), 25-30 September 2005, Budapest, Hungary, pages 337--346, 2005.
[8]
A. Ferrari, G. O. Spagnolo, and F. Dell'Orletta. Mining commonalities and variabilities from natural language documents. In Proceedings of the 17th International Software Product Line Conference, SPLC '13, pages 116--120, New York, NY, USA, 2013. ACM.
[9]
A. Hulth. Improved automatic keyword extraction given more linguistic knowledge. In Proceedings of the 2003 conference on Empirical methods in natural language processing, pages 216--223. Association for Computational Linguistics, 2003.
[10]
T. Kamiya, S. Kusumoto, and K. Inoue. Ccfinder: a multilinguistic token-based code clone detection system for large scale source code. Software Engineering, IEEE Transactions on, 28(7):654--670, 2002.
[11]
C. Kästner, P. G. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-aware parsing in the presence of lexical macros and conditional compilation. In Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011, pages 805--824, 2011.
[12]
T. K. Landauer, P. W. Foltz, and D. Laham. An introduction to latent semantic analysis. Discourse processes, 25(2-3):259--284, 1998.
[13]
Z. Li, S. Lu, S. Myagmar, and Y. Zhou. Cp-miner: Finding copy-paste and related bugs in large-scale software code. Software Engineering, IEEE Transactions on, 32(3):176--192, 2006.
[14]
D. Liu, A. Marcus, D. Poshyvanyk, and V. Rajlich. Feature location via information retrieval based filtering of a single scenario execution trace. In Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering, ASE '07, pages 234--243, New York, NY, USA, 2007. ACM.
[15]
F. Liu, D. Pennell, F. Liu, and Y. Liu. Unsupervised approaches for automatic keyword extraction using meeting transcripts. In Proceedings of human language technologies: The 2009 annual conference of the North American chapter of the association for computational linguistics, pages 620--628. Association for Computational Linguistics, 2009.
[16]
R. T.-W. Lo, B. He, and I. Ounis. Automatically building a stopword list for an information retrieval system. In Journal on Digital Information Management: Special Issue on the 5th Dutch-Belgian Information Retrieval Workshop (DIR), volume 5, pages 17--24. Citeseer, 2005.
[17]
S. Nadi, T. Berger, C. Kästner, and K. Czarnecki. Mining configuration constraints: static analyses and empirical results. In 36th International Conference on Software Engineering, ICSE '14, Hyderabad, India - May 31 - June 07, 2014, pages 140--151, 2014.
[18]
N. H. Pham, H. A. Nguyen, T. T. Nguyen, J. M. Al-Kofahi, and T. N. Nguyen. Complete and accurate clone detection in graph-based models. In Proceedings of the 31st International Conference on Software Engineering, pages 276--286. IEEE Computer Society, 2009.
[19]
M. Porter. Snowball: A language for stemming algorithms, Oct. 2001.
[20]
D. Poshyvanyk, Y. Guéhéneuc, A. Marcus, G. Antoniol, and V. Rajlich. Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Trans. Software Eng., 33(6):420--432, 2007.
[21]
J. Rubin and M. Chechik. A framework for managing cloned product variants. In Proceedings of the 2013 International Conference on Software Engineering, ICSE '13, pages 1233--1236, Piscataway, NJ, USA, 2013. IEEE Press.
[22]
J. Rubin and M. Chechik. A survey of feature location techniques. In Domain Engineering, pages 29--58. Springer, 2013.
[23]
J. Rubin, A. Kirshin, G. Botterweck, and M. Chechik. Managing forked product variants. In Proceedings of the 16th International Software Product Line Conference - Volume 1, SPLC '12, pages 156--160, New York, NY, USA, 2012. ACM.
[24]
P. Runeson and M. Höst. Guidelines for conducting and reporting case study research in software engineering. Empirical software engineering, 14(2):131--164, 2009.
[25]
H. Saif, M. Fernández, Y. He, and H. Alani. On stopwords, filtering and data sparsity for sentiment analysis of twitter. In LREC 2014, Ninth International Conference on Language Resources and Evaluation. Proceedings., pages 810--817, 2014.
[26]
H. E. Salman, A. Seriai, and C. Dony. Feature location in a collection of product variants: Combining information retrieval and hierarchical clustering. In The 26th International Conference on Software Engineering and Knowledge Engineering, Hyatt Regency, Vancouver, BC, Canada, July 1-3, 2013., pages 426--430, 2014.
[27]
G. Salton and M. J. McGill. Introduction to Modern Information Retrieval. McGraw-Hill, Inc., New York, NY, USA, 1986.
[28]
S. She, R. Lotufo, T. Berger, A. Wasowski, and K. Czarnecki. Reverse engineering feature models. In Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, May 21-28, 2011, pages 461--470, 2011.
[29]
C. Silva and B. Ribeiro. The importance of stop word removal on recall values in text categorization. In Neural Networks, 2003. Proceedings of the International Joint Conference on, volume 3, pages 1661--1666. IEEE, 2003.
[30]
C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in software engineering. Springer Science & Business Media, 2012.
[31]
Y. Xue, Z. Xing, and S. Jarzabek. Feature location in a collection of product variants. In 19th Working Conference on Reverse Engineering, WCRE 2012, Kingston, ON, Canada, October 15-18, 2012, pages 145--154, 2012.

Cited By

View all
  • (2024)Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature TracingProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672593(84-95)Online publication date: 2-Sep-2024
  • (2024)Cloned Code Clustering for the Software Product Line Engineering Approach to Developing a Family of Products2024 IEEE 48th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC61105.2024.00178(1350-1355)Online publication date: 2-Jul-2024
  • (2024)An empirical study of business process models and model clones on GitHubEmpirical Software Engineering10.1007/s10664-024-10584-z30:2Online publication date: 23-Dec-2024
  • Show More Cited By

Index Terms

  1. Towards clone-and-own support: locating relevant methods in legacy products

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

    • 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. clone and own
    2. families of software products
    3. software reuse

    Qualifiers

    • Research-article

    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)15
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature TracingProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672593(84-95)Online publication date: 2-Sep-2024
    • (2024)Cloned Code Clustering for the Software Product Line Engineering Approach to Developing a Family of Products2024 IEEE 48th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC61105.2024.00178(1350-1355)Online publication date: 2-Jul-2024
    • (2024)An empirical study of business process models and model clones on GitHubEmpirical Software Engineering10.1007/s10664-024-10584-z30:2Online publication date: 23-Dec-2024
    • (2023)Benchmark Generation with VEVOS: A Coverage Analysis of Evolution Scenarios in Variant-Rich SystemsProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571793(13-22)Online publication date: 25-Jan-2023
    • (2023)Analyzing Variant Forks of Software Repositories from Social Coding PlatformsSoftware Ecosystems10.1007/978-3-031-36060-2_6(131-152)Online publication date: 26-May-2023
    • (2022)PaReco: patched clones and missed patches among the divergent variants of a software familyProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549112(646-658)Online publication date: 7-Nov-2022
    • (2022)Quantifying the Potential to Automate the Synchronization of Variants in Clone-and-Own2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00032(269-280)Online publication date: Oct-2022
    • (2022)A Strategy to Lead with Multiple Dependencies in a Coding Branch Structure: A Case Study with Mobile Device Production2022 International Conference on Computer Technologies (ICCTech)10.1109/ICCTech55650.2022.00024(101-109)Online publication date: Feb-2022
    • (2021)Feature trace recordingProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468531(1007-1020)Online publication date: 20-Aug-2021
    • (2021)Bridging the gap between clone-and-own and software product linesProceedings of the 43rd International Conference on Software Engineering: New Ideas and Emerging Results10.1109/ICSE-NIER52604.2021.00013(21-25)Online publication date: 25-May-2021
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media