DeepLocalize: Fault Localization for Deep Neural Networks

dc.contributor.author Wardat, Mohammad
dc.contributor.author Le, Wei
dc.contributor.author Rajan, Hridesh
dc.contributor.department Department of Computer Science
dc.date 2021-03-16T12:55:58.000
dc.date.accessioned 2021-04-30T00:40:30Z
dc.date.available 2021-04-30T00:40:30Z
dc.date.copyright Fri Jan 01 00:00:00 UTC 2021
dc.date.issued 2021-03-04
dc.description.abstract <p>Deep neural networks (DNNs) are becoming an integral part of most software systems. Previous work has shown that DNNs have bugs. Unfortunately, existing debugging techniques do not support localizing DNN bugs because of the lack of understanding of model behaviors. The entire DNN model appears as a black box. To address these problems, we propose an approach that automatically determines whether the model is buggy or not, and identifies the root causes. Our key insight is that historic trends in values propagated between layers can be analyzed to identify faults, and localize faults. To that end, we first enable dynamic analysis of deep learning applications: by converting it into an imperative representation and alternatively using a callback mechanism. Both mechanisms allows us to insert probes that enable dynamic analysis over the traces produced by the DNN while it is being trained on the training data. We then conduct dynamic analysis over the traces to identify the faulty layer that causes the error. We propose an algorithm for identifying root causes by capturing any numerical error and monitoring the model during training and finding the relevance of every layer on the DNN outcome. We have collected a benchmark containing 40 buggy models and patches that contain real errors in deep learning applications from Stack Overflow and GitHub. Our benchmark can be used to evaluate automated debugging tools and repair techniques. We have evaluated our approach using this DNN bug-and-patch benchmark, and the results showed that our approach is much more effective than the existing debugging approach used in the state of the practice Keras library. For 34 out of 40 cases, our approach was able to detect faults whereas the best debugging approach provided by Keras detected 32 out of 40 faults. Our approach was able to localize 21 out of 40 bugs whereas Keras did not localize any faults.</p>
dc.description.comments <p>This preprint is available through arXiv: <a href="https://arxiv.org/abs/2103.03376" target="_blank">https://arxiv.org/abs/2103.03376</a>.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/cs_pubs/43/
dc.identifier.articleid 1042
dc.identifier.contextkey 22071717
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_pubs/43
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/104681
dc.language.iso en
dc.source.bitstream archive/lib.dr.iastate.edu/cs_pubs/43/2021_Rajan_DeepLocalizePreprint.pdf|||Sat Jan 15 00:15:24 UTC 2022
dc.subject.disciplines Computer Sciences
dc.subject.disciplines Software Engineering
dc.title DeepLocalize: Fault Localization for Deep Neural Networks
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isAuthorOfPublication 4e3f4631-9a99-4a4d-ab81-491621e94031
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
2021_Rajan_DeepLocalizePreprint.pdf
Size:
948.23 KB
Format:
Adobe Portable Document Format
Description:
Collections