English
Related papers

Related papers: Representing Partial Programs with Blended Abstrac…

200 papers

Abstraction is a fundamental tool for reasoning about complex systems. Program abstraction has been utilized to great effect for analyzing deterministic programs. At the heart of program abstraction is the relationship between a concrete…

Artificial Intelligence · Computer Science 2017-07-17 Steven Holtzen , Todd Millstein , Guy Van den Broeck

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

Automatically generating formal specifications including loop invariants, preconditions, and postconditions for legacy code is critical for program understanding, reuse and verification. However, the inherent complexity of control and data…

Software Engineering · Computer Science 2026-01-21 Fanpeng Yang , Xu Ma , Shuling Wang , Xiong Xu , Qinxiang Cao , Naijun Zhan , Xiaofeng Li , Bin Gu

Abstraction is a key verification technique to improve scalability. However, its use for neural networks is so far extremely limited. Previous approaches for abstracting classification networks replace several neurons with one of them that…

Logic in Computer Science · Computer Science 2023-07-21 Calvin Chau , Jan Křetínský , Stefanie Mohr

We present a novel algorithm that synthesizes imperative programs for introductory programming courses. Given a set of input-output examples and a partial program, our algorithm generates a complete program that is consistent with every…

Programming Languages · Computer Science 2017-06-14 Sunbeom So , Hakjoo Oh

This paper introduces a general approach for synthesizing procedural models of the state-transitions of a given discrete system. The approach is general in that it accepts different target languages for modeling the state-transitions of a…

Formal Languages and Automata Theory · Computer Science 2023-07-28 Javier Segovia-Aguas , Jonathan Ferrer-Mestres , Sergio Jiménez

An uninterpreted program (UP) is a program whose semantics is defined over the theory of uninterpreted functions. This is a common abstraction used in equivalence checking, compiler optimization, and program verification. While simple, the…

Logic in Computer Science · Computer Science 2021-07-28 Hari Govind V K , Sharon Shoham , Arie Gurfinkel

Symbolic execution is a powerful technique for program analysis. However, it has many limitations in practical applicability: the path explosion problem encumbers scalability, the need for language-specific implementation, the inability to…

Programming Languages · Computer Science 2018-07-03 Shiqi Shen , Soundarya Ramesh , Shweta Shinde , Abhik Roychoudhury , Prateek Saxena

The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In…

Programming Languages · Computer Science 2007-05-23 German Puebla , Elvira Albert , Manuel Hermenegildo

The goal of program synthesis from examples is to find a computer program that is consistent with a given set of input-output examples. Most learning-based approaches try to find a program that satisfies all examples at once. Our work, by…

Machine Learning · Computer Science 2023-06-21 Disha Shrivastava , Hugo Larochelle , Daniel Tarlow

Abstraction is a well-known approach to simplify a complex problem by over-approximating it with a deliberate loss of information. It was not considered so far in Answer Set Programming (ASP), a convenient tool for problem solving. We…

Logic in Computer Science · Computer Science 2021-07-01 Zeynep G. Saribatur , Thomas Eiter

This paper develops a new framework for program synthesis, called semantics-guided synthesis (SemGuS), that allows a user to provide both the syntax and the semantics for the constructs in the language. SemGuS accepts a recursively defined…

Programming Languages · Computer Science 2020-11-12 Jinwoo Kim , Qinheping Hu , Loris D'Antoni , Thomas Reps

Programming by Example (PBE) is the task of inducing computer programs from input-output examples. It can be seen as a type of machine learning where the hypothesis space is the set of legal programs in some programming language. Recent…

Programming Languages · Computer Science 2017-03-03 John K. Feser , Marc Brockschmidt , Alexander L. Gaunt , Daniel Tarlow

Tasks like code generation and semantic parsing require mapping unstructured (or partially structured) inputs to well-formed, executable outputs. We introduce abstract syntax networks, a modeling framework for these problems. The outputs…

Computation and Language · Computer Science 2017-04-26 Maxim Rabinovich , Mitchell Stern , Dan Klein

Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms are well understood, their implementations are subject to bugs, that might question the soundness of their…

Programming Languages · Computer Science 2021-10-19 Lucas Franceschino , David Pichardie , Jean-Pierre Talpin

Program synthesis from input-output (IO) examples has been a long-standing challenge. While recent works demonstrated limited success on domain-specific languages (DSL), it remains highly challenging to apply them to real-world programming…

Programming Languages · Computer Science 2021-11-23 Xinyun Chen , Dawn Song , Yuandong Tian

Neural networks trained on natural language processing tasks capture syntax even though it is not provided as a supervision signal. This indicates that syntactic analysis is essential to the understating of language in artificial…

Computation and Language · Computer Science 2020-10-05 Tomasz Limisiewicz , David Mareček

We identify a decidable synthesis problem for a class of programs of unbounded size with conditionals and iteration that work over infinite data domains. The programs in our class use uninterpreted functions and relations, and abide by a…

Programming Languages · Computer Science 2020-07-24 Paul Krogmeier , Umang Mathur , Adithya Murali , P. Madhusudan , Mahesh Viswanathan

Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be…

Programming Languages · Computer Science 2024-09-10 Jiangyi Liu , Charlie Murphy , Anvay Grover , Keith J. C. Johnson , Thomas Reps , Loris D'Antoni

Epistemic protocol specifications allow programs, for settings in which multiple agents act with incomplete information, to be described in terms of how actions are related to what the agents know. They are a variant of the knowledge-based…

Logic in Computer Science · Computer Science 2016-02-04 Xiaowei Huang , Ron van der Meyden