Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Easing the Transition to Software Mass Customization
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
Reengineering a PC-Based System into the Mobile Device Product Line
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Proceedings of the 5th international conference on Generative programming and component engineering
Using interfaces to support the testing of crosscutting features
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Using Design Structure Matrices to Assess Modularity in Aspect-Oriented Software Product Lines
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
A decision model for implementing product lines variabilities
Proceedings of the 2008 ACM symposium on Applied computing
Integrating Component and Product Lines Technologies
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Supporting software product lines development: FLiP - product line derivation tool
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Feature-Driven and Incremental Variability Generalization in Software Product Line
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Recommending refactorings when restructuring variabilities in software product lines
Proceedings of the 2nd Workshop on Refactoring Tools
Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Modeling features in aspect-based product lines with use case slices: an exploratory case study
MoDELS'06 Proceedings of the 2006 international conference on Models in software engineering
Mapping features to aspects: a model-based generative approach
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
Extracting and evolving code in product lines with aspect-oriented programming
Transactions on aspect-oriented software development IV
Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Emergent feature modularization
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
A theory of software product line refinement
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Components meet aspects: Assessing design stability of a software product line
Information and Software Technology
An introduction to software product line refactoring
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Understanding the longevity of code smells: preliminary results of an explanatory survey
Proceedings of the 4th Workshop on Refactoring Tools
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
From requirements documents to feature models for aspect oriented product line implementation
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
Inter-organisational approach in rapid software product family development — a case study
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Improving extensibility of object-oriented frameworks with aspect-oriented programming
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
User interface engineering for software product lines: the dilemma between automation and usability
Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems
A theory of software product line refinement
Theoretical Computer Science
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
A design rule language for aspect-oriented programming
Journal of Systems and Software
A taxonomy of software product line reengineering
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
For some organizations, the proactive approach to product lines may be inadequate due to prohibitively high investment and risks. As an alternative, the extractive and the reactive approaches are incremental, offering moderate costs and risks, and therefore sometimes may be more appropriate. However, combining these two approaches demands a more detailed process at the implementation level. This paper presents a method for extracting a product line and evolving it, relying on a strategy that uses refactorings expressed in terms of simpler programming laws. The approach is evaluated with a case study in the domain of games for mobile devices, where variations are handled with aspect-oriented constructs.