Please use this identifier to cite or link to this item: http://hdl.handle.net/10603/426583
Title: Deep Learning for Bug Localization and Program Repair
Researcher: Gupta, Rahul
Guide(s): Kanade, Aditya
Keywords: Automation and Control Systems
Computer Science
Engineering and Technology
University: Indian Institute of Science Bangalore
Completed Date: 2020
Abstract: In this thesis, we focus on the problem of program debugging and present novel deep learning based techniques for bug-localization and program repair. Deep learning techniques have been successfully applied to a variety of tasks in natural language processing over the years. Although natural language text and programs are similar to some extent, the latter have procedural interpretation and richer structure. Applying deep learning techniques to programs presents many novel challenges, which arise due to these differences. We address some of these challenges in this thesis. Most of the existing program debugging research is dominated by formal, theory-first approaches. These approaches fail to take advantage of the existing codebases available online in the form of open source software repositories and student assignment submissions to massive open online courses on programming. Recognizing this, researchers have begun to replace expert-designed heuristics with models learned from codebases to improve the performance of the conventional debugging techniques. This thesis shows that it is possible to solve program debugging problems directly from raw programs using deep learning techniques in an end-to-end manner. More specifically, we present three approaches for bug-localization and program repair that are entirely data-driven and learn to perform their task instead of following the steps specified by a domain expert. We first introduce the notion of common programming errors and present a deep neural network based end-to-end technique, called DeepFix, that can fix multiple such errors in a program without relying on any external tool to locate or fix them. At the heart of DeepFix is a multi-layered sequence-to-sequence neural network equipped with an attention mechanism, comprising an encoder recurrent neural network (RNN) to process the input and a decoder RNN that generates the output by attending to the encoded input. The network is trained on a labeled dataset to predict a faulty program location along...
Pagination: xii, 107 p.
URI: http://hdl.handle.net/10603/426583
Appears in Departments:Computer Science and Automation

Files in This Item:
File Description SizeFormat 
01_title.pdfAttached File69.09 kBAdobe PDFView/Open
02_prelim pages.pdf231.91 kBAdobe PDFView/Open
03_table of contents.pdf48.31 kBAdobe PDFView/Open
04_abstract.pdf43.96 kBAdobe PDFView/Open
05_chapter 1.pdf261.32 kBAdobe PDFView/Open
06_chapter 2.pdf124.67 kBAdobe PDFView/Open
07_chapter 3.pdf154.37 kBAdobe PDFView/Open
08_chapter 4.pdf374.32 kBAdobe PDFView/Open
09_chapter 5.pdf329.14 kBAdobe PDFView/Open
10_chapter 6.pdf201.65 kBAdobe PDFView/Open
11_annexure.pdf278.49 kBAdobe PDFView/Open
80_recommendation.pdf116.59 kBAdobe PDFView/Open
Show full item record


Items in Shodhganga are licensed under Creative Commons Licence Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Altmetric Badge: