Reverse Engineering Variability for Configurable Systems using Formal Concept Analysis: The Odoo case study

Reverse Engineering a Feature Model (FM) of an existing system allows its migration to a software product line approach to simplify the management of this system by applying a Software Product Line Engineering methodology that focuses mainly on the FM to determine the reusable artefacts and the variation points of the system. This thesis is a case study on the Odoo framework to define a reverse engineering approach that can drive an automatic synthesis of an FM to represent the variability architecture of the system. We manually explored the Odoo framework source code to identify variability patterns, then exploited Formal Concept Analysis properties to derive the FM based on the Odoo module’s dependencies. The heuristic that we executed for the process of reverse engineering is effective and results in FM, which describes the product configuration variability.