Access the full text.
Sign up today, get DeepDyve free for 14 days.
Christian Kästner, S. Apel, Martin Kuhlemann (2008)
Granularity in software product lines2008 ACM/IEEE 30th International Conference on Software Engineering
E. Miya (1985)
On "Software engineering"ACM SIGSOFT Softw. Eng. Notes, 10
K. Bennett, Mel Colter (1989)
Journal of software maintenance : research and practice
D. Batory, S. O'Malley (1992)
The design and implementation of hierarchical software systems with reusable componentsACM Trans. Softw. Eng. Methodol., 1
Transactions on Software Engineering and Methodology
S. Apel, Thomas Leich, G. Saake (2008)
Aspectual Feature ModulesIEEE Transactions on Software Engineering, 34
J. Estublier, D. Leblang, A. Hoek, R. Conradi, G. Clemm, W. Tichy, Darcy Weber (2005)
Impact of software engineering research on the practice of software configuration managementACM Transactions on Software Engineering and Methodology (TOSEM), 14
Christian Kästner, S. Apel, Syed Rahman, M. Rosenmüller, D. Batory, G. Saake (2009)
On the impact of the optional feature problem: analysis and case studies
L. Wingerd, C. Seiwald (1998)
High-Level Best Practices in Software Configuration Management
Pedro Szekely, Ping Luo, R. Neches (1992)
Facilitating the exploration of interface design alternatives: the HUMANOID model of interface designProceedings of the SIGCHI Conference on Human Factors in Computing Systems
Malte Rosenthal (2009)
Alternative Features in Colored Featherweight Java
Peter Darnell, Philip Margolis (1991)
The C Preprocessor
(2011)
The choice calculus : A representation for software variation
Michael Ernst, Greg Badros, D. Notkin (2002)
An Empirical Analysis of C Preprocessor UseIEEE Trans. Software Eng., 28
H. Spencer, Geoffrey Collyer (1992)
#ifdef Considered Harmful, or Portability Experience with C News
Jia Liu, D. Batory, C. Lengauer (2006)
Feature oriented refactoring of legacy applicationsProceedings of the 28th international conference on Software engineering
M. Mezini, K. Ostermann (2004)
Variability management with feature-oriented programming and aspects
D. Batory, J. Sarvela, A. Rauschmayer (2003)
Scaling step-wise refinementIEEE Transactions on Software Engineering, 30
C. Walrad, D. Strom (2002)
The Importance of Branching Models in SCMComputer, 35
U. Assmann (2003)
Invasive Software Composition
Pierre-Yves Schobbens, P. Heymans, Jean-Christophe Trigaux (2006)
Feature Diagrams: A Survey and a Formal Semantics14th IEEE International Requirements Engineering Conference (RE'06)
Gilad Bracha, W. Cook (1990)
Mixin-based inheritance
Gul Agha (1990)
Concurrent object-oriented programmingCommun. ACM, 33
S. Apel, C. Lengauer, B. Möller, Christian Kästner (2008)
An Algebra for Features and Feature Composition
(1990)
Feature-oriented domain analysis (FODA) feasibility study
F. Tichy (1982)
Implementation and evaluation of a revision control system
K. Pohl, Günter Böckle, F. Linden (2005)
Software Product Line Engineering
D. Parnas (2001)
On the Design and Development of Program FamiliesIEEE Trans. Software Eng., 2
Walkingshaw
D. Batory (2005)
Feature Models, Grammars, and Propositional Formulas
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, J. Irwin (1996)
Aspect-oriented programming
P. Höfner, Ridha Khédri, B. Möller (2006)
Feature Algebra
Hongyu Zhang, S. Jarzabek (2004)
XVCL: a mechanism for handling variants in software product linesSci. Comput. Program., 53
H. Ossher, P. Tarr (2000)
Hyper/J/sup TM/: multi-dimensional separation of concerns for Java/sup TM/Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001
P. Tarr, H. Ossher (2000)
Hyper/J/sup TM/: multi-dimensional separation of concerns for Java/sup TM/Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium
D. Batory, Jia Liu, J. Sarvela (2003)
Refinements and multi-dimensional separation of concerns
Günter Kniesel, R. Filman (2005)
Unanticipated Software Evolution: Issue OverviewsJournal of Software Maintenance and Evolution: Research and Practice, 17
C. Date (2005)
Database in depth - relational theory for practitioners
P. Tarr, H. Ossher, W. Harrison, S. Sutton (1999)
N degrees of separation: multi-dimensional separation of concernsProceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)
D. Batory, R. Lopez-Herrejon, Jean-Phillipe Martin (2002)
Generating product-lines of product-familiesProceedings 17th IEEE International Conference on Automated Software Engineering,
ÜvÝ (2000)
A Layered Architecture for Uniform Version Management
J. Buckley, T. Mens, Matthias Zenger, A. Rashid, Günter Kniesel
Journal of Software Maintenance and Evolution: Research and Practice towards a Taxonomy of Software Change
The Choice Calculus: A Representation for Software Variation MARTIN ERWIG and ERIC WALKINGSHAW, Oregon State University Many areas of computer science are concerned with some form of variation in software from managing changes to software over time to supporting families of related artifacts. We present the choice calculus, a fundamental representation for software variation that can serve as a common language of discourse for variation research, lling a role similar to the lambda calculus in programming language research. We also develop an associated theory of software variation, including sound transformations of variation artifacts, the de nition of strategic normal forms, and a design theory for variation structures, which will support the development of better algorithms and tools. Categories and Subject Descriptors: D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement Extensibility, version control; D.2.9 [Software Engineering]: Management Software con guration management; D.3.1 [Programming Languages]: Formal De nitions and Theory General Terms: Languages, Theory Additional Key Words and Phrases: Variation, representation ACM Reference Format: Erwig, M. and Walkingshaw, E. 2011. The choice calculus: A representation for software variation. ACM Trans. Softw. Eng. Methodol. 21, 1, Article 6 (December 2011), 27 pages. DOI = 10.1145/2063239.2063245 http://doi.acm.org/10.1145/2063239.2063245 1. INTRODUCTION Effectively dealing with variation
ACM Transactions on Software Engineering and Methodology (TOSEM) – Association for Computing Machinery
Published: Dec 1, 2011
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.