  Automatic software fault localization plays an important role in software
quality assurance by pinpointing faulty locations for easier debugging.
Coverage-based fault localization, a widely used technique, employs statistics
on coverage spectra to rank code based on suspiciousness scores. However, the
rigidity of statistical approaches calls for learning-based techniques. Amongst
all, Grace, a graph-neural network (GNN) based technique has achieved
state-of-the-art due to its capacity to preserve coverage spectra, i.e.,
test-to-source coverage relationships, as precise abstract syntax-enhanced
graph representation, mitigating the limitation of other learning-based
technique which compresses the feature representation. However, such
representation struggles with scalability due to the increasing complexity of
software and associated coverage spectra and AST graphs. In this work, we
proposed a new graph representation, DepGraph, that reduces the complexity of
the graph representation by 70% in nodes and edges by integrating
interprocedural call graph in the graph representation of the code. Moreover,
we integrate additional features such as code change information in the graph
as attributes so the model can leverage rich historical project data. We
evaluate DepGraph using Defects4j 2.0.0, and it outperforms Grace by locating
20% more faults in Top-1 and improving the Mean First Rank (MFR) and the Mean
Average Rank (MAR) by over 50% while decreasing GPU memory usage by 44% and
training/inference time by 85%. Additionally, in cross-project settings,
DepGraph surpasses the state-of-the-art baseline with a 42% higher Top-1
accuracy, and 68% and 65% improvement in MFR and MAR, respectively. Our study
demonstrates DepGraph's robustness, achieving state-of-the-art accuracy and
scalability for future extension and adoption.
