Repairing Deep Neural Networks: Fix Patterns and Challenges

dc.contributor.author Islam, Md Johirul
dc.contributor.author Pan, Rangeet
dc.contributor.author Rajan, Hridesh
dc.contributor.author Nguyen, Giang
dc.contributor.author Rajan, Hridesh
dc.contributor.department Computer Science
dc.date 2020-05-14T19:23:07.000
dc.date.accessioned 2020-06-30T01:54:57Z
dc.date.available 2020-06-30T01:54:57Z
dc.date.copyright Wed Jan 01 00:00:00 UTC 2020
dc.date.issued 2020-05-03
dc.description.abstract <p>Significant interest in applying Deep Neural Network (DNN) has fueled the need to support engineering of software that uses DNNs. Repairing software that uses DNNs is one such unmistakable SE need where automated tools could be beneficial; however, we do not fully understand challenges to repairing and patterns that are utilized when manually repairing DNNs. What challenges should automated repair tools address? What are the repair patterns whose automation could help developers? Which repair patterns should be assigned a higher priority for building automated bug repair tools? This work presents a comprehensive study of bug fix patterns to address these questions. We have studied 415 repairs from Stack overflow and 555 repairs from Github for five popular deep learning libraries Caffe, Keras, Tensorflow, Theano, and Torch to understand challenges in repairs and bug repair patterns. Our key findings reveal that DNN bug fix patterns are distinctive compared to traditional bug fix patterns; the most common bug fix patterns are fixing data dimension and neural network connectivity; DNN bug fixes have the potential to introduce adversarial vulnerabilities; DNN bug fixes frequently introduce new bugs; and DNN bug localization, reuse of trained model, and coping with frequent releases are major challenges faced by developers when fixing bugs. We also contribute a benchmark of 667 DNN (bug, repair) instances.</p>
dc.description.comments <p>This preprint is made available through arXiv: <a href="https://arxiv.org/abs/2005.00972">https://arxiv.org/abs/2005.00972</a>.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/cs_pubs/42/
dc.identifier.articleid 1041
dc.identifier.contextkey 17743524
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_pubs/42
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/19899
dc.language.iso en
dc.source.bitstream archive/lib.dr.iastate.edu/cs_pubs/42/2020_Rajan_RepairingDeepPreprint.pdf|||Sat Jan 15 00:13:00 UTC 2022
dc.subject.disciplines Computer Sciences
dc.subject.disciplines Software Engineering
dc.title Repairing Deep Neural Networks: Fix Patterns and Challenges
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:
2020_Rajan_RepairingDeepPreprint.pdf
Size:
1.06 MB
Format:
Adobe Portable Document Format
Description:
Collections