Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
TypeChef: toward type checking #ifdef variability in C
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Partial preprocessing C code for variability analysis
Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems
Analyzing the discipline of preprocessor annotations in 30 million lines of C code
Proceedings of the tenth international conference on Aspect-oriented software development
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
Type checking annotation-based product lines
ACM Transactions on Software Engineering and Methodology (TOSEM)
Do background colors improve program comprehension in the #ifdef hell?
Empirical Software Engineering
Hi-index | 0.00 |
The computer market demands that companies develop families of software products that can be scaled to meet the functional and performance needs of the personal and business computer markets. To support a family of LaserJet printer products, Hewlett-Packard defined the multi-platform parallel development model for software development. This model allows HP to simultaneously develop a family of LaserJet printers that have different features and run on different processors, while shortening the development . In this paper we discuss our experiences using a technique called conditional compilation, within the multi-platform parallel development model, to create portable, scaleable software systems. We describe and share a new tool that was developed to help understand code containing conditional compilation. Examples of using the tool on industrial source code, and lessons learned while managing conditional compilation complexity, are provided.