On the relationship between similar requirements and similar software A case study in the railway domain

被引:17
作者
Abbas, Muhammad [1 ]
Ferrari, Alessio [2 ]
Shatnawi, Anas [3 ]
Enoiu, Eduard [4 ]
Saadatmand, Mehrdad [1 ]
Sundmark, Daniel [4 ]
机构
[1] RISE Res Inst Sweden, Vasteras, Sweden
[2] CNR ISTI, Pisa, Italy
[3] Berger Levrault, Montpellier, France
[4] Malardalen Univ, Vasteras, Sweden
关键词
Requirements similarity; Software similarity; Correlation; Perception of similarity; Language models; NATURAL-LANGUAGE REQUIREMENTS; CODE; RECOMMENDATION; EXTRACTION; REUSE;
D O I
10.1007/s00766-021-00370-4
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Recommender systems for requirements are typically built on the assumption that similar requirements can be used as proxies to retrieve similar software. When a stakeholder proposes a new requirement, natural language processing (NLP)-based similarity metrics can be exploited to retrieve existing requirements, and in turn, identify previously developed code. Several NLP approaches for similarity computation between requirements are available. However, there is little empirical evidence on their effectiveness for code retrieval. This study compares different NLP approaches, from lexical ones to semantic, deep-learning techniques, and correlates the similarity among requirements with the similarity of their associated software. The evaluation is conducted on real-world requirements from two industrial projects from a railway company. Specifically, the most similar pairs of requirements across two industrial projects are automatically identified using six language models. Then, the trace links between requirements and software are used to identify the software pairs associated with each requirements pair. The software similarity between pairs is then automatically computed with JPLag. Finally, the correlation between requirements similarity and software similarity is evaluated to see which language model shows the highest correlation and is thus more appropriate for code retrieval. In addition, we perform a focus group with members of the company to collect qualitative data. Results show a moderately positive correlation between requirements similarity and software similarity, with the pre-trained deep learning-based BERT language model with preprocessing outperforming the other models. Practitioners confirm that requirements similarity is generally regarded as a proxy for software similarity. However, they also highlight that additional aspect comes into play when deciding software reuse, e.g., domain/project knowledge, information coming from test cases, and trace links. Our work is among the first ones to explore the relationship between requirements and software similarity from a quantitative and qualitative standpoint. 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 change impact analysis.
引用
收藏
页码:23 / 47
页数:25
相关论文
共 96 条
[1]  
Abba M, 2020, PROC BUS MANAGE CONF, P1, DOI [10.20472/BMC.2020.011.001, 10.1145/3382025.3414953]
[2]   Is Requirements Similarity a Good Proxy for Software Similarity? An Empirical Investigation in Industry [J].
Abbas, Muhammad ;
Ferrari, Alessio ;
Shatnawi, Anas ;
Enoiu, Eduard Paul ;
Saadatmand, Mehrdad .
REQUIREMENTS ENGINEERING: FOUNDATION FOR SOFTWARE QUALITY (REFSQ 2021), 2021, 12685 :3-18
[3]   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
[4]   Automated demarcation of requirements in textual specifications: a machine learning-based approach [J].
Abualhaija, Sallam ;
Arora, Chetan ;
Sabetzadeh, Mehrdad ;
Briand, Lionel C. ;
Traynor, Michael .
EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (06) :5454-5497
[5]   Trustrace: Mining Software Repositories to Improve the Accuracy of Requirement Traceability Links [J].
Ali, Nasir ;
Gueheneuc, Yann-Gael ;
Antoniol, Giuliano .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (05) :725-741
[6]  
[Anonymous], 1998, SIGIR '98, DOI DOI 10.1145/290941.291008
[7]   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
[8]   Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation [J].
Arora, Chetan ;
Sabetzadeh, Mehrdad ;
Briand, Lionel ;
Zimmer, Frank .
19TH ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS'16), 2016, :250-260
[9]  
Arora C, 2015, INT REQUIR ENG CONF, P6, DOI 10.1109/RE.2015.7320403
[10]   Automated Checking of Conformance to Requirements Templates Using Natural Language Processing [J].
Arora, Chetan ;
Sabetzadeh, Mehrdad ;
Briand, Lionel ;
Zimmer, Frank .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (10) :944-968