Managing variation is an important problem in software engineering that takes different forms, ranging from version control and configuration management to software product lines. Our recent work in this area focuses on the choice calculus, a fundamental representation for software variation that can serve as a common language of discourse for variation research, filling a role similar to lambda calculus in programming language research. The goal of this project is to develop a theory of change for structured objects that provides principles for sound change management and serves as a foundation for more sophisticated versioning tools.
- The Choice Calculus: A Representation for Software Variation
- Program Fields for Continuous Software
- A Language for Software Variation Research