SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Implicit parameters: dynamic scoping with static types
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming
A Standard Problem for Evaluating Product-Line Methodologies
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
Integrating Independently-Developed Components in Object-Oriented Languages
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
OpenJava: A Class-Based Macro System for Java
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Framework Composition: Problems, Causes and Solutions
TOOLS '97 Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems
IEEE Transactions on Software Engineering
A New Architecture for Transformation-Based Generators
IEEE Transactions on Software Engineering
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Formalizing refactorings with graph transformations: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
New methods in software product line practice
Communications of the ACM - Software product line
ReBA: refactoring-aware binary adaptation of evolving libraries
Proceedings of the 30th international conference on Software engineering
Safe composition of non-monotonic features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Composite connectors for composing software components
SC'07 Proceedings of the 6th international conference on Software composition
Patching product line programs
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Improving reuse of component families by generating component hierarchies
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Software product line evolution with cardinality-based feature models
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
Variant-preserving refactoring in feature-oriented software product lines
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Architectural evolution of FamiWare using cardinality-based feature models
Information and Software Technology
Refactoring delta-oriented software product lines
Proceedings of the 12th annual international conference on Aspect-oriented software development
Implementing refactorings for FOP: lessons learned and challenges ahead
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
A taxonomy of software product line reengineering
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
In feature-oriented programming, a feature is an increment in program functionality and is implemented by a feature module. Programs are generated by composing feature modules. A generated program may be used by other client programs but occasionally must be transformed to match a particular legacy interface before it can be used. We call the mismatch of the interface of a generated program and a client-desired interface an incompatibility . We introduce the notion of refactoring feature modules (RFMs) that extend feature modules with refactorings. We explain how RFMs reduce incompatibilities and facilitate reuse, and report our experiences on five case studies.