Browsing Division of Electrical, Electronics, and Computer Science (EECS) by Advisor "Kanade, Aditya"
Now showing items 1-11 of 11
-
Checking Compatability of Programs on Shared Data
(2018-07-28)A large software system is built by composing multiple programs, possibly developed independently. The component programs communicate by sharing data. Data sharing involves creation of instances of the shared data by one ... -
CodeQueries: Benchmarking Query Answering over Source Code
Software developers often make queries about the security, performance effectiveness, and maintainability of their code. Through an iterative debugging process, developers analyze the code to find answers to these ... -
Concurrency Analysis and Mining Techniques for APIs
(2018-06-13)Software components expose Application Programming Interfaces (APIs) as a means to access their functionality, and facilitate reuse. Developers use APIs supplied by programming languages to access the core data structures ... -
Data Structures and Algorithms to Analyze Concurrency in Android Applications
Android is a popular mobile operating system, providing a rich ecosystem for the development of applications which run on the Android platform. Entities such as the device user, network and sensors interact continuously ... -
Deep Learning for Bug Localization and Program Repair
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 ... -
A Fine-Grained Dynamic Information Flow Analysis for Android Apps
(2018-08-20)Android has been steadily gaining popularity ever since its launch in 2008. One of the major factors for this is the easy availability of a large variety of apps. They range from simple apps such as calculator apps to apps ... -
Model Extraction Defense using Modified Variational Autoencoder
Machine Learning as a Service (MLaaS) exposes machine learning (ML) models that are trained on confidential datasets to users in the form of an Application Programming Interface (API). Since the MLaaS models are deployed ... -
Neural Approaches for Natural Language Query Answering over Source Code
During software development, developers need to ensure that the developed code is bug-free and the best coding practices are followed during the code development process. To guarantee this, the developers require answers ... -
P3 : An Effective Technique for Partitioned Path Profiling
Acyclic path profile is an abstraction of dynamic control flow paths of procedures and has been found to be useful in a wide spectrum of activities. Unfortunately, the runtime overhead of obtaining such a profile can be ... -
Program Repair by Automated Generation of Hints
Programming has become an important skill in today's technology-driven world. It is a complex activity because of which programmers make mistakes in their software. Student programmers make mistakes in their programs due ... -
Transducer-based Algorithmic Verification of Retransmission Protocols over Noisy Channels
(2018-04-05)Unreliable communication channels are a practical reality. They add to the complexity of protocol design and verification. In this work, we consider noisy channels which can corrupt messages. We present an approach to model ...