Using evolutionary annotations from change logs to enhance program comprehension

TitleUsing evolutionary annotations from change logs to enhance program comprehension
Publication TypeConference Paper
Year of Publication2006
AuthorsGerman, DM, Rigby, PC, Storey, M-A
Secondary TitleProceedings of the 2006 international workshop on Mining software repositories
Place PublishedNew York, NY, USA
ISBN Number1-59593-397-2
Keywordsannotations, apache, bug tracking, change history, eclipse, evolutionary, log files, mailing lists, mining software repositories, software evolution, version control

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.

Full Text
PDF icon 159UsingEvolutionary.pdf575.25 KB