Language support for feature-oriented product line engineering
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
Type checking annotation-based product lines
ACM Transactions on Software Engineering and Methodology (TOSEM)
A variability-aware module system
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Extending Type Inference to Variational Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
We have developed and maintained a set of closely related compilers. Although much of their code is duplicated and shared, they have been maintained separately because they are treated as different compilers. Even if they were merged together, the combined code would become too complicated to serve as the base for another extension. We describe our experience to address this problem by adopting the product line engineering paradigm to build a family of compilers. This paradigm encourages developers to focus on developing a set of compilers rather than on developing one particular compiler. We show engineering activities for a family of compilers from product line analysis through product line architecture design to product line component design. Then, we present how to build particular compilers from core assets resulting from the previous activities and how to take advantage of modern programming language technology to organize this task. Our experience demonstrates that the product line engineering as a developing paradigm can ease the construction of a family of compilers.