Feature Model Mining
dc.contributor.author | She, Steven | |
dc.date.accessioned | 2008-08-28 14:36:19 (GMT) | |
dc.date.available | 2008-08-28 14:36:19 (GMT) | |
dc.date.issued | 2008-08-28T14:36:19Z | |
dc.date.submitted | 2008 | |
dc.identifier.uri | http://hdl.handle.net/10012/3915 | |
dc.description.abstract | <p>Software systems have grown larger and more complex in recent years. Generative software development strives to automate software development from a systems family by generating implementations using domain-specific languages. In current practice, specifying domain-specific languages is a manual task requiring expert analysis of multiple information sources. Furthermore, the concepts and relations represented in a language are grown through its usage. Keeping the language consistent with its usage is a time-consuming process requiring manual comparison between the language instances and its language specification. Feature model mining addresses these issues by synthesizing a representative model bottom-up from a sample set of instances called configurations.</p> <p>This thesis presents a mining algorithm that reverse-engineers a probabilistic feature model from a set of individual configurations. A configuration consists of a list of features that are defined as system properties that a stakeholder is interested in. Probabilistic expressions are retrieved from the sample configurations through the use of conjunctive and disjunctive association rule mining. These expressions are used to construct a probabilistic feature model. </p> <p>The mined feature model consists of a hierarchy of features, a set of additional hard constraints and soft constraints. The hierarchy describes the dependencies and alternative relations exhibited among the features. The additional hard constraints are a set of propositional formulas which must be satisfied in a legal configuration. Soft constraints describe likely defaults or common patterns.</p> <p>Systems families are often realized using object-oriented frameworks that provide reusable designs for constructing a family of applications. The mining algorithm is evaluated on a set of applications to retrieve a metamodel of the Java Applet framework. The feature model is then applied to the development of framework-specific modeling languages (FSMLs). FSMLs are domain-specific languages that model the framework-provided concepts and their rules for development.</p> <p>The work presented in this thesis provides the foundation for further research in feature model mining. The strengths and weaknesses of the algorithm are analyzed and the thesis concludes with a discussion of possible extensions.</p> | en |
dc.language.iso | en | en |
dc.publisher | University of Waterloo | en |
dc.subject | variability modeling | en |
dc.subject | mining | en |
dc.subject | feature models | en |
dc.subject | reverse engineering | en |
dc.title | Feature Model Mining | en |
dc.type | Master Thesis | en |
dc.pending | false | en |
dc.subject.program | Computer Science (Software Engineering) | en |
uws-etd.degree.department | School of Computer Science | en |
uws-etd.degree | Master of Mathematics | en |
uws.typeOfResource | Text | en |
uws.peerReviewStatus | Unreviewed | en |
uws.scholarLevel | Graduate | en |