January 4:
Course overview, introduction to Kenyon software evolution infrastructure
Janauary 9: Does Code Decay?
Due: Software
Aging
Due: Does
Code Decay? Assessing the Evidence from Change Management Data
January 11: SPE Classification of Evolution
Due: Software Evolution
Due: Facets of Software Evolution
January 16: Open Source Software Evolution
Due: Two
Case Studies of Open Source Software Development: Apache and Mozilla
Due: Understanding Open Source Software Evolution
January 18: Refactoring
Due: A
Survey of Software Refactoring
Due: Refactoring
Practice: How it is and How it Should be Supported - An Eclipse Case Study
January 23: Repository Extraction
Due: Populating
a Release History Database from Version Control and Bug Tracking Systems
Due: Preprocessing
CVS Data for Fine-Grained Analysis
Due: Facilitating Software Evolution Research with Kenyon
Due: Term project description (1 page)
January 25: Analytic Techniques
Due: Automatic Identification of Bug-Introducing Changes
Due: When Functions Change Their Names: Automatic Detection of
Origin Relationships
January 30: Code Clones and their Detection
Due: An
Ethnographic Study of Copy and Paste Programming Practices in OOPL
Due: Assessing
the Benefits of Incorporating Function Clone Detection in a Development Process
February 1: Metrics
Due: Future
Trends in Software Evolution Metrics
Due: Visualizing
Multiple Evolution Metrics
Due: Finding
Refactorings via Change Metrics
Feburary 6:
Due: CVS
Release History Data for Detecting Logical Couplings
Due: Yesterday's
Weather: Guiding Early Reverse Engineering Efforts by Summarizing the Evolution of Changes
February 8:
Due: Improving
Evolvability through Refactoring
Due: Fine-Grained
Analysis of Change Couplings
February 13: Architecture
Due: An
Integrated Approach for Studying Architectural Evolution
Due: Tracking
Concerns in Evolving Source Code: An Empirical Study
Due: An Orchestrated
Multi-view Software Architecture Reconstruction Environment
Feburary 15: Design
Due: A Study
of Design Characteristics in Evolving Software Using Stability as a Criterion
Due: Refactoring
Detection based on UMLDiff Change-Facts Queries
Due: Micro Pattern Evolution
February 20:
Due:
Mining Version Histories to Guide Software Changes
Due: Hipikat:
Recommending Pertinent Software Development Artifacts
Due: Rough draft of final project report
Feburary 22:
No class.
February 27: Visualization
Due: Unifying
Artifacts and Activities in a Visual Tool for Distributed Software Development Teams
Due: Visualizing
Software Changes
Due: Visualization of CVS Repository Information
March 1: Software Instabilities
Due: Software Instability Analysis: Co-Change
Analysis Across Configuration-Based Dependence Relationships, pp. 21-39, and pp. 50-80.
March 6:
No class.
March 8:
No class.
March 9:
Class meets in E2 392, 3PM.
Due: Memories of Bug Fixes
Due: Predicting Faults from Cached History
March 13: Social Network Evolution
Due: Mining Email Social Networks
March 15:
Due: In-class presentation of term research project
March 20:
Due: Final project report
Last modified: 3/5/2007