GHALLAB Karim

Postdoc at Sorbonne University
Team : MoVe

Supervision : Tewfik ZIADI

A Hybrid Approach for Managing Software Variability in the Context of Enterprise Application Development

Software Product Lines (SPLs) are a well-established paradigm for managing variability and enabling systematic reuse across software systems that share common functionalities. SPLs are especially valuable in industrial settings, where there is a strong demand for mass customization and efficient maintenance of product variants. However, despite their maturity, SPL engineering continues to face significant challenges, particularly in the context of migrating existing legacy systems into structured and maintainable SPLs.

This thesis builds upon Mobioos Forge (MF), a Visual Studio Code extension designed to support the migration of legacy applications into SPLs. As part of the first contribution, we extended MF in two key ways. First, we enhanced its ability to manage variability at the resource level, enabling the modeling and reuse of resources such as textual content, colors, and external files. Second, we integrated automated anomaly detection mechanisms capable of identifying optional-feature problems and dead code. These extensions significantly improve the consistency, reliability, and maintainability of the generated variants.

Second, we validated MF's semi-automated migration workflow by applying it to three representative case studies: ArgoUML, a widely used benchmark in the feature location domain; eShopOnContainers, a microservice-based application developed by Microsoft; and Magento, a large-scale PHP-based e-commerce platform comprising approximately 3.6 million lines of code. The results demonstrate that the proposed approach enables the migration of diverse and complex systems into SPLs with a relatively low manual effort, highlighting its scalability and practical applicability.

The third contribution, Var-Scope, proposes a reverse engineering technique to automatically recover SPLs from preprocessor-based code annotated with #ifdef. Using Var-Scope, we transformed five open-source systems into MF-compatible SPLs. This showed that legacy codebases can be effectively modernized and made manageable under SPL principles.

Finally, we introduced InsightMapper, an approach to quality analysis that shifts the focus from structural components to features. Using static analysis tools such as SonarQube and Snyk, we performed feature-oriented evaluations on ArgoUML, eShopOnContainers, and Magento. This enabled a finer-grained understanding of software quality, facilitated feature-level quality scoring, and revealed how different tools converge or diverge in their assessment of feature quality. Building on these insights, InsightMapper also supports the design of prioritization strategies that are more relevant to decision makers.

Through these contributions, this work advances the state of SPL engineering by strengthening tool support, streamlining the migration of legacy systems, enabling the detection of variability-related anomalies, and supporting informed decision-making through feature-oriented quality assessments.


Phd defence : 12/09/2025

Jury members :

Marianne Huchard (Montpellier) [Rapporteur]
Lionel Seinturier, Professeur (Lille) [Rapporteur]
Pascal Poizat, Professeur (Nanterre)
Salah Sadou, Professeur (Bretagne Sud)
Chouki Tibermacine, Professeur (Bretagne Sud)
Tewfik Ziadi, Maitre de Conférences HDR, LIP6

Departure date : 12/31/2025

2023-2025 Publications