A Theory of Structured Change
Abstract
This project has developed a theoretical framework for describing and reasoning about changes in software. The theory provides a basis for the implementation of tools to support software maintenance tasks in the presence of changes. Specific contributions include the choice calculus, a formalism for representing variation and changes in structured documents. The choice calculus offers laws and transformation rules that make variation representations flexible. A design theory for the choice calculus has been developed for the systematic elimination of redundancies or dead variants. Another focus of this project has been the development of methods for effectively checking properties of variational software, which has led to the design of variational type systems and new unification algorithms. The practical work with variational software is supported through a user study that has demonstrated that the dimension-structured choice constructs of the choice calculus help users reason about variational code faster and more accurately and ultimately support code understanding better than traditional CPP annotations. Finally, a domain-specific language (DSL) has been developed which makes it possible to write programs to query, manipulate, and analyze variation structures.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 29, 2012
- Accession Number
- ADA565299
Entities
People
- Martin Erwig
Organizations
- Oregon State University