Extracting domain knowledge is important for different purposes, including development of new systems and maintenance of existing systems in the domain. Automatically supporting this task is challenging; most existing methods assume high similarity of variants which limits reuse of the generated domain artifacts, or provide very low-level features which hinder domain structure and behavior. In this paper, we propose a holistic method for extracting domain knowledge in the form of feature models that capture mandatory, optional and variant domain behaviors. Particularly, the method gets low-level implementations, applies polymorphism-inspired mechanisms and multi-criteria decision making for generating candidate domain behaviors, utilizes machine learning techniques to classify local, global and irrelevant domain behaviors, and finally analyzes dependencies and presents the outcomes in the form of feature models. The approach is evaluated on two datasets: one of open-source video games, named apo-games, following a clone-and-own scenario; and the other on variants of a monopoly game, simulating a scenario of independent development of similarly behaving components.
Bibliographical notePublisher Copyright:
- Feature modeling
- Variability analysis
- Domain engineering
- Multi criteria decision making
- Machine learning