What Makes Software Bugs Escape Testing? Evidence from a Large-Scale Empirical Study

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Cotroneo, Domenico, De Rosa, Giuseppe, Improta, Cristina, Varriale, Benedetta Gaia
Format: Preprint
Publié: 2026
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866917447227932672
author Cotroneo, Domenico
De Rosa, Giuseppe
Improta, Cristina
Varriale, Benedetta Gaia
author_facet Cotroneo, Domenico
De Rosa, Giuseppe
Improta, Cristina
Varriale, Benedetta Gaia
contents Understanding how software defects manifest and evolve in production environments is critical for improving reliability. While previous research has largely focused on pre-release defects, the nature of residual faults, i.e., those escaping testing and surfacing post-release, remains poorly understood. This paper presents a large-scale characterization of pre- and post-release defects across C/C++ and Java systems, encompassing over 14k defects mined from open-source projects. We employ a broad suite of software metrics to capture diverse code attributes such as complexity, size, structure, and development history. Results show that post-release defects are concentrated in older, frequently modified, and high-churn components, typically requiring longer and more complex fixes than pre-release ones. These findings highlight that residual defects arise more from evolutionary and process dynamics than code structure alone, suggesting that reliability engineering should prioritize targeted testing in mature and complex code regions.
format Preprint
id arxiv_https___arxiv_org_abs_2604_26672
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle What Makes Software Bugs Escape Testing? Evidence from a Large-Scale Empirical Study
Cotroneo, Domenico
De Rosa, Giuseppe
Improta, Cristina
Varriale, Benedetta Gaia
Software Engineering
Understanding how software defects manifest and evolve in production environments is critical for improving reliability. While previous research has largely focused on pre-release defects, the nature of residual faults, i.e., those escaping testing and surfacing post-release, remains poorly understood. This paper presents a large-scale characterization of pre- and post-release defects across C/C++ and Java systems, encompassing over 14k defects mined from open-source projects. We employ a broad suite of software metrics to capture diverse code attributes such as complexity, size, structure, and development history. Results show that post-release defects are concentrated in older, frequently modified, and high-churn components, typically requiring longer and more complex fixes than pre-release ones. These findings highlight that residual defects arise more from evolutionary and process dynamics than code structure alone, suggesting that reliability engineering should prioritize targeted testing in mature and complex code regions.
title What Makes Software Bugs Escape Testing? Evidence from a Large-Scale Empirical Study
topic Software Engineering
url https://arxiv.org/abs/2604.26672