An Anatomy of 488 Faults from Defects4J Based on the Control- and Data-Flow Graph Representations of Programs

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: van der Spuy, Alexandra, Fischer, Bernd
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909595351384064
author van der Spuy, Alexandra
Fischer, Bernd
author_facet van der Spuy, Alexandra
Fischer, Bernd
contents Software fault datasets such as Defects4J provide for each individual fault its location and repair, but do not characterize the faults. Current classifications use the repairs as proxies, but these do not capture the intrinsic nature of the fault. In this paper, we propose a new, direct fault classification scheme based on the control- and data-flow graph representations of programs. Our scheme comprises six control-flow and two data-flow fault classes. We manually apply this scheme to 488 faults from seven projects in the Defects4J dataset. We find that the majority of the faults are assigned between one and three classes. We also find that one of the data-flow fault classes (definition fault) is the most common individual class but that the majority of faults are classified with at least one control-flow fault class. Our proposed classification can be applied to other fault datasets and can be used to improve fault localization and automated program repair techniques for specific fault classes.
format Preprint
id arxiv_https___arxiv_org_abs_2502_02299
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle An Anatomy of 488 Faults from Defects4J Based on the Control- and Data-Flow Graph Representations of Programs
van der Spuy, Alexandra
Fischer, Bernd
Software Engineering
Software fault datasets such as Defects4J provide for each individual fault its location and repair, but do not characterize the faults. Current classifications use the repairs as proxies, but these do not capture the intrinsic nature of the fault. In this paper, we propose a new, direct fault classification scheme based on the control- and data-flow graph representations of programs. Our scheme comprises six control-flow and two data-flow fault classes. We manually apply this scheme to 488 faults from seven projects in the Defects4J dataset. We find that the majority of the faults are assigned between one and three classes. We also find that one of the data-flow fault classes (definition fault) is the most common individual class but that the majority of faults are classified with at least one control-flow fault class. Our proposed classification can be applied to other fault datasets and can be used to improve fault localization and automated program repair techniques for specific fault classes.
title An Anatomy of 488 Faults from Defects4J Based on the Control- and Data-Flow Graph Representations of Programs
topic Software Engineering
url https://arxiv.org/abs/2502.02299