English
Related papers

Related papers: Compositional Reasoning for Side-effectful Iterato…

200 papers

Programming language documentation refers to the set of technical documents that provide application developers with a description of the high-level concepts of a language. Such documentation is essential to support application developers…

Software Engineering · Computer Science 2022-10-11 Filipe R. Cogo , Xin Xia , Ahmed E. Hassan

Industrial robotic systems (IRS) are increasingly deployed in diverse environments, where failures can result in severe accidents and costly downtime. Ensuring the reliability of the software controlling these systems is therefore critical.…

Robotics · Computer Science 2025-11-19 Marcela Gonçalves dos Santos , Sylvain Hallé , Fábio Petrillo

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva

A desired but challenging property of compiler verification is compositionality, in the sense that the compilation correctness of a program can be deduced incrementally from that of its substructures ranging from statements, functions, and…

Programming Languages · Computer Science 2026-03-31 Zhang Cheng , Jiyang Wu , Di Wang , Qinxiang Cao

Iterative compilation is a widely adopted technique to optimize programs for different constraints such as performance, code size and power consumption in rapidly evolving hardware and software environments. However, in case of statically…

Programming Languages · Computer Science 2014-07-16 Lianjie Luo , Yang Chen , Chengyong Wu , Shun Long , Grigori Fursin

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs.…

Programming Languages · Computer Science 2021-06-03 Dan Rasin , Orna Grumberg , Sharon Shoham

Requirements engineering is a key phase in the development process. Ensuring that requirements are consistent is essential so that they do not conflict and admit implementations. We consider the formal verification of rt-consistency, which…

Formal Languages and Automata Theory · Computer Science 2020-07-09 Thierry Jéron , Nicolas Markey , David Mentré , Reiya Noguchi , Ocan Sankur

The saturation-based reasoning methods are among the most theoretically developed ones and are used by most of the state-of-the-art first-order logic reasoners. In the last decade there was a sharp increase in performance of such systems,…

Artificial Intelligence · Computer Science 2008-02-18 Alexandre Riazanov

Answer Set Programming Modulo Theories (ASPMT) is a new framework of tight integration of answer set programming (ASP) and satisfiability modulo theories (SMT). Similar to the relationship between first-order logic and SMT, it is based on a…

Artificial Intelligence · Computer Science 2025-07-08 Joohyung Lee , Yunsong Meng

Modular design is a key challenge for enabling large-scale reuse of hardware modules. Unlike software, however, hardware designs correspond to physical circuits and inherit constraints from them. Timing constraints -- which cycle a signal…

Hardware Architecture · Computer Science 2023-04-24 Rachit Nigam , Pedro Henrique Azevedo De Amorim , Adrian Sampson

Program safety (i.e., absence of undefined behaviors) is critical for correct operation of computer systems. It is usually verified at the source level (e.g., by separation logics) and preserved to the target by verified compilers (e.g.,…

Programming Languages · Computer Science 2025-10-14 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng

We introduce Cargo Scan, the first interactive program analysis tool designed to help developers audit third-party Rust code. Real systems written in Rust rely on thousands of transitive dependencies. These dependencies are as dangerous in…

Programming Languages · Computer Science 2026-02-09 Lydia Zoghbi , David Thien , Ranjit Jhala , Deian Stefan , Caleb Stanford

DatalogMTL is an extension of Datalog with metric temporal operators that has found an increasing number of applications in recent years. Reasoning in DatalogMTL is, however, of high computational complexity, which makes reasoning in modern…

Logic in Computer Science · Computer Science 2025-06-11 Dingmin Wang , Przemysław A. Wałęga , Pan Hu , Bernardo Cuenca Grau

Static verification relying on an automated theorem prover can be very slow and brittle: since static verification is undecidable, correct code may not pass a particular static verifier. In this work we use metaprogramming to generate code…

Programming Languages · Computer Science 2019-08-21 Isaac Oscar Gariano , Marco Servetto , Alex Potanin , Hrshikesh Arora

In earlier work, we developed a modular approach for automatic complexity analysis of integer programs. However, these integer programs do not allow non-tail recursive calls or subprocedures. In this paper, we consider integer programs with…

Logic in Computer Science · Computer Science 2026-01-07 Nils Lommen , Jürgen Giesl

Large language models (LLMs) are now used in multi-turn workflows, but we still lack a clear way to measure when iteration helps and when it hurts. We present an evaluation framework for iterative refinement that spans ideation, code, and…

Artificial Intelligence · Computer Science 2025-09-16 Shashidhar Reddy Javaji , Bhavul Gauri , Zining Zhu

Compositionality supports the manipulation of large systems by working on their components. For model-based testing, this means that large systems can be tested by modelling and testing their components: passing tests for all components…

Software Engineering · Computer Science 2025-08-01 Gijs van Cuyck , Lars van Arragon , Jan Tretmans

We propose an approach for modular verification of programs that use relaxed-consistency atomic memory access primitives and fences. The approach is sufficient for verifying the core of Rust's Atomic Reference Counting (ARC) algorithm. We…

Programming Languages · Computer Science 2025-09-30 Bart Jacobs , Justus Fasse

Substitutions play a crucial role in a wide range of contexts, from analyzing the dynamics of social opinions and conducting mathematical computations to engaging in game-theoretical analysis. For many situations, considering one-step…

Logic · Mathematics 2025-08-01 Yaxin Tu , Sujata Ghosh , Fenrong Liu , Dazhu Li

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

Logic in Computer Science · Computer Science 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau