Leveraging Historical Associations between Requirements and Source Code to Identify Impacted Classes

08/20/2018
by   Davide Falessi, et al.
0

As new requirements are introduced and implemented in a software system, developers must identify the set of source code classes which need to be changed. Therefore, past effort has focused on predicting the set of classes impacted by a requirement. In this paper, we introduce and evaluate a new type of information based on the intuition that the set of requirements which are associated with historical changes to a specific class are likely to exhibit semantic similarity to new requirements which impact that class. This new Requirements to Requirements Set (R2RS) family of metrics captures the semantic similarity between a new requirement and the set of existing requirements previously associated with a class. The aim of this paper is to present and evaluate the usefulness of R2RS metrics in predicting the set of classes impacted by a requirement. We consider 18 different R2RS metrics by combining six natural language processing techniques to measure the semantic similarity among texts (e.g., VSM) and three distribution scores to compute overall similarity (e.g., average among similarity scores). We evaluate if R2RS is useful for predicting impacted classes in combination and against four other families of metrics that are based upon temporal locality of changes, direct similarity to code, complexity metrics, and code smells. Our evaluation features five classifiers and 78 releases belonging to four large open-source projects, which result in over 700,000 candidate impacted classes. Experimental results show that leveraging R2RS information increases the accuracy of predicting impacted classes practically by an average of more than 60 the various classifiers and projects.

READ FULL TEXT
research
03/02/2021

Apples, Oranges Fruits – Understanding Similarity of Software Projects Through The Lens of Dissimilar Artifacts

The growing availability of open source projects has facilitated develop...
research
01/19/2023

Source Code Metrics for Software Defects Prediction

In current research, there are contrasting results about the applicabili...
research
12/21/2017

A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems

Change-prone classes or modules are defined as software components in th...
research
08/29/2018

Use of Source Code Similarity Metrics in Software Defect Prediction

In recent years, defect prediction has received a great deal of attentio...
research
07/12/2020

Visualizing Classification Structure in Deep Neural Networks

We propose a measure to compute class similarity in large-scale classifi...
research
08/20/2022

An ensemble meta-estimator to predict source code testability

Unlike most other software quality attributes, testability cannot be eva...
research
03/16/2022

Exploring Variational Graph Auto-Encoders for Extract Class Refactoring Recommendation

The code smell is a sign of design and development flaws in a software s...

Please sign up or login with your details

Forgot password? Click here to reset