Are suggestions from coupled file changes useful for perfective maintenance tasks?

Background Software maintenance is an important activity in the development process where maintenance team members leave and new members join over time. The identification of files which are changed together frequently has been proposed several times. Yet, existing studies about coupled file changes...

Full description

Bibliographic Details
Main Authors: Jasmin Ramadani, Stefan Wagner
Format: Article
Language:English
Published: PeerJ Inc. 2017-10-01
Series:PeerJ Computer Science
Subjects:
Git
Online Access:https://peerj.com/articles/cs-135.pdf
id doaj-e3d3e9be080142bf9402d44551416032
record_format Article
spelling doaj-e3d3e9be080142bf9402d445514160322020-11-24T22:20:41ZengPeerJ Inc.PeerJ Computer Science2376-59922017-10-013e13510.7717/peerj-cs.135Are suggestions from coupled file changes useful for perfective maintenance tasks?Jasmin Ramadani0Stefan Wagner1Institute of Software Technology, University of Stuttgart, Stuttgart, GermanyInstitute of Software Technology, University of Stuttgart, Stuttgart, GermanyBackground Software maintenance is an important activity in the development process where maintenance team members leave and new members join over time. The identification of files which are changed together frequently has been proposed several times. Yet, existing studies about coupled file changes ignore the feedback from developers as well as the impact of these changes on the performance of maintenance and rather these studies rely on the analysis findings and expert evaluation. Methods We investigate the usefulness of coupled file changes during perfective maintenance tasks when developers are inexperienced in programming or when they were new on the project. Using data mining on software repositories we identify files that are changed most frequently together in the past. We extract coupled file changes from the Git repository of a Java software system and join them with corresponding attributes from the versioning and issue tracking system and the project documentation. We present a controlled experiment involving 36 student participants in which we investigate if coupled file change suggestions influence the correctness of the task solutions and the required time to complete them. Results The results show that the use of coupled file change suggestions significantly increases the correctness of the solutions. However, there is only a minor effect on the time required to complete the perfective maintenance tasks. We also derived a set of the most useful attributes based on the developers’ feedback. Discussion Coupled file changes and a limited number of the proposed attributes are useful for inexperienced developers working on perfective maintenance tasks where although the developers using these suggestions solved more tasks, they still need time to understand and organize this information.https://peerj.com/articles/cs-135.pdfData miningSoftware repositoriesCoupled changesGit
collection DOAJ
language English
format Article
sources DOAJ
author Jasmin Ramadani
Stefan Wagner
spellingShingle Jasmin Ramadani
Stefan Wagner
Are suggestions from coupled file changes useful for perfective maintenance tasks?
PeerJ Computer Science
Data mining
Software repositories
Coupled changes
Git
author_facet Jasmin Ramadani
Stefan Wagner
author_sort Jasmin Ramadani
title Are suggestions from coupled file changes useful for perfective maintenance tasks?
title_short Are suggestions from coupled file changes useful for perfective maintenance tasks?
title_full Are suggestions from coupled file changes useful for perfective maintenance tasks?
title_fullStr Are suggestions from coupled file changes useful for perfective maintenance tasks?
title_full_unstemmed Are suggestions from coupled file changes useful for perfective maintenance tasks?
title_sort are suggestions from coupled file changes useful for perfective maintenance tasks?
publisher PeerJ Inc.
series PeerJ Computer Science
issn 2376-5992
publishDate 2017-10-01
description Background Software maintenance is an important activity in the development process where maintenance team members leave and new members join over time. The identification of files which are changed together frequently has been proposed several times. Yet, existing studies about coupled file changes ignore the feedback from developers as well as the impact of these changes on the performance of maintenance and rather these studies rely on the analysis findings and expert evaluation. Methods We investigate the usefulness of coupled file changes during perfective maintenance tasks when developers are inexperienced in programming or when they were new on the project. Using data mining on software repositories we identify files that are changed most frequently together in the past. We extract coupled file changes from the Git repository of a Java software system and join them with corresponding attributes from the versioning and issue tracking system and the project documentation. We present a controlled experiment involving 36 student participants in which we investigate if coupled file change suggestions influence the correctness of the task solutions and the required time to complete them. Results The results show that the use of coupled file change suggestions significantly increases the correctness of the solutions. However, there is only a minor effect on the time required to complete the perfective maintenance tasks. We also derived a set of the most useful attributes based on the developers’ feedback. Discussion Coupled file changes and a limited number of the proposed attributes are useful for inexperienced developers working on perfective maintenance tasks where although the developers using these suggestions solved more tasks, they still need time to understand and organize this information.
topic Data mining
Software repositories
Coupled changes
Git
url https://peerj.com/articles/cs-135.pdf
work_keys_str_mv AT jasminramadani aresuggestionsfromcoupledfilechangesusefulforperfectivemaintenancetasks
AT stefanwagner aresuggestionsfromcoupledfilechangesusefulforperfectivemaintenancetasks
_version_ 1725774473559277568