skip to main content
10.1145/1868294.1868296acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
keynote

A language for software variation research

Published:10 October 2010Publication History

ABSTRACT

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.

References

  1. }}S. Apel and C. Kastner. An Overview of Feature-Oriented Software Development. Journal of Object Technology, 8(5):49--84, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  2. }}D. Batory. Feature Models, Grammars, and Propositional Formulas. In Int. Software Product Line Conf., LNCS 3714, pages 7--20, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}D. Batory, Jacob Neal Sarvela, and Axel Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. on Software Engineering, 30(6):355--371, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}K. Czarnecki and U. Eisenecker. Generative Programming: Method, Tools, and Applications. Addison-Wesley, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}C. J. Date. Database in Depth: Relational Theory for Practitioners. O’Reilly Media, Inc., 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}U. Dayal and P. A. Bernstein. On the correct translation of update operations on relational views. ACM Trans. on Database Systems, 7(3):381--416, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}M. D. Ernst, G. J. Badros, and D. Notkin. An Empirical Analysis of C Preprocessor Use. IEEE Trans. on Software Engineering, 28(12):1146--1170, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}M. Erwig and D. Le. Supporting Feature Modeling with the Choice Calculus. 2010. In preparation.Google ScholarGoogle Scholar
  9. }}M. Erwig and D. Ren. An Update Calculus for Expressing Type-Safe Program Updates. Science of Computer Programming, 67(2--3):199--222, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. }}M. Erwig and E. Walkingshaw. The Choice Calculus: A Representation for Software Variation. ACM Trans. on Software Engineering and Methodology, 2010. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}J. Estublier, D. Leblang, A. van der Hoek, R. Conradi, G. Clemm, W. Tichy, and D. Wiborg-Weber. Impact of Software Engineering Research on the Practice of Software Configuration Management. ACM Trans. on Software Engineering and Methodology, 14(4):383--430, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}J. N. Foster, M. B. Greenwald, J. T. Moore, B. C. Pierce, and A. Schmitt. Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Trans. on Programming Languages and Systems, 29(3):17, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}GNU Project. The C Preprocessor. Free Software Foundation, 2009. http://gcc.gnu.org/onlinedocs/cpp/.Google ScholarGoogle Scholar
  14. }}K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  15. }}C. Kastner and S. Apel. Type Checking Software Product Lines-A Formal Approach. In IEEE Int. Conf. on Automated Software Engineering, pages 258--267, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. }}C. Kastner, S. Apel, and M. Kuhlemann. Granularity in Software Product Lines. In IEEE Int. Conf. on Software Engineering, pages 311--320, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}M. Kim. Analyzing and Inferring the Structure of Code Changes. PhD thesis, University of Washington, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}H. Ossher and P. Tarr. Hyper/J: Multi-Dimensional Separation of Concerns for Java. In IEEE Int. Conf. on Software Engineering, pages 734--737, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}D. L. Parnas. On the Design and Development of Program Families. IEEE Trans. on Software Engineering, 2(1):1--9, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. }}K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer-Verlang, Berlin Heidelberg, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}W. F. Tichy. Design, Implementation, and Evaluation of a Revision Control System. IEEE Int. Conf. on Software Engineering, pages 58--67, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A language for software variation research

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          GPCE '10: Proceedings of the ninth international conference on Generative programming and component engineering
          October 2010
          198 pages
          ISBN:9781450301541
          DOI:10.1145/1868294
          • General Chair:
          • Eelco Visser,
          • Program Chair:
          • Jaakko Järvi
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 46, Issue 2
            GPCE '10
            Febuary 2011
            185 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1942788
            Issue’s Table of Contents

          Copyright © 2010 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 10 October 2010

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • keynote

          Acceptance Rates

          GPCE '10 Paper Acceptance Rate18of59submissions,31%Overall Acceptance Rate56of180submissions,31%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader