Off-campus UNL users: To download campus access dissertations, please use the following link to log into our proxy server with your NU ID and password. When you are done browsing please remember to return to this page and log out.

Non-UNL users: Please talk to your librarian about requesting this dissertation through interlibrary loan.

SPL-XFactor: A framework for reverse engineering feature models

Thammasak Thianniwet, University of Nebraska - Lincoln


Software product line engineering utilizes a feature model to represent variability and to define a feasible set of products. However, feature models do not always exist or are often not modified as systems evolve. Recent work has examined ways to synthesize feature models from an intermediate representation, to derive feature constraints from code and build files, or to reverse engineer feature models from a known set of products. While each of these techniques has provided utility for producing a feature model, there is no end-to-end solution for deriving and then refactoring a feature model. Furthermore, the primary objective of refactoring the feature model has focused on only a single objective – to match a given (valid) set of products. In this dissertation, we present SPL-XFactor, an end-to-end search-based framework for reverse engineering feature models. It improves over existing work by supporting complex constraints during search, providing a more accurate fitness function than the state of the art, and by incorporating support for multi-objective search. SPL-XFactor includes three new fitness functions to represent different quality dimensions of a feature model, one for simplicity and two for testability. We show that it is possible to refactor for these objectives in combination with the validity fitness function. We also present a new validity fitness function based on the underlying model constraints that retains validity accuracy, but significantly reduces the execution time of the search to provide scalability. Our evaluations demonstrate an end-to end solution for reverse engineering feature models starting directly from source code of SPLs, from an intermediate set of constraints, or from an existing set of products. Finally, we present an exploratory study of SPL-XFactor to show its extensibility. We reverse engineer Android Permission Models (APM) to understand the commonality and variability of Android applications. Our preliminary results show that it may be possible to differentiate between malware and benign permission models using SPL-XFactor.

Subject Area

Computer science

Recommended Citation

Thianniwet, Thammasak, "SPL-XFactor: A framework for reverse engineering feature models" (2016). ETD collection for University of Nebraska - Lincoln. AAI10142905.