Leveraging Data Characteristics for Bug Localization in Deep Learning Programs
Ruchira Manke, Mohammad Wardat, Foutse Khomh, Hridesh Rajan
TL;DR
The paper addresses the challenge of locating structural bugs in DL programs that hinder training performance. It introduces Theia, a data-aware bug localization tool that builds a meta-model capturing dataset and model characteristics and applies verification rules to detect 12 bug types at the start of training using call-string and parameter-sensitive analyses. Theia outperforms the state-of-the-art NeuraLint, localizing 57 of 75 bugs across 40 real-world buggy programs and delivering actionable fixes that improve average performance significantly. This approach saves computational resources by enabling early debugging, and its data-centric perspective offers practical benefits for DL developers working with Keras and PyTorch. The work also outlines limitations and future directions, including support for additional architectures and broader benchmarks.
Abstract
Deep Learning (DL) is a class of machine learning algorithms that are used in a wide variety of applications. Like any software system, DL programs can have bugs. To support bug localization in DL programs, several tools have been proposed in the past. As most of the bugs that occur due to improper model structure known as structural bugs lead to inadequate performance during training, it is challenging for developers to identify the root cause and address these bugs. To support bug detection and localization in DL programs, in this paper, we propose Theia, which detects and localizes structural bugs in DL programs. Unlike the previous works, Theia considers the training dataset characteristics to automatically detect bugs in DL programs developed using two deep learning libraries, Keras and PyTorch. Since training the DL models is a time-consuming process, Theia detects these bugs at the beginning of the training process and alerts the developer with informative messages containing the bug's location and actionable fixes which will help them to improve the structure of the model. We evaluated Theia on a benchmark of 40 real-world buggy DL programs obtained from Stack Overflow. Our results show that Theia successfully localizes 57/75 structural bugs in 40 buggy programs, whereas NeuraLint, a state-of-the-art approach capable of localizing structural bugs before training localizes 17/75 bugs.
