Term Project

All students are expected to perform a term project for the class, which may be done either individually, or in a small group (larger groups have larger expectations). The project involves a significant investigation into some aspect of software evolution. The goal of the project is to permit a more in-depth exploration of software evolution than is possible from just the in-class disucssions.

The output from the project is a written report, appx. 7-20 pages in length (whatever length is appropriate for adequately describing the project), written in the form of a research paper.

The Software Engineering lab at UCSC, in cooperation with Michael Godfrey and Lijie Zou at Univ. of Waterloo, have developed Kenyon, a useful infrastructure for performing research on software evolution. Kenyon automates many of the steps involved in performing software evolution research by automatically extracting software from a software configuration management repository into the filesystem, where a fact extractor (such as a static dependence analyzer) can be run over it, and the results stored in a consistent schema in a Hibernate database. Student projects are highly encouraged to use Kenyon to perform some kind of software evolution analysis of a software project. Potential analysis ideas include:

Substantial instruction on Kenyon will be provided in-class, and students will have access to the developers of Kenyon for detailed assistance.

Project work will have three deliverables. You will need to decide on a project topic and project partners early in the quarter. A rough draft of your project report will be due later in the quarter, with the final report due the final week. Consult the syllabus for exact due dates.

Last modified: 12/20/2004