Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ICSE '94 Proceedings of the 16th international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Formalising Behaviour Preserving Program Transformations
ICGT '02 Proceedings of the First International Conference on Graph Transformation
Specification of Graph Translators with Triple Graph Grammars
WG '94 Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science
Practical analysis for refactoring
Practical analysis for refactoring
IEEE Transactions on Software Engineering
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
Proceedings of the 5th international conference on Generative programming and component engineering
Sound and extensible renaming for java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Reasoning about edits to feature models
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Stepping Stones over the Refactoring Rubicon
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
From Public to Private to Absent: Refactoring Java Programs under Constrained Accessibility
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Specifying and implementing refactorings
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A theory of software product line refinement
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Refactoring using type constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model-based coverage-driven test suite generation for software product lines
Proceedings of the 14th international conference on Model driven engineering languages and systems
Access control in feature-oriented programming
Science of Computer Programming
Variant-preserving refactoring in feature-oriented software product lines
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Model-based pairwise testing for feature interaction coverage in software product line engineering
Software Quality Control
Language-Independent and Automated Software Composition: The FeatureHouse Experience
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Software product lines (SPL) gain momentum as a mean for developing and managing a set of related software systems under one umbrella. While intensive research on design and implementation of SPLs exist, the consequences of continuous evolution over time such as a decay of design or implementation have been neglected so far. In this context, refactoring has been shown to be an appropriate mean for improving the structure of source code. In this paper, we provide support for fine-grained program refactoring of feature-oriented SPLs. Particularly, we extend existing, object-oriented refactorings by taking the additional dimension of variability into account. To this end, we present the tool VAmPiRE as a basic framework for such refactorings and explain our considerations during implementation, which has been mainly guided by the idea of decomposing refactorings for ease and understandability. Additionally, we provide a detailed discussion about problems and limitations we faced during the implementation and come up with future challenges that have to be tackled for reliable and automated refactoring of software product lines.