SEMay 3, 2020

Repairing Deep Neural Networks: Fix Patterns and Challenges

arXiv:2005.00972v1141 citations
AI Analysis

This work addresses the need for automated repair tools in software engineering for deep learning by identifying key challenges and patterns, though it is incremental as it builds on existing bug repair research.

The study analyzed 970 bug repairs from Stack Overflow and GitHub for five deep learning libraries to understand challenges and patterns in fixing DNN bugs, finding that DNN bug fix patterns are distinct from traditional ones, with common issues including data dimension and connectivity fixes, and that repairs often introduce new bugs or vulnerabilities.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes