Rrezarta Krasniqi, Ph.D.

Department of Computer Science and Engineering

University of North Texas

Automatically Detecting Tangled Quality Concerns across Code-Commit Changesets


Project Description. Software quality concerns such as usability, security, and performance, among others, lay the foundation necessary to achieve high-quality, robust, user-friendly, and trustworthy software systems. When software maintenance changes occur, developers often commit these changes along with functional changes. This generally happens because quality attributes have a broad impact across architectural design and implementation. Tracking changes associated with quality concerns can be a challenging and overwhelming manual task. Developers frequently make a substantial number of code commits, especially during major code releases and system upgrades. Consequently, monitoring changes specifically linked to quality concerns becomes impractical, particularly when intertwined with functional-related changes. To address this issue, we have developed a novel approach for automatically untangling quality-related changes from functional-related changes when they are integrated as a single commit. Our underlying approach involves identifying structural dependency relations of code components using impact analysis techniques and then incorporate several unsupervised techniques to extract quality-related changes. To validate our approach, we conducted an empirical evaluation on 1,246 commits from eight open-source Java projects. The results indicate that our approach can detect tangled quality concerns across code commit changesets with an accuracy ranging from 55.99% to 85.71%. Additionally, our findings reveal that changes related to 'efficiency,' 'usability,' and 'reliability' exhibit the highest degree of entanglement, ranging from 12% to 18%.