Rahul Gupta

I was a graduate student at the Department of Computer Science & Automation, Indian Institute of Science, Bangalore. I worked in the Software Engineering and Analysis Lab with Prof. Aditya Kanade.
I graduated in July, 2019 and defended my thesis in Feb, 2020.

Research Interests

Publications (Google Scholar)

    • Deep Reinforcement Learning for Syntactic Error Repair in Student Programs. PDF|Slides|Poster|Code
      Rahul Gupta, Aditya Kanade, Shirish Shevade. AAAI 2019
    • - Invited for presentation at CoDS-COMAD 2020.
    • DeepFix: Fixing Common C Language Errors by Deep Learning. PDF|Slides|Code
      Rahul Gupta, Soham Pal, Aditya Kanade, Shirish Shevade. AAAI 2017
    • Partial Order Reduction for Event-driven Multi-threaded Programs. PDF|Code
      Pallavi Maiya, Rahul Gupta, Aditya Kanade, Rupak Majumdar. TACAS 2016


    • NeuralBugLocator (or NBL in short) is a tool for semantic bug-localization in student programs with respect to failing tests. At the heart of NBL is a novel tree convolutional neural network which is trained to predict whether or not a program passes a given test. To localize the bugs, NBL analyzes the trained network using a state-of-the-art neural prediction attribution technique and see which lines of the buggy programs make the network predict the failure. Our experiments on thousands of student programs show that NBL is both effective and efficient in localizing a wide variety of semantic bugs.
    • RLAssist is an end-to-end deep reinforcement learning based programming language (PL) correction framework. This framework makes the PL correction task amenable to reinforcement learning. It also allows solving this task in an unsupervised manner, which was impossible with prior works.
    • DeepFix is an end-to-end deep learning based program repair tool for fixing common programming errors. DeepFix can fix multiple such errors in a program without relying on any external tool either to locate or fix them. It was tested on thousands of student programming assignment submissions. The tests demonstrated that DeepFix fixed many programs while taking only a few tens of milliseconds per program.
    • EM-Explorer is a proof-of-concept explicit state model checking tool which simulates the Android concurrency semantics given an execution trace of an Android application. It is instantiated with implementations of Vector-clock versions of two Partial Order Reduction (POR) techniques, (1) Dynamic POR (DPOR),  and (2) EM-DPOR (TACAS 2016 paper). The tool was used to compare the above two POR techniques on various popular Android applications. It successfully showed that the latter is often orders of magnitude faster than the former.

    Teaching Assistance

    • E0239: Software Reliability Techniques. (Spring '16, '15)

    Contact Information

    Rahul Gupta, PhD 
    Department of Computer Science & Automation,
    Indian Institute of Science, Bangalore - 560012
    Email: rahulg on the iisc.ac.in domain | LinkedIn

    Last updated on Friday, March 20, 2020.