About
33
Publications
2,539
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
4,317
Citations
Introduction
Skills and Expertise
Publications
Publications (33)
The ability to identify influential training examples enables us to debug training data and explain model behavior. Existing techniques are based on the flow of influence through the model parameters. For large models in NLP applications, it is often computationally infeasible to study this flow through all model parameters, therefore techniques us...
Local explanation methods, also known as attribution methods, attribute a deep network's prediction to its input (cf. Baehrens et al. (2010)). We respond to the claim from Adebayo et al. (2018) that local explanation methods lack sensitivity, i.e., DNNs with randomly-initialized weights produce explanations that are both visually and quantitatively...
We analyze state-of-the-art deep learning models for three tasks: question answering on (1) images, (2) tables, and (3) passages of text. Using the notion of \emph{attribution} (word importance), we find that these deep networks often ignore important question terms. Leveraging such behavior, we perturb questions to craft a variety of adversarial e...
We study the current best model (KDG) for question answering on tabular data evaluated over the WikiTableQuestions dataset. Previous ablation studies performed against this model attributed the model's performance to certain aspects of its architecture. In this paper, we find that the model's performance also crucially depends on a certain pruning...
We study question-answering over semi-structured data. We introduce a new way to apply the technique of semantic parsing by applying machine learning only to provide annotations that the system infers to be missing; all the other parsing logic is in the form of manually authored rules. In effect, the machine learning is used to provide non-syntacti...
We study the problem of attributing the prediction of a deep network to its input features, a problem previously studied by several other works. We identify two fundamental axioms---Sensitivity and Implementation Invariance that attribution methods ought to satisfy. We show that they are not satisfied by most known attribution methods, which we con...
Gradients have been used to quantify feature importance in machine learning models. Unfortunately, in nonlinear deep networks, not only individual neurons but also the whole network can saturate, and as a result an important input feature can have a tiny gradient. We study various networks, and observe that this phenomena is indeed widespread, acro...
Automatic service discovery is essential to realizing the full potential of the Internet of Things (IoT). While discovery protocols like Multicast DNS, Apple AirDrop, and Bluetooth Low Energy have gained widespread adoption across both IoT and mobile devices, most of these protocols do not offer any form of privacy control for the service, and ofte...
In this tutorial, we present an authorization model for distributed systems that operate with limited internet connectivity. Reliable internet access remains a luxury for a majority of the world's population. Even for those who can afford it, a dependence on internet connectivity may lead to sub-optimal user experiences. With a focus on decentraliz...
Automatic service discovery is essential to realizing the full potential of the Internet of Things (IoT). While discovery protocols like Multicast DNS, Apple AirDrop, and Bluetooth Low Energy have gained widespread adoption across both IoT and mobile devices, most of these protocols do not offer any form of privacy control for the service, and ofte...
While groups are generally helpful for the definition of authorization policies, their use in distributed systems is not straightforward. This paper describes a design for authorization in distributed systems that treats groups as formal languages. The design supports forms of delegation and negative clauses in authorization policies. It also consi...
Symbolic execution is a key component of precise binary program analysis tools. We discuss how to automatically boot-strap the construction of a symbolic execution engine for a processor instruction set such as x86, x64 or ARM. We show how to automatically synthesize symbolic representations of individual processor instructions from input/output ex...
This work was done as part of my PhD qualifier exam. My qualifier exam problem was to perform an in depth study of separation logic. In this paper, I survey two variants of separation and then show how they can applied to solve the isolation problem for mashups. I rigorously define the inter-component isolation property for basic a class of mashups...
JavaScript is widely used to provide client-side functionality in Web applications. To provide services ranging from maps to advertisements, Web applications may incorporate untrusted JavaScript code from third parties. The trusted portion of each application may then expose an API to untrusted code, interposing a reference monitor that mediates ac...
Symbolic execution is a key component of precise binary program analysis tools. We discuss how to automatically boot-strap the con-struction of a symbolic execution engine for a processor instruction set such as x86, x64 or ARM. We show how to automatically syn-thesize symbolic representations of individual processor instruc-tions from input/output...
We consider the problem of driving a system from some initial configuration to a desired configuration while avoiding some unsafe configurations. The system to be controlled is a dynamical system that can operate in different modes. The goal is to synthesize the logic for switching between the modes so that the desired reachability property holds....
A growing number of current web sites combine active content (applications) from untrusted sources, as in so-called mashups. The object-capability model provides an appealing approach for isolating untrusted content: if separate applications are provided disjoint capabilities, a sound object-capability framework should prevent untrusted application...
We study methods that allow web sites to safely combine JavaScript from untrusted sources. If implemented properly, filters can prevent dangerous code from loading into the execution environment, while rewriting allows greater expressiveness by inserting run-time checks.
Wrapping properties of the execution environment can prevent misuse without re...
Web sites that incorporate untrusted content may use browser- or language-based methods to keep such content from ma- liciously altering pages, stealing sensitive information, or causing other harm. We study methods for flltering and rewriting JavaScript code, using Yahoo! ADsafe and Face- book FBJS as motivating examples. We explain the core probl...
For a system that can operate in multiple different modes, we define the switching logic synthesis problem as follows: given
a description of the dynamics in each mode of the system, find the conditions for switching between the modes so that the
resulting system satisfies some desired properties. In this paper, we present an approach for solving t...
We define the notion of inductive invariants for continuous dynamical systems and use it to present inference rules for safety verification of polynomial continuous dynamical systems. We present two different sound and complete inference rules, but neither of these rules can be effectively applied. We then present several simpler and practical infe...
We dene a small-step operational semantics for the ECMAScript standard language corresponding to JavaScript, as a basis for analyzing security properties of web applications and mashups. The semantics is based on the language standard and a number of experiments with dierent implementations and browsers. Some basic properties of the semantics are p...
Symbolic reachability analysis of networks of state transition systems present special optimization opportunities that are
not always available in monolithic state transition systems. These optimizations can potentially allow scaling of reachability
analysis to much larger networks than can be handled using existing techniques. In this paper, we di...
We give a new practical algorithm to compute, in finite time, a fixpoint (and often the least fixpoint) of a system of equations in the abstract numerical domains of zones and templates used for static anal- ysis of programs by abstract interpretation. This paper extends previous work on the non-relational domain of intervals to relational domains....
Timed reachability analysis of gate-level circuits is important in several applications. In this paper, we present techniques for efficient approxi-mate symbolic reachability of circuits assuming dis-crete delays of gates. We exploit local interactions among gates to develop a highly scalable algorithm for over-approximating the set of timed reacha...
A new approach based on constraint solving techniques was recently proposed for verification of hybrid systems. This approach
works by searching for inductive invariants of a given form. In this paper, we extend that work to automatic synthesis of
safe hybrid systems. Starting with a multi-modal dynamical system and a safety property, we present a...
Many Web-based applications such as advertisement, social networking and online shopping benefit from the interaction of trusted and unstrusted content within the same page. If the untrusted content includes JavaScript code, it must be prevented from maliciously altering pages, stealing sensitive information, or causing other harm. We study filteri...
In this report, we deal with the paradigm of Constructive Algorithmics or the science of program transformation. We examine the basic ideas of Bird Meertens Formalism and its application to segment problems. We first give the direct application of Bird Meertens Formalism to the Maximum Segment Sum Problem, and also indicate the underlying concepts...