Rochester Institute of Technology


CASCADE: Computer Aided Synchronization of Code and Documentation
by Mark Roth

Chairperson of the Supervisory Committee: Professor Michael J. Lutz

Department of Computer Science

Complete, accurate and up-to-date documentation is a critical factor in the development and maintenance of robust software products. Often, however, the documentation and the product diverge over time, leading to inconsistencies that are the source of confusion and faults, which can lead to failure. 

This thesis addresses the inconsistency problem by describing a standard method for the synchronization of documentation with code. As part of the thesis, existing research in the field of Document Engineering is surveyed and related to the method being developed. 

One goal of this approach is to create straightforward integration with existing languages, coding styles, and documentation formats. In particular, the method supports integration into existing development tools and software processes. 

As a proof of concept, an implementation of the CASCADE system has been developed. The HTML documentation and the Java™ source code for the system itself is used as an example to demonstrate the capabilities of CASCADE. Hypothetical changes to the code and documentation are analyzed both with and without the use of the synchronization method. The prototype system has been found to enhance source code and documentation navigation considerably.