GA— Genetic Algorithm-Based Co-Change Recommendation for Infrastructure-as-Code
Tool · Research Tool
Focus: Infrastructure-as-Code (IaC) file co-change recommendation • Method: Mono-objective Genetic Algorithm with hybrid heuristics

Synopsis
Infrastructure-as-Code (IaC) files evolve together with configuration scripts, templates, and dependent artifacts. As repositories grow in size and coupling, developers face difficulty identifying which files should be modified together.
GA-IaCRec is an automated recommendation tool that predicts files likely to co-change with a given IaC file. The tool formulates the recommendation problem as an optimization task and uses a mono-objective Genetic Algorithm (GA) to generate a ranked list of candidate files.
Methodology
1 — Hybrid Heuristic Modeling
The recommendation model combines two complementary heuristics:
- File Similarity: Structural and contextual similarity between files.
- Change History: Historical co-change frequency extracted from version control data.
2 — Genetic Algorithm Optimization
The tool encodes candidate file sets as chromosomes and evolves them using:
- Selection
- Crossover
- Mutation
3 — Empirical Evaluation
The approach was evaluated on 20 open-source Ansible and Puppet projects. Results show that the approach correctly recommended co-changing files in 86% of commits within the Top-10 recommendations. Instance Space Analysis (ISA) revealed stronger performance for IaC files relying heavily on external modules and maintained by dedicated developers.
Key Characteristics
- Optimization-based recommendation model
- Designed specifically for Infrastructure-as-Code ecosystems
- Supports Puppet (.pp) and Ansible (YAML-based) projects
- Balances structural similarity and evolutionary history
- Produces ranked Top-N recommendations
- Validated on large-scale real-world repositories
Research Reference
Bessghaier, N., Ouni, A., Sayagh, M., Chouchen, M., & Mkaouer, M. W. Towards understanding code review practices for infrastructure-as-code: An empirical study on OpenStack projects. Empirical Software Engineering, 2025.
DOI: https://doi.org/10.1007/s10664-025-10654-w
DOI: https://doi.org/10.1007/s10664-025-10654-w
Download
Source code: https://github.com/stilab-ets/iacreview
Repository includes datasets, experimental scripts, and implementation details.
