Answering software evolution questions: An empirical evaluation

  • Authors:
  • Lile Hattori;Marco D'Ambros;Michele Lanza;Mircea Lungu

  • Affiliations:
  • REVEAL @ Faculty of Informatics, University of Lugano, Switzerland;REVEAL @ Faculty of Informatics, University of Lugano, Switzerland;REVEAL @ Faculty of Informatics, University of Lugano, Switzerland;Software Composition Group, University of Berne, Switzerland

  • Venue:
  • Information and Software Technology
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context: Developers often need to find answers to questions regarding the evolution of a system when working on its code base. While their information needs require data analysis pertaining to different repository types, the source code repository has a pivotal role for program comprehension tasks. However, the coarse-grained nature of the data stored by commit-based software configuration management systems often makes it challenging for a developer to search for an answer. Objective: We present Replay, an Eclipse plug-in that allows developers to explore the change history of a system by capturing the changes at a finer granularity level than commits, and by replaying the past changes chronologically inside the integrated development environment, with the source code at hand. Method: We conducted a controlled experiment to empirically assess whether Replay outperforms a baseline (SVN client in Eclipse) on helping developers to answer common questions related to software evolution. Results: The experiment shows that Replay leads to a decrease in completion time with respect to a set of software evolution comprehension tasks. Conclusion: We conclude that there are benefits in using Replay over the state of the practice tools for answering questions that require fine-grained change information and those related to recent changes.