Repairing Deep Neural Networks: Fix Patterns and Challenges

05/03/2020
by   Md Johirul Islam, et al.
0

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.

READ FULL TEXT

page 2

page 4

page 7

page 9

research
06/03/2019

A Comprehensive Study on Deep Learning Bug Characteristics

Deep learning has gained substantial popularity in recent years. Develop...
research
10/13/2019

A multi-label, dual-output deep neural network for automated bug triaging

Bug tracking enables the monitoring and resolution of issues and bugs wi...
research
07/30/2018

Towards an automated approach for bug fix pattern detection

The characterization of bug datasets is essential to support the evaluat...
research
07/18/2023

An Effective Data-Driven Approach for Localizing Deep Learning Faults

Deep Learning (DL) applications are being used to solve problems in crit...
research
01/27/2023

Repairing DNN Architecture: Are We There Yet?

As Deep Neural Networks (DNNs) are rapidly being adopted within large so...
research
07/08/2018

Automated labeling of bugs and tickets using attention-based mechanisms in recurrent neural networks

We explore solutions for automated labeling of content in bug trackers a...
research
12/07/2021

DeepDiagnosis: Automatically Diagnosing Faults and Recommending Actionable Fixes in Deep Learning Programs

Deep Neural Networks (DNNs) are used in a wide variety of applications. ...

Please sign up or login with your details

Forgot password? Click here to reset