VLDB 2026 Research / reviewers in the wild / expert
Ashish Tiwari 0001
dblp:t/AshishTiwari
· DBLP profile ↗
91ranked-venue papers
19as first author
17since 2021 · last 2025
0000-0002-5153-2686ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 44 · 16 first-author · 1 since 2021Software engineering, systems software and programming languages · 39 · 7 first-author · 8 since 2021Artificial intelligence and machine learning · 13 · 3 first-author · 4 since 2021Applied, interdisciplinary, general and emerging computing · 7 · 1 first-authorDatabases, data management, data science and information retrieval · 4 · 3 since 2021Systems, architecture and hardware · 3 · 2 since 2021Human-computer interaction and ubiquitous computing · 2 · 2 since 2021Security and privacy · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Program Synthesis: Pre-LLM and Post-LLM
Ashish Tiwari 0001 |
FMCAD | 1 |
| 2025 | Execution-guided within-prompt search for programming-by-exampleabstractLarge language models (LLMs) can generate code from examples without being limited to a DSL, but they lack search, as sampled programs are independent.
In this paper, we use an LLM as a policy that generates lines of code and then join these lines of code to let the LLM implicitly estimate the value of each of these lines in its next iteration.
We further guide the policy and value estimation by executing each line and annotating it with its results on the given examples.
This allows us to search for programs within a single (expanding) prompt until a sound program is found, by letting the policy reason in both the syntactic (code) and semantic (execution) space.
We evaluate within-prompt search on straight-line Python code generation using five benchmarks across different domains (strings, lists, and arbitrary Python programming problems).
We show that the model uses the execution results to guide the search and that within-prompt search performs well at low token budgets.
We also analyze how the model behaves as a policy and value, show that it can parallelize the search, and that it can implicitly backtrack over earlier generations. Gust Verbruggen, Ashish Tiwari 0001, Mukul Singh, Vu Le 0002, Sumit Gulwani |
ICLR | 2 |
| 2025 | TableTalk: Scaffolding Spreadsheet Development with a Language AgentabstractSpreadsheet programming is challenging. Programmers use spreadsheet programming knowledge (e.g., formulas) and problem-solving skills to combine actions into complex tasks. Advancements in large language models have introduced language agents that observe, plan, and perform tasks, showing promise for spreadsheet creation. We present TableTalk, a spreadsheet programming agent embodying three design principles—scaffolding, flexibility, and incrementality—derived from studies with seven spreadsheet programmers and 85 Excel templates. TableTalk guides programmers through structured plans based on professional workflows, generating three potential next steps to adapt plans to programmer needs. It uses pre-defined tools to generate spreadsheet components and incrementally build spreadsheets. In a study with 20 programmers, TableTalk produced higher-quality spreadsheets 2.3 times more likely to be preferred than the baseline. It reduced cognitive load and thinking time by 12.6%. From this, we derive design guidelines for agentic spreadsheet programming tools and discuss implications on spreadsheet programming, end-user programming, AI-assisted programming, and human-agent collaboration. Jenny T. Liang, Yasharth Bajpai, Sumit Gulwani, Vu Le 0002, Chris Parnin, Arjun Radhakrishna, Ashish Tiwari 0001, Emerson R. Murphy-Hill, Gustavo Soares |
ACM Trans. Comput. Hum. Interact. | 8 |
| 2024 | Flock-Formation Control of Multi-Agent Systems using Imperfect Relative Distance MeasurementsabstractWe present distributed distance-based control (DDC), a novel approach for controlling a multi-agent system, such that it achieves a desired formation, in a resource-constrained setting. Our controller is fully distributed and only requires local state-estimation and scalar measurements of inter-agent distances. It does not require an external localization system or inter-agent exchange of state information. Our approach uses spatial-predictive control (SPC), to optimize a cost function given strictly in terms of inter-agent distances and the distance to the target location. In DDC, each agent continuously learns and updates a very abstract model of the actual system, in the form of a dictionary of three independent key-value pairs $(\Delta \vec s,\Delta d)$, where ∆d is the partial derivative of the distance measurements along a spatial direction $\Delta \vec s$. This is sufficient for an agent to choose the best next action. We validate our approach by using DDC to control a collection of Crazyflie drones to achieve formation flight and reach a target while maintaining flock formation. Andreas Brandstätter, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001, Radu Grosu |
ICRA | 4 |
| 2024 | Investigating Student Mistakes in Introductory Data Science ProgrammingabstractData Science (DS) has emerged as a new academic discipline where students are introduced to data-centric thinking and generating data-driven insights through programming. Unlike traditional introductory Computer Science (CS) education, which focuses on program syntax and core CS topics (e.g., algorithms and data structures), introductory DS education emphasizes skills such as analyzing data to gain insights by making effective use of programming libraries (e.g., re, NumPy, pandas, scikit-learn). To better understand learners' needs and pain points when they are introduced to DS programming, we investigated a large online course on data manipulation designed for graduate students who do not have a CS or Statistics undergraduate degree. We qualitatively analyzed students' incorrect code submissions for computational notebook-based assignments in Python. We identified common mistakes and grouped them into the following themes: (1) programming language and environment misconceptions, (2) logical mistakes due to data or problem-statement misunderstanding or incorrectly dealing with missing values, (3) semantic mistakes due to incorrect use of DS libraries, and (4) suboptimal coding. Our work provides instructors insights to understand student needs in introductory DS courses and improve course pedagogy, and recommendations for developing assessment and feedback tools to support students in large courses. Anna Fariha, Christopher Brooks 0001, Gustavo Soares, Austin Z. Henley, Ashish Tiwari 0001, Chethan M, Heeryung Choi, Sumit Gulwani |
SIGCSE (1) | 6 |
| 2024 | Rapidash: Efficient Detection of Constraint ViolationsabstractDenial Constraint (DC) is a well-established formalism that captures a wide range of integrity constraints commonly encountered, including candidate keys, functional dependencies, and ordering constraints, among others. Given their significance, there has been considerable research interest in achieving fast detection of DC violations, especially to support activities related to data exploration and preparation. Despite the significant advancements in the field, prior work exhibits notable limitations when confronted with large-scale datasets: the current state-of-the-art algorithm demonstrates a quadratic (worst-case) time and space complexity relative to the dataset's number of rows. In this paper, we establish a connection between orthogonal range search and DC violation detection. We then introduce Rapidash, a novel algorithm that demonstrates near-linear time and space complexity, representing a theoretical improvement over prior work. To validate the effectiveness of our algorithm, we conduct comprehensive evaluations on both open-source and real-world production datasets, with our production datasets notably being an order of magnitude larger than the datasets employed in prior studies. Our results reveal that Rapidash achieves up to 84× faster performance compared to state-of-the-art approaches while also exhibiting superior scalability. Zifan Liu, Shaleen Deep, Anna Fariha, Fotis Psallidas, Ashish Tiwari 0001, Avrilia Floratou |
Proc. VLDB Endow. | 5 |
| 2023 | Multi-Agent Spatial Predictive Control with Application to Drone FlockingabstractWe introduce Spatial Predictive Control (SPC), a technique for solving the following problem: given a collection of robotic agents with black-box positional low-level controllers (PLLCs) and a mission-specific distributed cost function, how can a distributed controller achieve and maintain cost-function minimization without a plant model and only positional observations of the environment? Our fully distributed SPC controller is based strictly on the position of the agent itself and on those of its neighboring agents. This information is used in every time step to compute the gradient of the cost function and to perform a spatial look-ahead to predict the best next target position for the PLLC. Using a simulation environment, we show that SPC outperforms Potential Field Controllers, a related class of controllers, on the drone flocking problem. We also show that SPC works on real hardware, and is therefore able to cope with the potential sim-to-real transfer gap. We demonstrate its performance using as many as 16 Crazyflie 2.1 drones in a number of scenarios, including obstacle avoidance. Andreas Brandstätter, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001, Radu Grosu |
ICRA | 4 |
| 2023 | Grace: Language Models Meet Code EditsabstractDevelopers spend a significant amount of time in editing code for a variety of reasons such as bug fixing or adding new features. Designing effective methods to predict code edits has been an active yet challenging area of research due to the diversity of code edits and the difficulty of capturing the developer intent. In this work, we address these challenges by endowing pre-trained large language models (LLMs) with the knowledge of relevant prior associated edits, which we call the Grace (Generation conditioned on Associated Code Edits) method. The generative capability of the LLMs helps address the diversity in code changes and conditioning code generation on prior edits helps capture the latent developer intent. We evaluate two well-known LLMs, codex and CodeT5, in zero-shot and fine-tuning settings respectively. In our experiments with two datasets, Grace boosts the performance of the LLMs significantly, enabling them to generate 29% and 54% more correctly edited code in top-1 suggestions relative to the current state-of-the-art symbolic and neural approaches, respectively. Priyanshu Gupta, Avishree Khare, Yasharth Bajpai, Saikat Chakraborty 0001, Sumit Gulwani, Aditya Kanade 0001, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari 0001 |
ESEC/SIGSOFT FSE | 9 |
| 2023 | FlashFill++: Scaling Programming by Example by Cutting to the ChaseabstractProgramming-by-Examples (PBE) involves synthesizing an "intended program" from a small set of user-provided input-output examples. A key PBE strategy has been to restrict the search to a carefully designed small domain-specific language (DSL) with "effectively-invertible" (EI) operators at the top and "effectively-enumerable" (EE) operators at the bottom. This facilitates an effective combination of top-down synthesis strategy (which backpropagates outputs over various paths in the DSL using inverse functions) with a bottom-up synthesis strategy (which propagates inputs over various paths in the DSL). We address the problem of scaling synthesis to large DSLs with several non-EI/EE operators. This is motivated by the need to support a richer class of transformations and the need for readable code generation. We propose a novel solution strategy that relies on propagating fewer values and over fewer paths. Our first key idea is that of "cut functions" that prune the set of values being propagated by using knowledge of the sub-DSL on the other side. Cuts can be designed to preserve completeness of synthesis; however, DSL designers may use incomplete cuts to have finer control over the kind of programs synthesized. In either case, cuts make search feasible for non-EI/EE operators and efficient for deep DSLs. Our second key idea is that of "guarded DSLs" that allow a precedence on DSL operators, which dynamically controls exploration of various paths in the DSL. This makes search efficient over grammars with large fanouts without losing recall. It also makes ranking simpler yet more effective in learning an intended program from very few examples. Both cuts and precedence provide a mechanism to the DSL designer to restrict search to a reasonable, and possibly incomplete, space of programs. Using cuts and gDSLs, we have built FlashFill++, an industrial-strength PBE engine for performing rich string transformations, including datetime and number manipulations. The FlashFill++ gDSL is designed to enable readable code generation in different target languages including Excel's formula language, PowerFx, and Python. We show FlashFill++ is more expressive, more performant, and generates better quality code than comparable existing PBE systems. FlashFill++ is being deployed in several mass-market products ranging from spreadsheet software to notebooks and business intelligence applications, each with millions of users. José Cambronero, Sumit Gulwani, Vu Le 0002, Daniel Perelman, Arjun Radhakrishna, Clint Simon, Ashish Tiwari 0001 |
Proc. ACM Program. Lang. | 7 |
| 2022 | Synchromesh: Reliable Code Generation from Pre-trained Language Models
Gabriel Poesia, Oleksandr Polozov, Vu Le 0002, Ashish Tiwari 0001, Gustavo Soares, Christopher Meek, Sumit Gulwani |
ICLR | 4 |
| 2022 | Towards Drone Flocking Using Relative Distance Measurements
Andreas Brandstätter, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001, Radu Grosu |
ISoLA (3) | 4 |
| 2022 | NL2Viz: natural language to visualization via constrained syntax-guided synthesisabstractRecent development in NL2CODE (Natural Language to Code) research allows end-users, especially novice programmers to create a concrete implementation of their ideas such as data visualization by providing natural language (NL) instructions. An NL2CODE system often fails to achieve its goal due to three major challenges: the user's words have contextual semantics, the user may not include all details needed for code generation, and the system results are imperfect and require further refinement. To address the aforementioned three challenges for NL to Visualization, we propose a new approach and its supporting tool named NL2VIZ with three salient features: (1) leveraging not only the user's NL input but also the data and program context that the NL query is upon, (2) using hard/soft constraints to reflect different confidence levels in the constraints retrieved from the user input and data/program context, and (3) providing support for result refinement and reuse. Zhengkai Wu, Vu Le 0002, Ashish Tiwari 0001, Sumit Gulwani, Arjun Radhakrishna, Ivan Radicek, Gustavo Soares, Xinyu Wang 0006, Zhenwen Li, Tao Xie 0001 |
ESEC/SIGSOFT FSE | 3 |
| 2022 | Neurosymbolic repair for low-code formula languagesabstractMost users of low-code platforms, such as Excel and PowerApps, write programs in domain-specific formula languages to carry out nontrivial tasks. Often users can write most of the program they want, but introduce small mistakes that yield broken formulas. These mistakes, which can be both syntactic and semantic, are hard for low-code users to identify and fix, even though they can be resolved with just a few edits. We formalize the problem of producing such edits as the last-mile repair problem. To address this problem, we developed LaMirage, a LAst-MIle RepAir-engine GEnerator that combines symbolic and neural techniques to perform last-mile repair in low-code formula languages. LaMirage takes a grammar and a set of domain-specific constraints/rules, which jointly approximate the target language, and uses these to generate a repair engine that can fix formulas in that language. To tackle the challenges of localizing errors and ranking candidate repairs, LaMirage leverages neural techniques, whereas it relies on symbolic methods to generate candidate edits. This combination allows LaMirage to find repairs that satisfy the provided grammar and constraints, and then pick the most natural repair. We compare LaMirage to state-of-the-art neural and symbolic approaches on 400 real Excel and Power Fx formulas, where LaMirage outperforms all baselines. We release these benchmarks to encourage subsequent work in low-code domains. Rohan Bavishi, Harshit Joshi, José Cambronero, Anna Fariha, Sumit Gulwani, Vu Le 0002, Ivan Radicek, Ashish Tiwari 0001 |
Proc. ACM Program. Lang. | 8 |
| 2022 | Overwatch: learning patterns in code edit sequencesabstractIntegrated Development Environments (IDEs) provide tool support to automate many source code editing tasks. Traditionally, IDEs use only the spatial context, i.e., the location where the developer is editing, to generate candidate edit recommendations. However, spatial context alone is often not sufficient to confidently predict the developer’s next edit, and thus IDEs generate many suggestions at a location. Therefore, IDEs generally do not actively offer suggestions and instead, the developer is usually required to click on a specific icon or menu and then select from a large list of potential suggestions. As a consequence, developers often miss the opportunity to use the tool support because they are not aware it exists or forget to use it. To better understand common patterns in developer behavior and produce better edit recommendations, we can additionally use the temporal context, i.e., the edits that a developer was recently performing. To enable edit recommendations based on temporal context, we present Overwatch, a novel technique for learning edit sequence patterns from traces of developers’ edits performed in an IDE. Our experiments show that Overwatch has 78% precision and that Overwatch not only completed edits when developers missed the opportunity to use the IDE tool support but also predicted new edits that have no tool support in the IDE. Yuhao Zhang 0005, Yasharth Bajpai, Priyanshu Gupta, Ameya Ketkar, Miltiadis Allamanis, Titus Barik, Sumit Gulwani, Arjun Radhakrishna, Mohammad Raza, Gustavo Soares, Ashish Tiwari 0001 |
Proc. ACM Program. Lang. | 11 |
| 2021 | CoCo: Interactive Exploration of Conformance Constraints for Data Understanding and Data CleaningabstractData profiling refers to the task of extracting technical metadata or profiles and has numerous applications such as data understanding, validation, integration, and cleaning. While a number of data profiling primitives exist in the literature, most of them are limited to categorical attributes. A few techniques consider numerical attributes; but, they either focus on simple relationships involving a pair of attributes (e.g., correlations) or convert the continuous semantics of numerical attributes to a discrete semantics, which results in information loss. To capture more complex relationships involving the numerical attributes, we developed a new data-profiling primitive called conformance constraints, which can model linear arithmetic relationships involving multiple numerical attributes. We present CoCo, a system that allows interactive discovery and exploration of Conformance Constraints for understanding trends involving the numerical attributes of a dataset, with a particular focus on the application of data cleaning. Through a simple interface, CoCo enables the user to guide conformance constraint discovery according to their preferences. The user can examine to what extent a new, possibly dirty, dataset satisfies or violates the discovered conformance constraints. Further, CoCo provides useful suggestions for cleaning dirty data tuples, where the user can interactively alter cell values, and verify by checking change in conformance constraint violation due to the alteration. We demonstrate how CoCo can help in understanding trends in the data and assist the users in interactive data cleaning, using conformance constraints. Anna Fariha, Ashish Tiwari 0001, Alexandra Meliou, Arjun Radhakrishna, Sumit Gulwani |
SIGMOD Conference | 2 |
| 2021 | Conformance Constraint Discovery: Measuring Trust in Data-Driven SystemsabstractThe reliability of inferences made by data-driven systems hinges on the data's continued conformance to the systems' initial settings and assumptions. When serving data (on which we want to apply inference) deviates from the profile of the initial training data, the outcome of inference becomes unreliable. We introduce conformance constraints, a new data profiling primitive tailored towards quantifying the degree of non-conformance, which can effectively characterize if inference over that tuple is untrustworthy. Conformance constraints are constraints over certain arithmetic expressions (called projections) involving the numerical attributes of a dataset, which existing data profiling primitives such as functional dependencies and denial constraints cannot model. Our key finding is that projections that incur low variance on a dataset construct effective conformance constraints. This principle yields the surprising result that low-variance components of a principal component analysis, which are usually discarded for dimensionality reduction, generate stronger conformance constraints than the high-variance components. Based on this result, we provide a highly scalable and efficient technique--linear in data size and cubic in the number of attributes--for discovering conformance constraints for a dataset. To measure the degree of a tuple's non-conformance with respect to a dataset, we propose a quantitative semantics that captures how much a tuple violates the conformance constraints of that dataset. We demonstrate the value of conformance constraints on two applications: trusted machine learning and data drift. We empirically show that conformance constraints offer mechanisms to (1) reliably detect tuples on which the inference of a machine-learned model should not be trusted, and (2) quantify data drift more accurately than the state of the art. Anna Fariha, Ashish Tiwari 0001, Arjun Radhakrishna, Sumit Gulwani, Alexandra Meliou |
SIGMOD Conference | 2 |
| 2021 | Multi-modal program inference: a marriage of pre-trained language models and component-based synthesisabstractMulti-modal program synthesis refers to the task of synthesizing programs (code) from their specification given in different forms, such as a combination of natural language and examples. Examples provide a precise but incomplete specification, and natural language provides an ambiguous but more "complete" task description. Machine-learned pre-trained models (PTMs) are adept at handling ambiguous natural language, but struggle with generating syntactically and semantically precise code. Program synthesis techniques can generate correct code, often even from incomplete but precise specifications, such as examples, but they are unable to work with the ambiguity of natural languages. We present an approach that combines PTMs with component-based synthesis (CBS): PTMs are used to generate candidates programs from the natural language description of the task, which are then used to guide the CBS procedure to find the program that matches the precise examples-based specification. We use our combination approach to instantiate multi-modal synthesis systems for two programming domains: the domain of regular expressions and the domain of CSS selectors. Our evaluation demonstrates the effectiveness of our domain-agnostic approach in comparison to a state-of-the-art specialized system, and the generality of our approach in providing multi-modal program synthesis from natural language and examples in different programming domains. Kia Rahmani, Mohammad Raza, Sumit Gulwani, Vu Le 0002, Dan Morris 0001, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari 0001 |
Proc. ACM Program. Lang. | 8 |
| 2020 | Neural Flocking: MPC-Based Supervised Learning of Flocking ControllersabstractAbstract We show how a symmetric and fully distributed flocking controller can be synthesized using Deep Learning from a centralized flocking controller. Our approach is based on Supervised Learning, with the centralized controller providing the training data, in the form of trajectories of state-action pairs. We use Model Predictive Control (MPC) for the centralized controller, an approach that we have successfully demonstrated on flocking problems. MPC-based flocking controllers are high-performing but also computationally expensive. By learning a symmetric and distributed neural flocking controller from a centralized MPC-based one, we achieve the best of both worlds: the neural controllers have high performance (on par with the MPC controllers) and high efficiency. Our experimental results demonstrate the sophisticated nature of the distributed controllers we learn. In particular, the neural controllers are capable of achieving myriad flocking-oriented control objectives, including flocking formation, collision avoidance, obstacle avoidance, predator avoidance, and target seeking. Moreover, they generalize the behavior seen in the training data to achieve these objectives in a significantly broader range of scenarios. In terms of verification of our neural flocking controller, we use a form of statistical model checking to compute confidence intervals for its convergence rate and time to convergence. Usama Mehmood, Shouvik Roy, Radu Grosu, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001 |
FoSSaCS | 6 |
| 2020 | ExTuNe: Explaining Tuple Non-conformanceabstractIn data-driven systems, we often encounter tuples on which the predictions of a machine-learned model are untrustworthy. A key cause of such untrustworthiness is non-conformance of a new tuple with respect to the training dataset. To check conformance, we introduce a novel concept of data invariant, which captures a set of implicit constraints that all tuples of a dataset satisfy: a test tuple is non-conforming if it violates the data invariants. Data invariants model complex relationships among multiple attributes; but do not provide interpretable explanations of non-conformance. We present ExTuNe, a system for Explaining causes of Tuple Non-conformance. Based on the principles of causality, ExTuNe assigns responsibility to the attributes for causing non-conformance. The key idea is to observe change in invariant violation under intervention on attribute-values. Through a simple interface, ExTuNe produces a ranked list of the test tuples based on their degree of non-conformance and visualizes tuple-level attribute responsibility for non-conformance through heat maps. ExTuNe further visualizes attribute responsibility, aggregated over the test tuples. We demonstrate how ExTuNe can detect and explain tuple non-conformance and assist the users to make careful decisions towards achieving trusted machine learning. Anna Fariha, Ashish Tiwari 0001, Arjun Radhakrishna, Sumit Gulwani |
SIGMOD Conference | 2 |
| 2020 | Feedback-driven semi-supervised synthesis of program transformationsabstractWhile editing code, it is common for developers to make multiple related repeated edits that are all instances of a more general program transformation. Since this process can be tedious and error-prone, we study the problem of automatically learning program transformations from past edits, which can then be used to predict future edits. We take a novel view of the problem as a semi-supervised learning problem: apart from the concrete edits that are instances of the general transformation, the learning procedure also exploits access to additional inputs (program subtrees) that are marked as positive or negative depending on whether the transformation applies on those inputs. We present a procedure to solve the semi-supervised transformation learning problem using anti-unification and programming-by-example synthesis technology. To eliminate reliance on access to marked additional inputs, we generalize the semi-supervised learning procedure to a feedback-driven procedure that also generates the marked additional inputs in an iterative loop. We apply these ideas to build and evaluate three applications that use different mechanisms for generating feedback. Compared to existing tools that learn program transformations from edits, our feedback-driven semi-supervised approach is vastly more effective in successfully predicting edits with significantly lesser amounts of past edit data. Xiang Gao 0012, Shraddha Barke, Arjun Radhakrishna, Gustavo Soares, Sumit Gulwani, Alan Leung, Nachiappan Nagappan, Ashish Tiwari 0001 |
Proc. ACM Program. Lang. | 8 |
| 2019 | SOTER: A Runtime Assurance Framework for Programming Safe Robotics SystemsabstractThe recent drive towards achieving greater autonomy and intelligence in robotics has led to high levels of complexity. Autonomous robots increasingly depend on third-party off-the-shelf components and complex machine-learning techniques. This trend makes it challenging to provide strong design-time certification of correct operation. To address these challenges, we present SOTER, a robotics programming framework with two key components: (1) a programming language for implementing and testing high-level reactive robotics software, and (2) an integrated runtime assurance (RTA) system that helps enable the use of uncertified components, while still providing safety guarantees. SOTER provides language primitives to declaratively construct a RTA module consisting of an advanced, high-performance controller (uncertified), a safe, lower-performance controller (certified), and the desired safety specification. The framework provides a formal guarantee that a well-formed RTA module always satisfies the safety specification, without completely sacrificing performance by using higher performance uncertified components whenever safe. SOTER allows the complex robotics software stack to be constructed as a composition of RTA modules, where each uncertified component is protected using a RTA module. To demonstrate the efficacy of our framework, we consider a real-world case-study of building a safe drone surveillance system. Our experiments both in simulation and on actual drones show that the SOTER-enabled RTA ensures the safety of the system, including when untrusted third-party components have bugs or deviate from the desired behavior. Ankush Desai, Shromona Ghosh, Sanjit A. Seshia, Natarajan Shankar, Ashish Tiwari 0001 |
DSN | 5 |
| 2019 | Sherlock - A tool for verification of neural network feedback systems: demo abstractabstractWe present an approach for the synthesis and verification of neural network controllers for closed loop dynamical systems, modelled as an ordinary differential equation. Feedforward neural networks are ubiquitous when it comes to approximating functions, especially in the machine learning literature. The proposed verification technique tries to construct an over-approximation of the system trajectories using a combination of tools, such as, Sherlock and Flow*. In addition to computing reach sets, we incorporate counter examples or bad traces into the synthesis phase of the controller as well. We go back and forth between verification and counter example generation until the system outputs a fully verified controller, or the training fails to terminate in a neural network which is compliant with the desired specifications. We demonstrate the effectiveness of our approach over a suite of benchmarks ranging from 2 to 17 variables. Souradeep Dutta, Xin Chen 0002, Susmit Jha, Sriram Sankaranarayanan 0001, Ashish Tiwari 0001 |
HSCC | 5 |
| 2019 | TeLEx: learning signal temporal logic from positive examples using tightness metric
Susmit Jha, Ashish Tiwari 0001, Sanjit A. Seshia, Tuhin Sahai, Natarajan Shankar |
Formal Methods Syst. Des. | 2 |
| 2019 | On the fly synthesis of edit suggestionsabstractWhen working with a document, users often perform context-specific repetitive edits – changes to the document that are similar but specific to the contexts at their locations. Programming by demonstration/examples (PBD/PBE) systems automate these tasks by learning programs to perform the repetitive edits from demonstration or examples. However, PBD/PBE systems are not widely adopted, mainly because they require modal UIs – users must enter a special mode to give the demonstration/examples. This paper presents Blue-Pencil, a modeless system for synthesizing edit suggestions on the fly. Blue-Pencil observes users as they make changes to the document, silently identifies repetitive changes, and automatically suggests transformations that can apply at other locations. Blue-Pencil is parameterized – it allows the ”plug-and-play” of different PBE engines to support different document types and different kinds of transformations. We demonstrate this parameterization by instantiating Blue-Pencil to several domains – C# and SQL code, markdown documents, and spreadsheets – using various existing PBE engines. Our evaluation on 37 code editing sessions shows that Blue-Pencil synthesized edit suggestions with a precision of 0.89 and a recall of 1.0, and took 199 ms to return suggestions on average. Finally, we report on several improvements based on feedback gleaned from a field study with professional programmers to investigate the use of Blue-Pencil during long code editing sessions. Blue-Pencil has been integrated with Visual Studio IntelliCode to power the IntelliCode refactorings feature. Anders Miltner, Sumit Gulwani, Vu Le 0002, Alan Leung, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari 0001, Abhishek Udupa |
Proc. ACM Program. Lang. | 7 |
| 2018 | Learning Task Specifications from DemonstrationsabstractReal-world applications often naturally decompose into several sub-tasks. In many settings (e.g., robotics) demonstrations provide a natural way to specify the sub-tasks. However, most methods for learning from demonstrations either do not provide guarantees that the artifacts learned for the sub-tasks can be safely recombined or limit the types of composition available. Motivated by this deficit, we consider the problem of inferring Boolean non-Markovian rewards (also known as logical trace properties or specifications) from demonstrations provided by an agent operating in an uncertain, stochastic environment. Crucially, specifications admit well-defined composition rules that are typically easy to interpret. In this paper, we formulate the specification inference task as a maximum a posteriori (MAP) probability inference problem, apply the principle of maximum entropy to derive an analytic demonstration likelihood model and give an efficient approach to search for the most likely specification in a large candidate pool of specifications. In our experiments, we demonstrate how learning specifications can help avoid common problems that often arise due to ad-hoc reward composition. Marcell Vazquez-Chanlatte, Susmit Jha, Ashish Tiwari 0001, Mark K. Ho, Sanjit A. Seshia |
NeurIPS | 3 |
| 2017 | Attacking the V: On the Resiliency of Adaptive-Horizon MPC
Ashish Tiwari 0001, Scott A. Smolka, Lukas Esterle, Anna Lukina, Junxing Yang, Radu Grosu |
ATVA | 1 |
| 2017 | Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis
Adrià Gascón, Ashish Tiwari 0001, Brent Carmer, Umang Mathur 0001 |
CAV (2) | 2 |
| 2017 | TeLEx: Passive STL Learning Using Only Positive Examples
Susmit Jha, Ashish Tiwari 0001, Sanjit A. Seshia, Tuhin Sahai, Natarajan Shankar |
RV | 2 |
| 2017 | ARES: Adaptive Receding-Horizon Synthesis of Optimal Plans
Anna Lukina, Lukas Esterle, Christian Hirsch, Ezio Bartocci, Junxing Yang, Ashish Tiwari 0001, Scott A. Smolka, Radu Grosu |
TACAS (2) | 6 |
| 2016 | Love Thy Neighbor: V-Formation as a Problem of Model Predictive ControlabstractWe present a new formulation of the V-formation problem for migrating birds in terms of model predictive control (MPC). In our approach, to drive a collection of birds towards a desired formation, an optimal velocity adjustment (acceleration) is performed at each time-step on each bird's current velocity using a model-based prediction window of $T$ time-steps. We present both centralized and distributed versions of this approach. The optimization criteria we consider are based on fitness metrics of candidate accelerations that birds in a V-formations are known to benefit from, including velocity matching, clear view, and upwash benefit. We validate our MPC-based approach by showing that for a significant majority of simulation runs, the flock succeeds in forming the desired formation. Our results help to better understand the emergent behavior of formation flight, and provide a control strategy for flocks of autonomous aerial vehicles. Junxing Yang, Radu Grosu, Scott A. Smolka, Ashish Tiwari 0001 |
CONCUR | 4 |
| 2016 | A search-based procedure for nonlinear real arithmetic
Ashish Tiwari 0001, Patrick Lincoln |
Formal Methods Syst. Des. | 1 |
| 2015 | Severity Levels of Inconsistent Code
Martin Schäf, Ashish Tiwari 0001 |
ATVA | 2 |
| 2015 | Program Synthesis Using Dual Interpretation
Ashish Tiwari 0001, Adrià Gascón, Bruno Dutertre |
CADE | 1 |
| 2015 | Time-Aware Abstractions in HybridSal
Ashish Tiwari 0001 |
CAV (1) | 1 |
| 2015 | Two-Restricted One Context Unification is in Polynomial TimeabstractOne Context Unification (1CU) extends first-order unification by introducing a single context variable. This problem was recently shown to be in NP, but it is not known to be solvable in polynomial time. We show that the case of 1CU where the context variable occurs at most twice in the input (1CU2r) is solvable in polynomial time. Moreover, a polynomial representation of all solutions can also be computed in polynomial time. The 1CU2r problem is important as it is used as a subroutine in polynomial time algorithms for several more-general classes of 1CU problem. Our algorithm can be seen as an extension of the usual rules of first-order unification and can be used to solve related problems in polynomial time, such as first-order unification of two terms that tolerates one clash. All our results assume that the input terms are represented as Directed Acyclic Graphs. Adrià Gascón, Manfred Schmidt-Schauß, Ashish Tiwari 0001 |
CSL | 3 |
| 2015 | One Context Unification Problems Solvable in Polynomial TimeabstractOne context unification extends first-order unification by introducing a single context variable, possibly with multiple occurrences. One context unification is known to be in NP, but it is not known to be solvable in polynomial time. In this paper, we present a polynomial time algorithm for certain interesting classes of the one context unification problem. Our algorithm is presented as an inference system that non-trivially extends the usual inference rules for first-order unification. The algorithm is of independent value as it can be used, with slight modifications, to solve other problems, such as the first-order unification problem that tolerates one clash. Adrià Gascón, Ashish Tiwari 0001, Manfred Schmidt-Schauß |
LICS | 2 |
| 2015 | Gamifying Program Analysis
Daniel S. Fava, Julien Signoles, Matthieu Lemerre, Martin Schäf, Ashish Tiwari 0001 |
LPAR | 5 |
| 2014 | A Nonlinear Real Arithmetic Fragment
Ashish Tiwari 0001, Patrick Lincoln |
CAV | 1 |
| 2014 | Template-based circuit understandingabstractWhen verifying or reverse-engineering digital circuits, one often wants to identify and understand small components in a larger system. A possible approach is to show that the sub-circuit under investigation is functionally equivalent to a reference implementation. In many cases, this task is difficult as one may not have full information about the mapping between input and output of the two circuits, or because the equivalence depends on settings of control inputs. We propose a template-based approach that automates this process. It extracts a functional description for a low-level combinational circuit by showing it to be equivalent to a reference implementation, while synthesizing an appropriate mapping of input and output signals and setting of control signals. The method relies on solving an exists/forall problem using an SMT solver, and on a pruning technique based on signature computation. Adrià Gascón, Pramod Subramanyan, Bruno Dutertre, Ashish Tiwari 0001, Dejan Jovanovic, Sharad Malik |
FMCAD | 4 |
| 2014 | Synthesis for Polynomial Lasso Programs
Jan Leike, Ashish Tiwari 0001 |
VMCAI | 2 |
| 2013 | Safety verification for linear systemsabstractAn embedded software controller is safe if the composition of the controller and the plant does not reach any unsafe state starting from legal initial states (in an unbounded time horizon). Linear systems - specified using linear ordinary differential or difference equations - form an important class of models for such control systems. We present a new decidability result for safety verification of linear systems. Our decidability result assumes that the set of initial states and the set of unsafe states satisfy some conditions. When the set of initial and unsafe states do not satisfy these conditions, they can be overapproximated by sets that do satisfy the conditions. We thus get a counterexample guided abstraction refinement (CEGAR) procedure for the unconstrained safety verification of linear systems. Our new procedure performs abstraction-refinement on the initial and unsafe region, and not on the system itself. We present the new procedure and describe experimental results that demonstrate its effectiveness. Parasara Sridhar Duggirala, Ashish Tiwari 0001 |
EMSOFT | 2 |
| 2013 | Time-aware relational abstractions for hybrid systemsabstractHybrid Systems model both discrete switches and continuous dynamics and are suitable to represent embedded systems where discrete controllers interact with a physical plant. Relational abstraction is a new approach for verifying hybrid systems. In relational abstraction, the continuous dynamics in each location of the hybrid system is abstracted by a binary relation that relates the current value of the continuous variables with all future values of the variables that are reachable after a time elapse (continuous) transition. The abstract system is an infinite-state system, which can be verified using k-induction or abstract interpretation. Existing techniques for computing relational abstractions are time-agnostic: they do not construct any relationship between the state variables and the time elapsed during the continuous evolution. Time-agnostic abstractions cannot verify timing properties. We present a technique to compute a time-aware relational abstraction for verifying (timing-related) safety properties of cyber-physical systems. We show the effectiveness of the new abstraction on several case studies on which the previous techniques fail. Sergio Mover, Alessandro Cimatti, Ashish Tiwari 0001, Stefano Tonetta |
EMSOFT | 3 |
| 2013 | Computing minimal nutrient sets from metabolic networks via linear constraint solvingabstractBACKGROUND: As more complete genome sequences become available, bioinformatics challenges arise in how to exploit genome sequences to make phenotypic predictions. One type of phenotypic prediction is to determine sets of compounds that will support the growth of a bacterium from the metabolic network inferred from the genome sequence of that organism. RESULTS: We present a method for computationally determining alternative growth media for an organism based on its metabolic network and transporter complement. Our method predicted 787 alternative anaerobic minimal nutrient sets for Escherichia coli K-12 MG1655 from the EcoCyc database. The program automatically partitioned the nutrients within these sets into 21 equivalence classes, most of which correspond to compounds serving as sources of carbon, nitrogen, phosphorous, and sulfur, or combinations of these essential elements. The nutrient sets were predicted with 72.5% accuracy as evaluated by comparison with 91 growth experiments. Novel aspects of our approach include (a) exhaustive consideration of all combinations of nutrients rather than assuming that all element sources can substitute for one another(an assumption that can be invalid in general) (b) leveraging the notion of a machinery-duplicating constraint, namely, that all intermediate metabolites used in active reactions must be produced in increasing concentrations to prevent successive dilution from cell division, (c) the use of Satisfiability Modulo Theory solvers rather than Linear Programming solvers, because our approach cannot be formulated as linear programming, (d) the use of Binary Decision Diagrams to produce an efficient implementation. CONCLUSIONS: Our method for generating minimal nutrient sets from the metabolic network and transporters of an organism combines linear constraint solving with binary decision diagrams to efficiently produce solution sets to provided growth problems. Steven Eker, Markus Krummenacker, Alexander Glennon Shearer, Ashish Tiwari 0001, Ingrid M. Keseler, Carolyn L. Talcott, Peter D. Karp |
BMC Bioinform. | 4 |
| 2013 | Non-Linear Rewrite Closure and Weak Normalization
Carles Creus, Guillem Godoy, Francesc Massanes, Ashish Tiwari 0001 |
J. Autom. Reason. | 4 |
| 2012 | HybridSAL Relational Abstracter
Ashish Tiwari 0001 |
CAV | 1 |
| 2012 | Timed Relational Abstractions for Sampled Data Control Systems
Aditya Zutshi 0001, Sriram Sankaranarayanan 0001, Ashish Tiwari 0001 |
CAV | 3 |
| 2012 | RTA 2012 Proceedings FrontmatterabstractFrontmatter, Table of Contents, Conference Organization, External Reviewers, Author Index. Ashish Tiwari 0001 |
RTA | 1 |
| 2011 | Relational Abstractions for Continuous and Hybrid Systems
Sriram Sankaranarayanan 0001, Ashish Tiwari 0001 |
CAV | 2 |
| 2011 | Synthesis of optimal switching logic for hybrid systemsabstractGiven a multi-modal dynamical system, optimal switching logic synthesis involves generating conditions for switching between the system modes such that the resulting hybrid system satisfies a quantitative specification. We formalize and solve the problem of optimal switching logic synthesis for quantitative specifications over long run behavior. Our paper generalizes earlier work on synthesis for safety. We present an approach for specifying quantitative measures using reward and penalty functions, and illustrate its effectiveness using several examples. Each trajectory of the system, and each state of the system, is associated with a cost. Our goal is to synthesize a system that minimizes this cost from each initial state. Our algorithm works in two steps. For a single initial state, we reduce the synthesis problem to an unconstrained numerical optimization problem which can be solved by any off-the-shelf numerical optimization engines. In the next step, optimal switching condition is learnt as a generalization of the optimal switching states discovered for each initial state. We prove the correctness of our technique and demonstrate the effectiveness of this approach with experimental results. Susmit Jha, Sanjit A. Seshia, Ashish Tiwari 0001 |
EMSOFT | 3 |
| 2011 | Verification and synthesis using real quantifier eliminationabstractWe present the application of real quantifier elimination to formal verification and synthesis of continuous and switched dynamical systems. Through a series of case studies, we show how first-order formulas over the reals arise when formally analyzing models of complex control systems. Existing off-the-shelf quantifier elimination procedures are not successful in eliminating quantifiers from many of our benchmarks. We therefore automatically combine three established software components: virtual subtitution based quantifier elimination in Reduce/Redlog, cylindrical algebraic decomposition implemented in Qepcad, and the simplifier Slfq implemented on top of Qepcad. We use this combination to successfully analyze various models of systems including adaptive cruise control in automobiles, adaptive flight control system, and the classical inverted pendulum problem studied in control theory. Thomas Sturm 0001, Ashish Tiwari 0001 |
ISSAC | 2 |
| 2011 | Logic in Software, Dynamical and Biological SystemsabstractFormal methods is a key area within the Computer Science discipline. Formal methods is concerned with analyzing systems formally. Here, we focus on three different systems: software systems, dynamical control systems, and biological systems. Software systems are discrete-time systems, whereas control systems are continuous-time dynamical systems. Systems consisting of interaction between the two are called cyber-physical systems and their dynamics are given using a hybrid-time model. Biological systems are complex systems that have been modeled and analyzed as discrete, continuous, and hybrid dynamical systems. The analysis questions can be broadly classified into verification and synthesis questions. We focus on both these aspects here. Logic and logical methods play a key role in the tools and techniques across this whole range of systems and analyses. Ashish Tiwari 0001 |
LICS | 1 |
| 2011 | Synthesis of loop-free programsabstractWe consider the problem of synthesizing loop-free programs that implement a desired functionality using components from a given library. Specifications of the desired functionality and the library components are provided as logical relations between their respective input and output variables. The library components can be used at most once, and hence the library is required to contain a reasonable overapproximation of the multiset of the components required. Sumit Gulwani, Susmit Jha, Ashish Tiwari 0001, Ramarathnam Venkatesan |
PLDI | 3 |
| 2011 | Synthesizing geometry constructionsabstractIn this paper, we study the problem of automatically solving ruler/compass based geometry construction problems. We first introduce a logic and a programming language for describing such constructions and then phrase the automation problem as a program synthesis problem. We then describe a new program synthesis technique based on three key insights: (i) reduction of symbolic reasoning to concrete reasoning (based on a deep theoretical result that reduces verification to random testing), (ii) extending the instruction set of the programming language with higher level primitives (representing basic constructions found in textbook chapters, inspired by how humans use their experience and knowledge gained from chapters to perform complicated constructions), and (iii) pruning the forward exhaustive search using a goal-directed heuristic (simulating backward reasoning performed by humans). Our tool can successfully synthesize constructions for various geometry problems picked up from high-school textbooks and examination papers in a reasonable amount of time. This opens up an amazing set of possibilities in the context of making classroom teaching interactive. Sumit Gulwani, Vijay Anand Korthikanti, Ashish Tiwari 0001 |
PLDI | 3 |
| 2011 | Rewriting in PracticeabstractWe discuss applications of rewriting in three different areas: design and analysis of algorithms, theorem proving and term rewriting, and modeling and analysis of biological processes. Ashish Tiwari 0001 |
RTA | 1 |
| 2011 | Synthesizing switching logic using constraint solving
Ankur Taly, Sumit Gulwani, Ashish Tiwari 0001 |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2010 | Switching logic synthesis for reachabilityabstractWe 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. Ankur Taly, Ashish Tiwari 0001 |
EMSOFT | 2 |
| 2010 | Oracle-guided component-based program synthesisabstractWe present a novel approach to automatic synthesis of loop-free programs. The approach is based on a combination of oracle-guided learning from examples, and constraint-based synthesis from components using satisfiability modulo theories (SMT) solvers. Our approach is suitable for many applications, including as an aid to program understanding tasks such as deobfuscating malware. We demonstrate the efficiency and effectiveness of our approach by synthesizing bit-manipulating programs and by deobfuscating programs. Susmit Jha, Sumit Gulwani, Sanjit A. Seshia, Ashish Tiwari 0001 |
ICSE (1) | 4 |
| 2010 | Theory of reals for verification and synthesis of hybrid dynamical systemsabstractReal numbers are used to model all physical processes around us. The temperature of a room, the speed of a car, the angle of attack of an airplane, protein concentration in a cell, blood glucose concentration in a human, and the amount of chemical in a tank are a few of the countless quantities that arise in science and engineering and that are modeled using real-valued variables. Many of these physical quantities are now being controlled by embedded software running on some hardware platform. The resulting systems could possibly be communicating and coordinating with other such systems and reacting actively to changes in their environment. The net result is a complex cyber-physical system. Several such systems operate in safety-critical domains, such as transportation and health care, where failures can potentially cause a lot of financial as well as human life loss. Formal verification and synthesis are both indispensable components of any methodology for designing and efficiently developing safe cyber-physical systems. Ashish Tiwari 0001 |
ISSAC | 1 |
| 2010 | Context unification with one context variable
Adrià Gascón, Guillem Godoy, Manfred Schmidt-Schauß, Ashish Tiwari 0001 |
J. Symb. Comput. | 4 |
| 2010 | Special issue on automated deduction: Decidability, complexity, tractability
Silvio Ghilardi, Viorica Sofronie-Stokkermans, Ulrike Sattler, Ashish Tiwari 0001 |
J. Symb. Comput. | 4 |
| 2009 | Deductive Verification of Continuous Dynamical SystemsabstractWe 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 inference rules that are sound and relatively complete for different classes of inductive invariants. The simpler inference rules can be effectively checked when all involved sets are semi-algebraic. Ankur Taly, Ashish Tiwari 0001 |
FSTTCS | 2 |
| 2009 | Non-linear Rewrite Closure and Weak NormalizationabstractA rewrite closure is an extension of a term rewrite system with new rules, usually deduced by transitivity. Rewrite closures have the nice property that all rewrite derivations can be transformed into derivations of a simple form. This property has been useful for proving decidability results in term rewriting. Unfortunately, when the term rewrite system is not linear, the construction of a rewrite closure is quite challenging. In this paper, we construct a rewrite closure for term rewrite systems that satisfy two properties: the right-hand side term in each rewrite rule contains no repeated variable (right-linear) and contains no variable at depth greater than one (right-shallow). The left-hand side term is unrestricted, and in particular, it may be non-linear. As a consequence of the rewrite closure construction, we are able to prove decidability of the weak normalization problem for right-linear right-shallow term rewrite systems. Proving this result also requires tree automata theory. We use the fact that right-shallow right-linear term rewrite systems are regularity preserving. Moreover, their set of normal forms can be represented with a tree automaton with disequality constraints, and emptiness of this kind of automata, as well as its generalization to reduction automata, is decidable. Carles Creus, Guillem Godoy, Francesc Massanes, Ashish Tiwari 0001 |
LICS | 4 |
| 2009 | Invariant Checking for Programs with Procedure Calls
Guillem Godoy, Ashish Tiwari 0001 |
SAS | 2 |
| 2009 | Synthesizing Switching Logic Using Constraint Solving
Ankur Taly, Sumit Gulwani, Ashish Tiwari 0001 |
VMCAI | 3 |
| 2008 | Constraint-Based Approach for Analysis of Hybrid Systems
Sumit Gulwani, Ashish Tiwari 0001 |
CAV | 2 |
| 2008 | Lifting abstract interpreters to quantified logical domainsabstractWe describe a general technique for building abstract interpreters over powerful universally quantified abstract domains that leverage existing quantifier-free domains. Our quantified abstract domain can represent universally quantified facts like ∀i(0 ≤ i < n ⇒ α[i] = 0). The principal challenge in this effort is that, while most domains supply over-approximations of operations like join, meet, and variable elimination, working with the guards of quantified facts requires under-approximation. We present an automatic technique to convert the standard over-approximation operations provided with all domains into sound under-approximations. We establish the correctness of our abstract interpreters by identifying two lattices---one that establishes the soundness of the abstract interpreter and another that defines its precision, or completeness. Our experiments on a variety of programs using arrays and pointers (including several sorting algorithms) demonstrate the feasibility of the approach on challenging examples. Sumit Gulwani, Bill McCloskey, Ashish Tiwari 0001 |
POPL | 3 |
| 2008 | Abstractions for hybrid systems
Ashish Tiwari 0001 |
Formal Methods Syst. Des. | 1 |
| 2007 | Quantitative and Probabilistic Modeling in Pathway LogicabstractThis paper presents a study of possible extensions of pathway logic to represent and reason about semiquantitative and probabilistic aspects of biological processes. The underlying theme is the annotation of reaction rules with affinity information that can be used in different simulation strategies. Several such strategies were implemented, and experiments carried out to test feasibility, and to compare results of different approaches. Dimerization in the ErbB signalling network, important in cancer biology, was used as a test case. Alessandro Abate, Nathalie Sznajder, Carolyn L. Talcott, Ashish Tiwari 0001 |
BIBE | 5 |
| 2007 | Logical Interpretation: Static Program Analysis Using Theorem Proving
Ashish Tiwari 0001, Sumit Gulwani |
CADE | 1 |
| 2007 | An Abstract Domain for Analyzing Heap-Manipulating Low-Level Software
Sumit Gulwani, Ashish Tiwari 0001 |
CAV | 2 |
| 2007 | Computing Procedure Summaries for Interprocedural Analysis
Sumit Gulwani, Ashish Tiwari 0001 |
ESOP | 2 |
| 2007 | Termination of Rewriting with Right-Flat Rules
Guillem Godoy, Eduard Huntingford, Ashish Tiwari 0001 |
RTA | 3 |
| 2007 | Assertion Checking Unified
Sumit Gulwani, Ashish Tiwari 0001 |
VMCAI | 2 |
| 2006 | Assertion Checking over Combined Abstraction of Linear Arithmetic and Uninterpreted Functions
Sumit Gulwani, Ashish Tiwari 0001 |
ESOP | 2 |
| 2006 | Combining abstract interpretersabstractWe present a methodology for automatically combining abstract interpreters over given lattices to construct an abstract interpreter for the combination of those lattices. This lends modularity to the process of design and implementation of abstract interpreters.We define the notion of logical product of lattices. This kind of combination is more precise than the reduced product combination. We give algorithms to obtain the join operator and the existential quantification operator for the combined lattice from the corresponding operators of the individual lattices. We also give a bound on the number of steps required to reach a fixed point across loops during analysis over the combined lattice in terms of the corresponding bounds for the individual lattices. We prove that our combination methodology yields the most precise abstract interpretation operators over the logical product of lattices when the individual lattices are over theories that are convex, stably infinite, and disjoint.We also present an interesting application of logical product wherein some lattices can be reduced to combination of other (unrelated) lattices with known abstract interpreters. Sumit Gulwani, Ashish Tiwari 0001 |
PLDI | 2 |
| 2005 | Termination of Rewrite Systems with Shallow Right-Linear, Collapsing, and Right-Ground Rules
Guillem Godoy, Ashish Tiwari 0001 |
CADE | 2 |
| 2004 | SAL 2
Leonardo de Moura 0001, Sam Owre, Harald Ruess, John M. Rushby, Natarajan Shankar, Maria Sorea, Ashish Tiwari 0001 |
CAV | 7 |
| 2004 | Termination of Linear Programs
Ashish Tiwari 0001 |
CAV | 1 |
| 2004 | Join Algorithms for the Theory of Uninterpreted Functions
Sumit Gulwani, Ashish Tiwari 0001, George C. Necula |
FSTTCS | 2 |
| 2004 | Deciding confluence of certain term rewriting systems in polynomial timeabstractWe present a characterization of confluence for term rewriting systems, which is then refined for special classes of rewriting systems. The refined characterization is used to obtain a polynomial time algorithm for deciding the confluence of ground term rewrite systems. The same approach also shows the decidability of confluence for shallow and linear term rewriting systems. The decision procedure has a polynomial time complexity under the assumption that the maximum arity of a function symbol in the signature is a constant. Guillem Godoy, Ashish Tiwari 0001, Rakesh M. Verma |
Ann. Pure Appl. Log. | 2 |
| 2004 | Classes of term rewrite systems with polynomial confluence problemsabstractThe confluence property of ground (i.e., variable-free) term rewrite systems (TRS) is well known to be decidable. This was proved independently in Dauchet et al. [1987, 1990] and in Oyamaguchi [1987] using tree automata techniques and ground tree transducer techniques (originated from this problem), yielding EXPTIME decision procedures (PSPACE for strings). Since then, and until last year, the optimality of this bound had been a well-known longstanding open question (see, e.g., RTA-LOOP [2001]).In Comon et al. [2001], we gave the first polynomial-time algorithm for deciding the confluence of ground TRS. Later in Tiwari [2002] this result was extended, using abstract congruent closure techniques, to linear shallow TRS, that is, TRS where no variable occurs twice in the same rule nor at depth greater than one. Here, we give a new and much simpler proof of the latter result. Guillem Godoy, Robert Nieuwenhuis, Ashish Tiwari 0001 |
ACM Trans. Comput. Log. | 3 |
| 2003 | On the Confluence of Linear Shallow Term Rewrite Systems
Guillem Godoy, Ashish Tiwari 0001, Rakesh M. Verma |
STACS | 2 |
| 2003 | Abstract Congruence Closure
Leo Bachmair, Ashish Tiwari 0001, Laurent Vigneron |
J. Autom. Reason. | 2 |
| 2003 | Invisible formal methods for embedded control systemsabstractEmbedded control systems typically comprise continuous control laws combined with discrete mode logic. These systems are modeled using a hybrid automaton formalism, which is obtained by combining the discrete transition system formalism with continuous dynamical systems. This paper develops automated analysis techniques for asserting correctness of hybrid system designs. Our approach is based on symbolic representation of the state space of the system using mathematical formulas in an appropriate logic. Such formulas are manipulated using symbolic theorem proving techniques. It is important that formal analysis should be unobtrusive and acceptable to engineering practice. We motivate a methodology called invisible formal methods that provides a graded sequence of formal analysis technologies ranging from extended typechecking, through approximation and abstraction, to model checking and theorem proving. As an instance of invisible formal methods, we describe techniques to check inductive invariants, or extended types, for hybrid systems and compute discrete finite state abstractions automatically to perform reachability set computation. The abstract system is sound with respect to the formal semantics of hybrid automata. We also discuss techniques for performing analysis on nonstandard semantics of hybrid automata. We also briefly discuss the problem of translating models in Simulink/Stateflow language, which is widely used in practice, into the modeling formalisms, like hybrid automata, for which analysis tools are being developed. Ashish Tiwari 0001, Natarajan Shankar, John M. Rushby |
Proc. IEEE | 1 |
| 2002 | Deciding Confluence of Certain Term Rewriting Systems in Polynomial TimeabstractWe present a polynomial time algorithm for deciding confluence of ground term rewrite systems. We generalize the decision procedure to get a polynomial time algorithm, assuming that the maximum arity of a symbol in the signature is a constant, for deciding confluence of rewrite systems where each rule contains a shallow linear term on one side and a ground term on the other. The existence of a polynomial time algorithm for deciding confluence of ground rewrite systems was open for a long time and was independently solved only recently. Our decision procedure is based on the concepts of abstract congruence closure and abstract rewrite closure. Ashish Tiwari 0001 |
LICS | 1 |
| 2001 | Rewrite Closure for Ground and Cancellative AC Theories
Ashish Tiwari 0001 |
FSTTCS | 1 |
| 2001 | A Technique for Invariant Generation
Ashish Tiwari 0001, Harald Ruess, Hassen Saïdi, Natarajan Shankar |
TACAS | 1 |
| 2000 | Abstract Congruence Closure and Specializations
Leo Bachmair, Ashish Tiwari 0001 |
CADE | 2 |
| 2000 | Rigid E-Unification Revisited
Ashish Tiwari 0001, Leo Bachmair, Harald Ruess |
CADE | 1 |
| 1999 | Normalization via Rewrite Closures
Leo Bachmair, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Ashish Tiwari 0001 |
RTA | 4 |
| 1997 | D-Bases for Polynomial Ideals over Commutative Noetherian Rings
Leo Bachmair, Ashish Tiwari 0001 |
RTA | 2 |