Is Requirements Similarity a Good Proxy for Software Similarity? An Empirical Investigation in Industry

被引:7
作者
Abbas, Muhammad [1 ,2 ]
Ferrari, Alessio [3 ]
Shatnawi, Anas [4 ]
Enoiu, Eduard Paul [2 ]
Saadatmand, Mehrdad [1 ]
机构
[1] RISE Res Inst Sweden, Vasteras, Sweden
[2] Malardalens Univ, Vasteras, Sweden
[3] CNR ISTI, Pisa, Italy
[4] Berget Levrault, Montpellier, France
来源
REQUIREMENTS ENGINEERING: FOUNDATION FOR SOFTWARE QUALITY (REFSQ 2021) | 2021年 / 12685卷
关键词
Requirements similarity; Software similarity; Correlation; RECOMMENDATION;
D O I
10.1007/978-3-030-73128-1_1
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
[Context and Motivation] Content-based recommender systems for requirements are typically built on the assumption that similar requirements can be used as proxies to retrieve similar software. When a new requirement is proposed by a stakeholder, natural language processing (NLP)-based similarity metrics can be exploited to retrieve existing requirements, and in turn identify previously developed code. [Question/problem] Several NLP approaches for similarity computation are available, and there is little empirical evidence on the adoption of an effective technique in recommender systems specifically oriented to requirements-based code reuse. [Principal ideas/results] This study compares different state-of-the-art NLP approaches and correlates the similarity among requirements with the similarity of their source code. The evaluation is conducted on real-world requirements from two industrial projects in the railway domain. Results show that requirements similarity computed with the traditional tf-idf approach has the highest correlation with the actual software similarity in the considered context. Furthermore, results indicate a moderate positive correlation with Spearman's rank correlation coefficient of more than 0.5. [Contribution] Our work is among the first ones to explore the relationship between requirements similarity and software similarity. In addition, we also identify a suitable approach for computing requirements similarity that reflects software similarity well in an industrial context. This can be useful not only in recommender systems but also in other requirements engineering tasks in which similarity computation is relevant, such as tracing and categorization.
引用
收藏
页码:3 / 18
页数:16
相关论文
共 39 条
[1]  
Abba M, 2020, PROC BUS MANAGE CONF, P1, DOI [10.1145/3382025.3414953, 10.20472/BMC.2020.011.001]
[2]   Automated Reuse Recommendation of Product Line Assets Based on Natural Language Requirements [J].
Abbas, Muhammad ;
Saadatmand, Mehrdad ;
Enoiu, Eduard ;
Sundamark, Daniel ;
Lindskog, Claes .
REUSE IN EMERGING SOFTWARE ENGINEERING PRACTICES, ICSR 2020, 2020, 12541 :173-189
[3]   Automated Extraction and Clustering of Requirements Glossary Terms [J].
Arora, Chetan ;
Sabetzadeh, Mehrdad ;
Briand, Lionel ;
Zimmer, Frank .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (10) :918-945
[4]  
Arora C, 2015, INT REQUIR ENG CONF, P6, DOI 10.1109/RE.2015.7320403
[5]  
Bojanowski Piotr, 2017, Transactions of the Association for Computational Linguistics, V5, P135, DOI DOI 10.1162/TACL_A_00051
[6]   Supporting Change Impact Analysis Using a Recommendation System: An Industrial Case Study in a Safety-Critical Context [J].
Borg, Markus ;
Wnuk, Krzysztof ;
Regnell, Bjorn ;
Runeson, Per .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (07) :675-700
[7]   Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability [J].
Borg, Markus ;
Runeson, Per ;
Ardo, Anders .
EMPIRICAL SOFTWARE ENGINEERING, 2014, 19 (06) :1565-1616
[8]   Enhancing Stakeholder Profiles to Improve Recommendations in Online Requirements Elicitation [J].
Castro-Herrera, Carlos ;
Cleland-Huang, Jane ;
Mobasher, Bamshad .
PROCEEDINGS OF THE 2009 17TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE, 2009, :37-+
[9]  
Dag JNO, 2005, IEEE SOFTWARE, V22, P32, DOI 10.1109/MS.2005.1
[10]  
Devlin J, 2019, 2019 CONFERENCE OF THE NORTH AMERICAN CHAPTER OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS: HUMAN LANGUAGE TECHNOLOGIES (NAACL HLT 2019), VOL. 1, P4171