Using evolutionary annotations from change logs to enhance program comprehension

  • Authors:
  • Daniel M. German;Peter C. Rigby;Margaret-Anne Storey

  • Affiliations:
  • University of Victoria;University of Victoria;University of Victoria

  • Venue:
  • Proceedings of the 2006 international workshop on Mining software repositories
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Evolutionary annotations are descriptions of how source code evolves over time. Typical source comments, given their static nature, are usually inadequate for describing how a program has evolved over time; instead, source code comments are typically a description of what a program currently does. We propose the use of evolutionary annotations as a way of describing the rationale behind changes applied to a given program (for example "These lines were added to ..."). Evolutionary annotations can assist a software developer in the understanding of how a given portion of source code works by showing him how the source has evolved into its current form.In this paper we describe a method to automatically create evolutionary annotations from change logs, defect tracking systems and mailing lists. We describe the design of a prototype for Eclipse that can filter and present these annotations alongside their corresponding source code and in workbench views. We use Apache as a test case to demonstrate the feasibility of this approach.