Abstract
Variation occurs in many places in software engineering and takes quite different forms. Software can have different versions, and it can come in different configurations. Software can offer different sets of features, and it can appear in different stages of refactoring without any visible effect in functionality. Traditionally, all these forms of variation have used different representations.While this specialization might have some benefits by facilitating the tailoring to the specific needs of one form of variation, it has also some serious drawbacks. First, different representations prevent or complicate a potential integration of different forms of variation. For example, variation in functionality is currently only poorly supported in most versioning tools by branching. Second, it can be difficult to transfer research results achieved within one representation to other representations. Finally, different representations can lead to duplicated work and a balkanization of variation research efforts.
This work is supported by the Air Force Office of Scientific Research under the grant FA9550-09-1-0229 and by the National Science Foundation under the grant CCF-0917092.
Chapter PDF
Similar content being viewed by others
References
Erwig, M.: A Language for Software Variation. In: ACM SIGPLAN Conf. on Generative Programming and Component Engineering, pp. 3–12 (2010)
Erwig, M., Walkingshaw, E.: The Choice Calculus: A Representation for Software Variation. ACM Transactions on Software Engineering and Methodology (to appear, 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Erwig, M. (2011). A Language for Software Variation Research. In: Malloy, B., Staab, S., van den Brand, M. (eds) Software Language Engineering. SLE 2010. Lecture Notes in Computer Science, vol 6563. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19440-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-19440-5_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19439-9
Online ISBN: 978-3-642-19440-5
eBook Packages: Computer ScienceComputer Science (R0)