English
Related papers

Related papers: Operationally-based Program Equivalence Proofs usi…

200 papers

In this position paper, we present a prototype of a visualizer for functional programs. Such programs, whose evaluation model is the reduction of an expression to a value through repeated application of rewriting rules, and which tend to…

Programming Languages · Computer Science 2024-11-04 John Whitington , Tom Ridge

Restructuring compilers use dependence analysis to prove that the meaning of a program is not changed by a transformation. A well-known limitation of dependence analysis is that it examines only the memory locations read and written by a…

Programming Languages · Computer Science 2007-05-23 Nikolay Mateev , Vijay Menon , Keshav Pingali

Logic programs P and Q are strongly equivalent if, given any program R, programs P union R and Q union R are equivalent (that is, have the same answer sets). Strong equivalence is convenient for the study of equivalent transformations of…

Logic in Computer Science · Computer Science 2007-05-23 Hudson Turner

The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel…

Programming Languages · Computer Science 2023-02-10 Frank S. de Boer , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Considering patterns as sets of their instances, a difference operator over patterns computes a finite set of two given patterns, which represents the difference between the dividend pattern and the divisor pattern. A complement of a…

Logic in Computer Science · Computer Science 2025-07-09 Naoki Nishida , Misaki Kojima , Yuto Nakamura

We introduce OpSets, an executable framework for specifying and reasoning about the semantics of replicated datatypes that provide eventual consistency in a distributed system, and for mechanically verifying algorithms that implement these…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-15 Martin Kleppmann , Victor B. F. Gomes , Dominic P. Mulligan , Alastair R. Beresford

Binary code similarity detection is a core task in reverse engineering. It supports malware analysis and vulnerability discovery by identifying semantically similar code in different contexts. Modern methods have progressed from manually…

Artificial Intelligence · Computer Science 2025-09-30 Charles E. Gagnon , Steven H. H. Ding , Philippe Charland , Benjamin C. M. Fung

A central method for analyzing the asymptotic complexity of a functional program is to extract and then solve a recurrence that expresses evaluation cost in terms of input size. The relevant notion of input size is often specific to a…

Programming Languages · Computer Science 2015-06-08 Norman Danner , Daniel R. Licata , Ramyaa Ramyaa

Hardware-software contracts are abstract specifications of a CPU's leakage behavior. They enable verifying the security of high-level programs against side-channel attacks without having to explicitly reason about the microarchitectural…

Programming Languages · Computer Science 2026-04-13 Arthur Correnson , Haoyi Zeng , Jana Hofmann

MapReduce frameworks are widely used for the implementation of distributed algorithms. However, translating imperative algorithms into these frameworks requires significant structural changes to the algorithm. As the costs of running faulty…

Logic in Computer Science · Computer Science 2018-02-07 Bernhard Beckert , Timo Bingmann , Moritz Kiefer , Peter Sanders , Mattias Ulbrich , Alexander Weigl

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

In this paper we investigate the theoretical foundation of a new bottom-up semantics for linear logic programs, and more precisely for the fragment of LinLog that consists of the language LO enriched with the constant 1. We use constraints…

Programming Languages · Computer Science 2007-05-23 Marco Bozzano , Giorgio Delzanno , Maurizio Martelli

Inductive program synthesis, or programming by example, requires synthesizing functions from input-output examples that generalize to unseen inputs. While large language model agents have shown promise in programming tasks guided by natural…

Programming Languages · Computer Science 2025-08-11 Anjiang Wei , Tarun Suresh , Jiannan Cao , Naveen Kannan , Yuheng Wu , Kai Yan , Thiago S. F. X. Teixeira , Ke Wang , Alex Aiken

Logically constrained term rewriting is a rewriting framework that supports built-in data structures such as integers and bit vectors. Recently, constrained terms play a key role in various analyses and applications of logically constrained…

Logic in Computer Science · Computer Science 2025-12-16 Kanta Takahata , Jonas Schöpf , Naoki Nishida , Takahito Aoto

We prove a general congruence result for bisimilarity in higher-order languages, which generalises previous work to languages specified by a labelled transition system in which programs may occur as labels, and which may rely on operations…

Logic in Computer Science · Computer Science 2023-03-22 Tom Hirschowitz , Ambroise Lafont

A standard informal method for analyzing the asymptotic complexity of a program is to extract a recurrence that describes its cost in terms of the size of its input, and then to compute a closed-form upper bound on that recurrence. We give…

Programming Languages · Computer Science 2022-08-09 Norman Danner , Daniel R. Licata

Given two programs $p_1$ and $p_2$, typically two versions of the same program, the goal of regression verification is to mark pairs of functions from $p_1$ and $p_2$ that are equivalent, given a definition of equivalence. The most common…

Logic in Computer Science · Computer Science 2022-08-01 Chaked R. J. Sayedoff , Ofer Strichman

Existing math datasets evaluate the reasoning abilities of large language models (LLMs) by either using the final answer or the intermediate reasoning steps derived from static examples. However, the former approach fails to surface model's…

Artificial Intelligence · Computer Science 2024-10-28 Xiaodong Yu , Ben Zhou , Hao Cheng , Dan Roth

Verification proofs encode complete program behavior, yet we discard them after checking correctness. We present compiling by proving, a paradigm that transforms these proofs into optimized execution rules. By constructing All-Path…

Programming Languages · Computer Science 2025-09-29 Jianhong Zhao , Everett Hildenbrandt , Juan Conejero , Yongwang Zhao

Optimizing compilers have become a cornerstone for high-performance program generation in research and industry. Optimizations, including those implemented manually by a user and those target-specific and non-target-specific, are used to…

Programming Languages · Computer Science 2026-05-05 Emily Tucker , Louis-Noël Pouchet , Erika Hunhoff , Stephen Neuendorffer , Erwei Wang
‹ Prev 1 4 5 6 7 8 10 Next ›