skip to main content
10.1145/1509837.1509846acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

A machine-checked model of safe composition

Published: 02 March 2009 Publication History

Abstract

Programs of a software product line can be synthesized by composing features which implement some unit of program functionality. In most product lines, only some combination of features are meaningful; feature models express the high-level domain constraints that govern feature compatibility. Product line developers also face the problem of safe composition -- whether every product allowed by a feature model is type-safe when compiled and run. To study the problem of safe composition, we present Lightweight Feature Java (LFJ), an extension of Lightweight Java with support for features. We define a constraint-based type system for LFJ and prove its soundness using a full formalization of LFJ in Coq. In LFJ, soundness means that any composition of features that satisfies the typing constraints will generate a well-formed LJ program. If the constraints of a feature model imply these typing constraints then all programs allowed by the feature model are type-safe.

References

[1]
D. Ancona and S. Drossopoulou. Polymorphic bytecode: Compositional compilation for java-like languages. In In ACM Symp. on Principles of Programming Languages 2005, pages 26--37. ACM Press, 2005.
[2]
S. Apel and D. Hutchins. An overview of the gDEEP calculus. Technical Report Technical Report MIP-0712, Department of Informatics and Mathematics, University of Passau, November 2007.
[3]
S. Apel, C. Kastner, and C. Lengauer. Feature Featherweight Java: A calculus for feature-oriented programming and stepwise refinement. In Proceedings of the 7th International Conference on Generative Programming and Component Engineering (GPCE). ACM Press, Oct. 2008.
[4]
D. Batory. Feature-oriented programming and the AHEAD tool suite. Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on, pages 702--703, May 2004.
[5]
D. Batory. Feature models, grammars, and propositional formulas. In Software Product Lines Conference, LNCS 3714, pages 7--20. Springer, 2005.
[6]
Y. Bertot and P. Casteran. Interactive Theorem Proving and Program Development. Springer-Verlag, Berlin, 2004.
[7]
K. Czarnecki and K. Pietroszek. Verifying feature-based model templates against well-formedness OCL constraints. In GPCE '06: Proceedings of the 5th international conference on Generative programming and component engineering, pages 211--220, New York, NY, USA, 2006. ACM.
[8]
B. Delaware, W. Cook, and D. Batory. A machine-checked model of safe composition. In Foundations of Aspected-Oriented Languages (FOAL)}, 2009.
[9]
B. C. Pierce. Types and Programming Languages. MIT Press, 2002.
[10]
R. Prieto-Diaz and J. Neighbors. Module interconnection languages: A survey. Technical report, University of California at Irvine, August 1982. ICS Technical Report 189.
[11]
P. Sewell, F. Z. Nardelli, S. Owens, G. Peskine, T. Ridge, S. Sarkar, and R. Strnivsa. Ott: effective tool support for the working semanticist. In ICFP '07: Proceedings of the 12th ACM SIGPLAN international conference on Functional programming, pages 1--12, New York, NY, USA, 2007. ACM.
[12]
R. Strnisa, P. Sewell, and M. J. Parkinson. The Java module system: core design and semantic definition. In R. P. Gabriel, D. F. Bacon, C. V. Lopes, and G. L. S. Jr., editors, OOPSLA, pages 499--514. ACM, 2007.
[13]
S. Thaker, D. Batory, D. Kitchin, and W. Cook. Safe composition of product lines. In GPCE '07: Proceedings of the 6th international conference on Generative programming and component engineering, pages 95--104, New York, NY, USA, 2007. ACM.

Cited By

View all

Index Terms

  1. A machine-checked model of safe composition

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FOAL '09: Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
    March 2009
    42 pages
    ISBN:9781605584522
    DOI:10.1145/1509837
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 March 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. feature model
    2. product lines
    3. type safety

    Qualifiers

    • Research-article

    Conference

    AOSD '09

    Acceptance Rates

    Overall Acceptance Rate 5 of 6 submissions, 83%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 06 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media