English
Related papers

Related papers: Auto-active Verification of Graph Algorithms, Writ…

200 papers

We present a library for generic programming in OCaml, adapting some techniques borrowed from other functional languages. The library makes use of three recent additions to OCaml: generalised abstract datatypes are essential to reflect…

Programming Languages · Computer Science 2019-01-01 Florent Balestrieri , Michel Mauny

Automatic verification deals with the validation by means of computers of correctness certificates. The related tools, usually called proof assistants or interactive provers, provide an interactive environment for the creation of formal…

Logic in Computer Science · Computer Science 2017-01-16 Andrea Asperti

For years, Integrated Development Environments have demonstrated their usefulness in order to ease the development of software. High-level security or safety systems require proofs of compliance to standards, based on analyses such as code…

Programming Languages · Computer Science 2014-04-29 François Pessaux

In order to apply canonical labelling of graphs and isomorphism checking in interactive theorem provers, these checking algorithms must either be mechanically verified or their results must be verifiable by independent checkers. We analyze…

Logic in Computer Science · Computer Science 2023-06-22 Milan Banković , Ivan Drecun , Filip Marić

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

Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with…

Software Engineering · Computer Science 2015-08-20 Carlo A. Furia , Christopher M. Poskitt , Julian Tschannen

Program logics typically reason about an over-approximation of program behaviour to prove the absence of bugs. Recently, program logics have been proposed that instead prove the presence of bugs by means of under-approximate reasoning,…

Logic in Computer Science · Computer Science 2022-03-15 Christopher M. Poskitt

A compiler consists of a sequence of phases going from lexical analysis to code generation. Ideally, the formal verification of a compiler should include the formal verification of each component of the tool-chain. An example is the…

Programming Languages · Computer Science 2023-06-22 Wendlasida Ouedraogo , Gabriel Scherer , Lutz Strassburger

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

We report on the automation of a technique to prove the correctness of program transformations in higher-order program calculi which may permit recursive let-bindings as they occur in functional programming languages. A program…

Logic in Computer Science · Computer Science 2019-02-25 David Sabel

Despite significant advancements in text generation and reasoning, Large Language Models (LLMs) still face challenges in accurately performing complex arithmetic operations. Language model systems often enable LLMs to generate code for…

Computation and Language · Computer Science 2024-09-04 Owen Dugan , Donato Manuel Jimenez Beneto , Charlotte Loh , Zhuo Chen , Rumen Dangovski , Marin Soljačić

This paper presents the deductive formal verification of high-level properties of control systems with theorem proving, using the Why3 tool. Properties that can be verified with this approach include stability, feedback gain, and…

Systems and Control · Computer Science 2014-10-22 Dejanira Araiza-Illan , Kerstin Eder , Arthur Richards

Dafny is a verification-aware programming language that comes with a compiler and static program verifier. However, neither the compiler nor the verifier is proved correct; in fact, soundness bugs have been found in both tools. This paper…

Programming Languages · Computer Science 2025-12-08 Daniel Nezamabadi , Magnus O. Myreen , Yong Kiam Tan

Proof autoformalization, the task of translating natural language theorems and proofs into machine-verifiable code, is a critical step for integrating large language models into rigorous mathematical workflows. Current approaches focus on…

Artificial Intelligence · Computer Science 2025-10-21 Rafael Cabral , Tuan Manh Do , Xuejun Yu , Wai Ming Tai , Zijin Feng , Xin Shen

The demonstrated code-understanding capability of LLMs raises the question of whether they can be used for automated program verification, a task that demands high-level abstract reasoning about program properties that is challenging for…

Formal Languages and Automata Theory · Computer Science 2024-04-26 Haoze Wu , Clark Barrett , Nina Narodytska

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and…

Programming Languages · Computer Science 2018-05-21 Francisco Ferreira Ruiz

Verifying the correctness of a textual statement requires not only semantic reasoning about the meaning of words, but also symbolic reasoning about logical operations like count, superlative, aggregation, etc. In this work, we propose…

Computation and Language · Computer Science 2020-04-29 Wanjun Zhong , Duyu Tang , Zhangyin Feng , Nan Duan , Ming Zhou , Ming Gong , Linjun Shou , Daxin Jiang , Jiahai Wang , Jian Yin

In the digital age, ensuring the correctness, safety, and reliability of software through formal verification is paramount, particularly as software increasingly underpins critical infrastructure. Formal verification, split into theorem…

Software Engineering · Computer Science 2026-04-03 Zhiyong Chen , Jialun Cao , Jiarong Wu , Chang Xu , Shing-Chi Cheung

Enterprise level software is implemented using multi-layer architecture. These layers are often implemented using de-coupled solutions with millions of lines of code. Programmers often have to track and debug a function call from user…

Software Engineering · Computer Science 2016-10-17 Anne Veenendaal , Elliot Daly , Eddie Jones , Zhao Gang , Sumalini Vartak , Rahul S Patwardhan

In the field of robotics, researchers face a critical challenge in ensuring reliable and efficient task planning. Verifying high-level task plans before execution significantly reduces errors and enhance the overall performance of these…

Robotics · Computer Science 2025-07-08 Danil S. Grigorev , Alexey K. Kovalev , Aleksandr I. Panov