DocumentCode :
1606170
Title :
Morpheus: Variability-Aware Refactoring in the Wild
Author :
Liebig, Jorg ; Janker, Andreas ; Garbe, Florian ; Apel, Sven ; Lengauer, Christian
Author_Institution :
Univ. of Passau, Passau, Germany
Volume :
1
fYear :
2015
Firstpage :
380
Lastpage :
391
Abstract :
Today, many software systems are configurable with conditional compilation. Just like any software system, configurable systems need to be refactored in their evolution, but their inherent variability induces an additional dimension of complexity that is not addressed well by current academic and industrial refactoring engines. To improve the state of the art, we propose a variability-aware refactoring approach that relies on a canonical variability representation and recent work on variability-aware analysis. The goal is to preserve the behavior of all variants of a configurable system, without compromising general applicability and scalability. To demonstrate practicality, we developed Morpheus, a sound, variability-aware refactoring engine for C code with preprocessor directives. We applied Morpheus to three substantial real-world systems (Busybox, OpenSSL, and SQLite) showing that it scales reasonably well, despite of its heavy reliance on satisfiability solvers. By extending a standard approach of testing refactoring engines with support for variability, we provide evidence for the correctness of the refactorings implemented.
Keywords :
C language; computability; program compilers; program diagnostics; software maintenance; software reliability; C code; Morpheus; canonical variability representation; conditional compilation; preprocessor directives; satisfiability solvers; software systems; testing refactoring engines; variability-aware analysis; variability-aware refactoring approach; Complexity theory; Data structures; Engines; Scalability; Software systems; Standards; Testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
Type :
conf
DOI :
10.1109/ICSE.2015.57
Filename :
7194590
Link To Document :
بازگشت