Components and generative programming (invited paper)
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Types and programming languages
Types and programming languages
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
Polymorphic bytecode: compositional compilation for Java-like languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Classbox/J: controlling the scope of change in Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Verifying feature-based model templates against well-formedness OCL constraints
Proceedings of the 5th international conference on Generative programming and component engineering
Safe composition of product lines
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
The java module system: core design and semantic definition
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Feature featherweight java: a calculus for feature-oriented programming and stepwise refinement
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
A machine-checked model of safe composition
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
A model of refactoring physically and virtually separated features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
A calculus for uniform feature composition
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type safety for feature-oriented product lines
Automated Software Engineering
Flexible and scalable consistency checking on product line variability models
Proceedings of the IEEE/ACM international conference on Automated software engineering
Language-independent reference checking in software product lines
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Software development is program transformation
Proceedings of the FSE/SDP workshop on Future of software engineering research
Access control in feature-oriented programming
Science of Computer Programming
Towards fixing inconsistencies in models with variability
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Row types for delta-oriented programming
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
COQ mechanization of featherweight fortress with multiple dispatch and multiple inheritance
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Type checking annotation-based product lines
ACM Transactions on Software Engineering and Methodology (TOSEM)
Encoding Featherweight Java with assignment and immutability using the Coq proof assistant
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
A variability-aware module system
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Conflict detection in delta-oriented programming
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Feature-oriented language families: a case study
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Safe composition of configuration knowledge-based software product lines
Journal of Systems and Software
Subclack: feature-oriented programming with behavioral feature interfaces
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Scalable analysis of variable software
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
A comparison of product-based, feature-based, and family-based type checking
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Extending Type Inference to Variational Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Intraprocedural dataflow analysis for software product lines
Transactions on Aspect-Oriented Software Development X
Hi-index | 0.00 |
Programs of a software product line can be synthesized by composing features which implement a 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.