arrow
Return

A search-based file recommendation approach for infrastructure-as-code evolution

delete2025-12-01
delete0
PRE
AI
N
Narjes Bessghaier *
A
Ali Ouni
M
Mohammed Sayagh
M
Mohamed Wiem Mkaouer
DOI:10.1016/j.jss.2025.112746delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Infrastructure-as-Code (IaC) is increasingly adopted in modern software projects to automate the setup of infrastructure components like servers and networking through code-based files. However, as configurations grow in size, complexity, and coupling with other artifacts (e.g., test files), it becomes challenging for development teams to identify the right files to change. Therefore, we propose an automated approach to recommend files likely to co-change with a given IaC file. Our approach uses a mono-objective genetic algorithm (GA) with a combination of two heuristics: file similarity and change history. Then, GA searches for the optimal solution and generates a ranked list of files from the most to the least likely files to co-change with the given IaC file. We evaluated our approach on 20 open-source Ansible and Puppet projects. Results show that our approach correctly recommended files in 86% of commits within the top 10 recommendations. Using Instance Space Analysis (ISA), we found that our approach performs better for IaC files relying heavily on external modules and maintained by dedicated developers. However, GA struggles with highly customized Ansible files. In Puppet projects, high path similarity did not consistently predict co-changing files, while higher content similarity improved the similarity heuristic.
Keywords:
Infrastructure-as-code
Genetic algorithm
File recommendation
Search-based software engineering (SBSE)

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.4K
Citations:
8.4K

Organization

E
ecole de technologie superieure - canada
Scholars:
1.5K
Papers: 1.6K
Citations: 1
U
university of quebec
Scholars:
2.0W
Papers: 1.9W
Citations: 19