English
Related papers

Related papers: Flexible Refinement Proofs in Separation Logic

200 papers

Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be…

Programming Languages · Computer Science 2020-02-21 Gilles Barthe , Raphaëlle Crubillé , Ugo Dal Lago , Francesco Gavazzo

Synthetic verification techniques such as generating test cases and reward modelling are common ways to enhance the coding capabilities of large language models (LLM) beyond predefined tests. Additionally, code verification has recently…

Artificial Intelligence · Computer Science 2025-07-31 Aleksander Ficek , Somshubra Majumdar , Vahid Noroozi , Boris Ginsburg

Large language models are increasingly used to generate code from natural language, but ensuring correctness remains challenging. Formal verification offers a principled way to obtain such guarantees by proving that a program satisfies a…

Machine Learning · Computer Science 2026-04-14 Zhe Ye , Aidan Z. H. Yang , Huangyuan Su , Zhenyu Liao , Samuel Tenka , Zhizhen Qin , Udaya Ghai , Dawn Song , Soonho Kong

Static program analysis is a valuable tool for any programming language that people write programs in. The prevalence of scripting languages in the world suggests programming language interpreters are relatively easy to write. Users of…

Programming Languages · Computer Science 2015-05-01 James Ian Johnson

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

Program synthesis is the task of automatically deriving a program that has been specified by a user in advance. Combining automated theorem proving with program synthesis enables the automated construction of proven-to-be-correct programs,…

Logic in Computer Science · Computer Science 2026-05-20 Márton Hajdu , Petra Hozzová , Laura Kovács , Eva Maria Wagner

Formal specifications play a pivotal role in accurately characterizing program behaviors and ensuring software correctness. In recent years, leveraging large language models (LLMs) for the automatic generation of program specifications has…

Software Engineering · Computer Science 2026-02-03 Zehan Chen , Long Zhang , Zhiwei Zhang , JingJing Zhang , Ruoyu Zhou , Yulong Shen , JianFeng Ma , Lin Yang

In this paper, we present structural abstraction refinement, a novel framework for verifying the threshold problem of probabilistic programs. Our approach represents the structure of a Probabilistic Control-Flow Automaton (PCFA) as a Markov…

Formal Languages and Automata Theory · Computer Science 2025-08-19 Guanyan Li , Juanen Li , Zhilei Han , Peixin Wang , Hongfei Fu , Fei He

We propose a method for inferring \emph{parameterized regular types} for logic programs as solutions for systems of constraints over sets of finite ground Herbrand terms (set constraint systems). Such parameterized regular types generalize…

Logic in Computer Science · Computer Science 2010-02-16 F. Bueno , J. Navas , M. Hermenegildo

Predicate abstraction is a key enabling technology for applying finite-state model checkers to programs written in mainstream languages. It has been used very successfully for debugging sequential system-level C code. Although model…

Programming Languages · Computer Science 2015-03-18 Alastair Donaldson , Alexander Kaiser , Daniel Kroening , Thomas Wahl

Partition refinement is a method for minimizing automata and transition systems of various types. Recently, we have developed a partition refinement algorithm that is generic in the transition type of the given system and matches the run…

Data Structures and Algorithms · Computer Science 2019-07-11 Hans-Peter Deifel , Stefan Milius , Lutz Schröder , Thorsten Wißmann

Thanks to the locality principle, separation logics support modular, scalable analysis of large codebases by relying on local axioms and frame rules to focus only on the heap fragments required for verification. However, depending on the…

Logic in Computer Science · Computer Science 2026-05-21 Roberto Bruni , Lorenzo Gazzella , Roberta Gori

Algorithm extraction aims to synthesize executable programs directly from models trained on algorithmic tasks, enabling de novo algorithm discovery without relying on human-written code. However, applying this paradigm to Transformer is…

Machine Learning · Computer Science 2026-03-20 Yifan Zhang , Wei Bi , Kechi Zhang , Dongming Jin , Jie Fu , Zhi Jin

Cache coherence protocols based on self-invalidation and self-downgrade have recently seen increased popularity due to their simplicity, potential performance efficiency, and low energy consumption. However, such protocols result in memory…

Logic in Computer Science · Computer Science 2023-06-22 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Stefanos Kaxiras , Carl Leonardsson , Alberto Ros , Yunyun Zhu

A coverage type generalizes refinement types found in many functional languages with support for must-style underapproximate reasoning. Property-based testing frameworks are one particularly useful domain where such capabilities are useful…

Programming Languages · Computer Science 2025-09-03 Zhe Zhou , Benjamin Delaware , Suresh Jagannathan

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

(CROPPED TO FIT IN ARXIV'S SILLY LIMIT. SEE PDF FOR COMPLETE ABSTRACT.) We are the first to thoroughly explore a large space of formal secure compilation criteria based on robust property preservation, i.e., the preservation of properties…

Programming Languages · Computer Science 2020-11-18 Carmine Abate , Roberto Blanco , Deepak Garg , Catalin Hritcu , Marco Patrignani , Jérémy Thibault

Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly…

Programming Languages · Computer Science 2022-11-14 Roland Meyer , Thomas Wies , Sebastian Wolff

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long