SBFSelector: Analysis of Metrics to Improve Traceability in Collaborative Environments

SBFSelector: Analysis of Metrics to Improve Traceability in Collaborative Environments

Ritu Garg, Rakesh Kumar Singh
Copyright: © 2022 |Pages: 19
DOI: 10.4018/IJOSSP.311839
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Tracking changes in code using revision history shared by collaborative teams during software evolution improves traceability. Existing techniques provides incomplete and inaccurate revision history due to lack in detection of renaming and shifting at file, class, and method granularities simultaneously. This research analyzes and prioritizes the metrics responsible for detecting such changes and update the revision history. This improves the traceability by tracking complete and accurate revision history that further improves the processes related to mining software repositories. It proposes SBFSelector algorithm that uses Jaccard Similarity and cosine similarity based on the prioritized metrics to identify these changes. Result shows that 73% metrics belongs to size and complexity that holds more significance over remaining categories. Random forest is best classifier for tracking changes with 0.99 true positive rate and 0.01 false positive rate. It improves traceability by increasing the Kappa statistic and true positive rate as compared to Understand tool.
Article Preview
Top

Introduction

A software application undergoes multiple and continuous adaptations in form of changes in a collaborative environment. According to Lehman (1980), it reduces the quality and reliability of the software which leads to unsustainable development (Agrawal et al., 2020). To attain sustainability, changes should be proactive. Therefore, the development teams working in the distributed environment should be aware of complex entities at different granularities such as File, Class, and Method (FCM) that are highly subjected to change (risky/unstable). It is achieved by tracking past changing behavior (history) of entities in the Version Controlled Software Application that predicts their expected behavior in the future to determine changeability (Grund et. al, 2021). Tracking the entities from the origin using the revision history helps the project managers to assign resources accordingly as per the needs of short or long-term goals. To implement any change, understanding of the entities along with the past behaviour from revision history is required. It is supported by Diff operation in version control systems that helps to provide a quick and accurate response to improve the understandability. It eases the implementation of change thereby improving the changeability. Thus, implementing the sequence of changes occurs with the use of optimal resources, that too at a low cost which enhances the quality, & reliability of the software applications (Ross et al., 2008).

Git is a frequently used Open-Source Distributed Version Control System that allows distributed teams to collaborate in the development process of the complete codebase for Open source/Commercial software applications. It helps to reduce communication barriers among the teams and allows the developer to contribute to multiple software applications at the same time to increase productivity and reduce the time to build Reuse Oriented Rapid Application Development. The collaboration occurs via Shared Repository Model or Fork & Pull model where teams must have transparency (unified and consistent view) for codebase and history. The revision history records changes at coarse granularity only that requires manual inspection for changes at finer granularities that makes the revision history incomplete. Therefore, it must be transparent for all the developers with accuracy (to detect the transformations such as renaming or shifting) and completeness (at file, class and method granularities) with timelines about the changes. Therefore, it is one of the mandatory requirements to make any change or track them further during software evolution built in collaboration with multiple developers. This transparency helps the developers to automate the processes of code review by understanding, comparing, and tracking changes in the codebase.

Moreover, changes are trackable between two versions using Diff & Merge tools (DMT) also as Meld (Meld, n.d.), Understand (Understand, n.d.), Code Compare, etc. Among them, Understand tool is proprietary and flexible to detect and track changes between versions at FCM granularity. However, it is inflexible in detecting the renaming’s and shafting’s that occur as a part of refactoring during software evolution thus, making the revision history inaccurate. Both Git and DMT use Diff and Merge operation that further automates the process of integration of distributed codes in the codebase. Therefore, the transparent, complete, and accurate revision history helps the developer track all changes that improve traceability.

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing