English
Related papers

Related papers: Automatic verification of heap-manipulating progra…

200 papers

How can we perform computations over natural language representations to solve tasks that require symbolic and numeric reasoning? We propose natural language embedded programs (NLEP) as a unifying framework for addressing math/symbolic…

Computation and Language · Computer Science 2024-04-01 Tianhua Zhang , Jiaxin Ge , Hongyin Luo , Yung-Sung Chuang , Mingye Gao , Yuan Gong , Xixin Wu , Yoon Kim , Helen Meng , James Glass

A longstanding question in cognitive science concerns the learning mechanisms underlying compositionality in human cognition. Humans can infer the structured relationships (e.g., grammatical rules) implicit in their sensory observations…

Machine Learning · Computer Science 2021-05-20 Jacob Russin , Roland Fernandez , Hamid Palangi , Eric Rosen , Nebojsa Jojic , Paul Smolensky , Jianfeng Gao

Verification of programs operating on heap-allocated data structures, for instance lists or trees, poses significant challenges due to the potentially unbounded size of such data structures. We present time-indexed heap invariants, a novel…

Logic in Computer Science · Computer Science 2026-03-16 Zafer Esen , Philipp Rümmer , Tjark Weber

Probabilistic Answer Set Programming under the credal semantics (PASP) extends Answer Set Programming with probabilistic facts that represent uncertain information. The probabilistic facts are discrete with Bernoulli distributions. However,…

Artificial Intelligence · Computer Science 2025-02-19 Damiano Azzolini , Fabrizio Riguzzi

We give a rigorous characterization of what it means for a programming language to be memory safe, capturing the intuition that memory safety supports local reasoning about state. We formalize this principle in two ways. First, we show how…

Programming Languages · Computer Science 2018-04-10 Arthur Azevedo de Amorim , Catalin Hritcu , Benjamin C. Pierce

In functional programming, point-free relation calculi have been fruitful for general theories of program construction, but for specific applications pointwise expressions can be more convenient and comprehensible. In imperative…

Programming Languages · Computer Science 2015-10-20 David A. Naumann

We present a compositional SMT-based algorithm for safety of procedural C programs that takes the heap into consideration as well. Existing SMT-based approaches are either largely restricted to handling linear arithmetic operations and…

Logic in Computer Science · Computer Science 2015-08-07 Anvesh Komuravelli , Nikolaj Bjorner , Arie Gurfinkel , Kenneth L. McMillan

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. Our approach is sound and relatively complete with respect to a first-order solver…

Programming Languages · Computer Science 2016-03-22 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

In this paper, we review existing points-to Separation Logics for dynamic memory reasoning and we find that different usages of heap separation tend to be an obstacle. Hence, two total and strict spatial heap operations are proposed upon…

Logic in Computer Science · Computer Science 2019-05-31 René Haberland , Kirill Krinkin

The symbolic-heap fragment of separation logic has been actively developed and advocated for verifying the memory-safety property of computer programs. At present, one of its biggest challenges is to effectively prove entailments containing…

Logic in Computer Science · Computer Science 2017-11-09 Quang-Trung Ta , Ton Chanh Le , Siau-Cheng Khoo , Wei-Ngan Chin

We consider the problem of how to verify the security of probabilistic oblivious algorithms formally and systematically. Unfortunately, prior program logics fail to support a number of complexities that feature in the semantics and…

Programming Languages · Computer Science 2024-07-02 Pengbo Yan , Toby Murray , Olga Ohrimenko , Van-Thuan Pham , Robert Sison

Motivated by algorithmic information theory, the problem of program discovery can help find candidates of underlying generative mechanisms of natural and artificial phenomena. The uncomputability of such inverse problem, however,…

Information Theory · Computer Science 2021-12-29 Vladimir Lemusa , Eduardo Acuña , Víctor Zamora , Francisco Hernandez-Quiroz , Hector Zenil

Probabilistic inference procedures are usually coded painstakingly from scratch, for each target model and each inference algorithm. We reduce this effort by generating inference procedures from models automatically. We make this code…

Machine Learning · Statistics 2017-07-13 Robert Zinkov , Chung-chieh Shan

Constructor-Based Conditional Rewriting Logic is a general framework for integrating first-order functional and logic programming which gives an algebraic semantics for non-deterministic functional-logic programs. In the context of this…

Logic in Computer Science · Computer Science 2007-05-23 Juan M. Molina , Ernesto Pimentel

Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar - i.e., an inductively defined set of programs. Current verification frameworks…

Programming Languages · Computer Science 2025-07-29 Jinwoo Kim , Shaan Nagy , Thomas Reps , Loris D'Antoni

Algorithmicists are well-aware that fast dynamic programming algorithms are very often the correct choice when computing on compositional (or even recursive) graphs. Here we initiate the study of how to generalize this folklore intuition to…

Computational Complexity · Computer Science 2023-10-05 Ernst Althaus , Benjamin Merlin Bumpus , James Fairbanks , Daniel Rosiak

Inference metaprogramming enables effective probabilistic programming by supporting the decomposition of executions of probabilistic programs into subproblems and the deployment of hybrid probabilistic inference algorithms that apply…

Programming Languages · Computer Science 2019-07-16 Shivam Handa , Vikash Mansinghka , Martin Rinard

Emerging computational paradigms, such as probabilistic and hybrid programming, introduce new primitive operations that often need to be combined with classic programming constructs. However, it still remains a challenge to provide a…

Logic in Computer Science · Computer Science 2018-04-13 Fredrik Dahlqvist , Renato Neves

Heap data is potentially unbounded and seemingly arbitrary. As a consequence, unlike stack and static memory, heap memory cannot be abstracted directly in terms of a fixed set of source variable names appearing in the program being…

Programming Languages · Computer Science 2016-07-05 Vini Kanvar , Uday P. Khedker

In a previous paper, a process algebra based on ACP (Algebra of Communicating Processes) was proposed in which processes involving data can be handled by means of features originating from imperative programming. In this paper, an extension…

Logic in Computer Science · Computer Science 2026-05-19 C. A. Middelburg