On the correct translation of update operations on relational views
ACM Transactions on Database Systems (TODS)
Hyper/J: multi-dimensional separation of concerns for Java
Proceedings of the 22nd international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
An Empirical Analysis of C Preprocessor Use
IEEE Transactions on Software Engineering
Design, implementation, and evaluation of a Revision Control System
ICSE '82 Proceedings of the 6th international conference on Software engineering
IEEE Transactions on Software Engineering
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Impact of software engineering research on the practice of software configuration management
ACM Transactions on Software Engineering and Methodology (TOSEM)
Database in Depth: Relational Theory for Practitioners
Database in Depth: Relational Theory for Practitioners
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
An update calculus for expressing type-safe program updates
Science of Computer Programming
On the Design and Development of Program Families
IEEE Transactions on Software Engineering
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
Analyzing and inferring the structure of code change
Analyzing and inferring the structure of code change
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
The Choice Calculus: A Representation for Software Variation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
A language for software variation research
SLE'10 Proceedings of the Third international conference on Software language engineering
Adding configuration to the choice calculus
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Hi-index | 0.00 |
Managing variation is an important problem in software engineering that takes different forms, ranging from version control and configuration management to software product lines. In this paper, I present our recent work 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. After motivating the design of the choice calculus and sketching its semantics, I will discuss several potential application areas.