Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
IEEE Transactions on Software Engineering
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
Lightweight family polymorphism*
Journal of Functional Programming
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
On the impact of the optional feature problem: analysis and case studies
Proceedings of the 13th International Software Product Line Conference
Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Mostly modular compilation of crosscutting concerns by contextual predicate dispatch
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
An advice for advice composition in AspectJ
SC'10 Proceedings of the 9th international conference on Software composition
Do we really need to extend syntax for advanced modularity?
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Transactions on Aspect-Oriented Software Development I
Hi-index | 0.00 |
In feature-oriented programming (FOP), code clones are also important issue. Although an approach called a software product line (SPL) enables to implement products efficiently by reusing most of their code, SPLs implemented by FOP contain a lot of code clones. Code clones are often caused by alternative features and we also found clones in derivatives among alternative features. To resolve this problem, we propose a new FOP language named FeatureGluonJ, which supports family polymorphism with revisers. The code clones among alternative features are separated into another feature and can be shared among the alternative features by extending that feature. Furthermore, clones in derivatives can be removed as well.