期刊
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
卷 48, 期 6, 页码 2086-2104出版社
IEEE COMPUTER SOC
DOI: 10.1109/TSE.2021.3051492
关键词
Measurement; Software; Predictive models; Machine learning; Radon; Cloud computing; Task analysis; Infrastructure-as-code; defect prediction; empirical software engineering
资金
- European Commission [825040, 825480]
- Swiss National Science Foundation [PZ00P2 186090]
This paper explores the role of machine learning in predicting defective infrastructure-as-code (IaC) scripts. The study finds that Random Forest is the best-performing model and that product metrics are more accurate in identifying defective scripts compared to process metrics.
Infrastructure-as-code (IaC) is the DevOps practice enabling management and provisioning of infrastructure through the definition of machine-readable files, hereinafter referred to as IaC scripts. Similarly to other source code artefacts, these files may contain defects that can preclude their correct functioning. In this paper, we aim at assessing the role of product and process metrics when predicting defective IaC scripts. We propose a fully integrated machine-learning framework for IaC Defect Prediction, that allows for repository crawling, metrics collection, model building, and evaluation. To evaluate it, we analyzed 104 projects and employed five machine-learning classifiers to compare their performance in flagging suspicious defective IaC scripts. The key results of the study report Random Forest as the best-performing model, with a median AUC-PR of 0.93 and MCC of 0.80. Furthermore, at least for the collected projects, product metrics identify defective IaC scripts more accurately than process metrics. Our findings put a baseline for investigating IaC Defect Prediction and the relationship between the product and process metrics, and IaC scripts' quality.
作者
我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。
推荐
暂无数据