OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
A syntactic approach to type soundness
Information and Computation
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
On the inference of configuration structures from source code
ICSE '94 Proceedings of the 16th international conference on Software engineering
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Software architecture in practice
Software architecture in practice
Contraint-based polymorphism in Cecil: towards a practical and static type system
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Hyper/J: multi-dimensional separation of concerns for Java
Proceedings of the 22nd international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Types and programming languages
Types and programming languages
CLU Reference Manual
An Empirical Analysis of C Preprocessor Use
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Easing the Transition to Software Mass Customization
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
WPC '97 Proceedings of the 5th International Workshop on Program Comprehension (WPC '97)
Experiences Developing and Maintaining Software in a Multi-Platform Environment
ICSM '97 Proceedings of the International Conference on Software Maintenance
The PURE Family of Object-Oriented Operating Systems for Deeply Embedded Systems
ISORC '99 Proceedings of the 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
IEEE Transactions on Software Engineering
Design of Large-Scale Polylingual Systems
Proceedings of the 26th International Conference on Software Engineering
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Variability management with feature models
Science of Computer Programming - Special issue: Software variability management
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
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Tool support for feature-oriented software development: featureIDE: an Eclipse-based approach
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Statically scoped object adaptation with expanders
Proceedings of the 21st 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
Feature Diagrams: A Survey and a Formal Semantics
RE '06 Proceedings of the 14th IEEE International Requirements Engineering Conference
A quantitative analysis of aspects in the eCos kernel
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
cJ: enhancing java with safe type conditions
Proceedings of the 6th international conference on Aspect-oriented software development
Safe composition of product lines
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
The java module system: core design and semantic definition
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
Building a Family of Compilers
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
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
Reasoning about edits to feature models
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
FeatureIDE: A tool framework for feature-oriented software development
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Fitting the pieces together: a machine-checked model of safe composition
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A model of refactoring physically and virtually separated features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Dead or Alive: finding zombie features in the Linux kernel
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Tailor-made data management for embedded systems: A case study on Berkeley DB
Data & Knowledge Engineering
A calculus for uniform feature composition
ACM Transactions on Programming Languages and Systems (TOPLAS)
Running a software product line: standing still is going backwards
Proceedings of the 13th International Software Product Line Conference
Verifying architectural design rules of the flight software product line
Proceedings of the 13th International Software Product Line Conference
SAT-based analysis of feature models is easy
Proceedings of the 13th International Software Product Line Conference
Implementing software product lines using traits
Proceedings of the 2010 ACM Symposium on Applied Computing
Type safety for feature-oriented product lines
Automated Software Engineering
Morphing: Structurally shaping a class by reflecting on others
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reverse engineering feature models
Proceedings of the 33rd International Conference on Software Engineering
Automated reasoning on feature models
CAiSE'05 Proceedings of the 17th international conference on Advanced Information Systems Engineering
Statically safe program generation with safegen
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Mapping features to models: a template approach based on superimposed variants
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Variance and generalized constraints for C# generics
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
Automatic detection of feature interactions using the Java modeling language: an experience report
Proceedings of the 15th International Software Product Line Conference, Volume 2
Understanding variability abstraction and realization
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
On the impact of feature dependencies when maintaining preprocessor-based software product lines
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Variability-aware parsing in the presence of lexical macros and conditional compilation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Features and object capabilities: reconciling two visions of modularity
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Detection of feature interactions using feature-aware verification
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
A theory of software product line refinement
Theoretical Computer Science
An error-tolerant type system for variational lambda calculus
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Family-based deductive verification of software product lines
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Toward variability-aware testing
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
A variability-aware module system
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Feature-oriented software evolution
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
Towards correct product derivation in model-driven product lines
SAM'12 Proceedings of the 7th international conference on System Analysis and Modeling: theory and practice
Variability in software: state of the art and future directions
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Scalable analysis of variable software
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Product-line verification with feature-oriented contracts
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Family-based performance measurement
Proceedings of the 12th international conference on Generative programming: concepts & experiences
A comparison of product-based, feature-based, and family-based type checking
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Investigating preprocessor-based syntax errors
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
Low-level variability support for web-based software product lines
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
Software product line engineering is an efficient means of generating a family of program variants for a domain from a single code base. However, because of the potentially high number of possible program variants, it is difficult to test them all and ensure properties like type safety for the entire product line. We present a product-line-aware type system that can type check an entire software product line without generating each variant in isolation. Specifically, we extend the Featherweight Java calculus with feature annotations for product-line development and prove formally that all program variants generated from a well typed product line are well typed. Furthermore, we present a solution to the problem of typing mutually exclusive features. We discuss how results from our formalization helped implement our own product-line tool CIDE for full Java and report of our experience with detecting type errors in four existing software product line implementations.