Extracting domain behaviors through multi-criteria, polymorphism-inspired variability analysis. Issue 108 (September 2022) - Reinhartz-Berger, Iris; Abbas, Sameh
Abstract: 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. Highlights: Extracting domain knowledge may improve system development and maintenance. Domain behaviors can be automatically extracted from implementations of systems. In clone-and-own scenarios, the domain infrastructure can be automatically drafted. In independent development scenarios, a conceptual domain model can be created.