Automatic Fault Detection for Deep Learning Programs Using Graph Transformations
Amin Nikanjam, Houssem Ben Braiek, Mohammad Mehdi Morovati, Foutse, Khomh

TL;DR
NeuraLint is a graph transformation-based tool that detects faults and design inefficiencies in deep learning programs, demonstrating high precision and effective fault detection in both synthetic and real-world cases.
Contribution
The paper introduces NeuraLint, a novel model-based fault detection approach for DL programs using meta-modeling and graph transformations, with a comprehensive verification process.
Findings
Detects 64 faults in real-world DL programs
Achieves 70.5% recall and 100% precision
Successfully identifies issues in both synthetic and real examples
Abstract
Nowadays, we are witnessing an increasing demand in both corporates and academia for exploiting Deep Learning (DL) to solve complex real-world problems. A DL program encodes the network structure of a desirable DL model and the process by which the model learns from the training dataset. Like any software, a DL program can be faulty, which implies substantial challenges of software quality assurance, especially in safety-critical domains. It is therefore crucial to equip DL development teams with efficient fault detection techniques and tools. In this paper, we propose NeuraLint, a model-based fault detection approach for DL programs, using meta-modelling and graph transformations. First, we design a meta-model for DL programs that includes their base skeleton and fundamental properties. Then, we construct a graph-based verification process that covers 23 rules defined on top of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software System Performance and Reliability · Software Engineering Research
