Studying the evolution of software systems using evolutionary code extractors

Software systems are continuously changing and adapting to meet the needs of their users. Empirical studies are needed to better understand the evolutionary process followed by software systems. These studies need tools that can analyze and report various details about the software system's history. We propose evolutionary code extractors as a type of tool to assist in empirical source code evolution research. We present the design dimensions for such an extractor and discuss several of the challenges associated with automatically recovering the evolution of source code.

[1]  Stan Matwin,et al.  Supporting software maintenance by mining software update records , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[2]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[3]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[4]  Annie I. Antón,et al.  Functional paleontology: system evolution as the user sees it , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[5]  Ralf Lämmel,et al.  Deriving tolerant grammars from a base-line grammar , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[6]  Harald C. Gall,et al.  CVS release history data for detecting logical couplings , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[7]  Richard C. Holt,et al.  Architecture recovery of web applications , 2002, ICSE '02.

[8]  M. N. Armstrong,et al.  Evaluating architectural extractors , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[9]  Dirk Draheim,et al.  Process-centric analytical processing of version control data , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[10]  Andreas Zeller,et al.  How history justifies system architecture (or not) , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[11]  David Notkin,et al.  An empirical study of static call graph extractors , 1998, TSEM.

[12]  Michael W. Godfrey,et al.  An integrated approach for studying architectural evolution , 2002, Proceedings 10th International Workshop on Program Comprehension.

[13]  Harald C. Gall,et al.  Detection of logical coupling based on product release history , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).