Font Size: a A A

SPL-XFactor: A framework for reverse engineering feature models

Posted on:2017-05-24Degree:Ph.DType:Dissertation
University:The University of Nebraska - LincolnCandidate:Thianniwet, ThammasakFull Text:PDF
GTID:1458390008975462Subject:Computer Science
Abstract/Summary:
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.
Keywords/Search Tags:Feature, Model, Spl-xfactor, Products
Related items