Towards Demystifying the Impact of Dependency Structures on Bug Locations in Deep Learning Libraries
Background: Many safety-critical industrial applications, such as autonomous driving and healthcare, have turned to deep learning systems as a fundamental component. However, the majority of these systems rely on deep learning libraries, and bugs of such libraries can have irreparable consequences. Over the years, dependency structure has shown to be a practical indicator of software quality, which is widely used in numerous bug prediction techniques. In this paper, there is a deep research on three forms of dependency structures: syntactic, history, and semantic structures.
Aims: The problem is that when it comes to analyzing bugs in a specific and influential type of software system: deep learning libraries, researchers are unclear whether dependency structures still have a high correlation and which forms of dependency structures perform the best.
Method: In this paper, we present a systematic investigation of the above question. We implement a dependency structure-centric bug analysis tool: Depend4BL, targeting for capturing the interaction between dependency structures and bug locations in deep learning libraries. Compared with previous techniques, Depend4BL presents competitiveness in interpretability, comprehensibility and time overhead.
Results: We employ Depend4BL to analyze the top 5 open-source deep learning libraries on Github in terms of stars and forks, with 279,788 revision commits and 8,715 bug fixes in total. The experiment results demonstrate the significant differences among syntactic, history, and semantic structures, and their vastly different impacts on bug locations. Their combinations have the potential to further improve bug prediction for deep learning libraries.
Conclusions: In summary, our work provides a new perspective regarding to the correlation between dependency structures and bug locations in deep learning libraries. We release a large set of benchmarks and a prototype toolkit to automatically detect various forms of dependency structures for deep learning libraries and calculate their interactions with bug locations. Our study also unveils useful findings based on quantitative and qualitative analysis that benefit bug prediction techniques for deep learning libraries.
Fri 23 SepDisplayed time zone: Athens change
13:30 - 15:00 | Session 5A - Development ApproachesESEM Journal-First Papers / ESEM Technical Papers at Bysa Chair(s): Filippo Lanubile University of Bari | ||
13:30 15mFull-paper | Antipatterns in software classification taxonomies ESEM Journal-First Papers Link to publication DOI | ||
13:45 20mFull-paper | Android API Field Evolution and Its Induced Compatibility Issues ESEM Technical Papers File Attached | ||
14:05 20mFull-paper | Towards Demystifying the Impact of Dependency Structures on Bug Locations in Deep Learning Libraries ESEM Technical Papers Di Cui Xidian University, Xingyu Li Xidian University, Feiyang Liu Xidian University, Siqi Wang Xidian University, Jie Dai Xidian University, Lu Wang Xidian University, Qingshan Li Xidian University | ||
14:25 15mFull-paper | Bumps in the Code: Error Handling During Software Development ESEM Journal-First Papers Tamara Lopez The Open University, Helen Sharp The Open University, Marian Petre The Open University, Bashar Nuseibeh The Open University (UK) & Lero (Ireland) |