Object-oriented application frameworks
Communications of the ACM
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Iterative Reengineering of Legacy Systems
IEEE Transactions on Software Engineering
Using the Options Analysis for Reengineering (OAR) Method for Mining Components for a Product Line
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Integrating Legacy Documentation Assets into a Product Line
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
MAP - Mining Architectures for Product Line Evaluations
WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
Supporting Source Code Difference Analysis
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Quality-Driven Object-Oriented Re-Engineering Framework
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
A Case Study in Refactoring a Legacy Component for Reuse in a Product Line
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Asset Recovery and Their Incorporation into Product Lines
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
Variability management in software product line engineering
Proceedings of the 28th international conference on Software engineering
Example-Driven Reconstruction of Software Models
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Extending the Reflexion Method for Consolidating Software Variants into Product Lines
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Variant Comparison - A Technique for Visualizing Software Variants
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Ldiff: An enhanced line differencing tool
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
A Data Mining Approach for Detecting Higher-Level Clones in Software
IEEE Transactions on Software Engineering
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Hi-index | 0.00 |
A large number of software product lines (SPL) in practice are not constructed from scratch, but reengineered from legacy variant products. In order to transfer legacy products to SPL core assets, reverse variability analysis should be involved to find commonality and differences among variant artifacts. In this paper we concentrate on the recovery of SPL framework which can be represented by an object-oriented design model with variation points. We propose a semi-automatic SPL framework recovery approach with the assumption that involved legacy products have similar designs and implementations. In this approach, we adopt a bottom-up process based on clone detection and context analysis to identify corresponding mappings among design elements in different products. Then we use a top-down process from class level to method level with some heuristic rules to determine the commonality/variability classification and the variability type for each design element. In order to evaluate the effectiveness of our approach, we conduct a case study on an industrial product line and present comprehensive analysis and discussions on the results.