English
Related papers

Related papers: Lemma Functions for Frama-C: C Programs as Proofs

200 papers

We present an approach to the verification of systems for whose description some elements - constants or functions - are underspecified and can be regarded as parameters, and, in particular, describe a method for automatically generating…

Logic in Computer Science · Computer Science 2023-10-30 Dennis Peuter , Philipp Marohn , Viorica Sofronie-Stokkermans

In this work, we present an approach towards constructing executable specifications of existing filesystems and verifying their functional properties in a theorem proving environment. We detail an application of this approach to the FAT32…

Logic in Computer Science · Computer Science 2018-10-11 Mihir Parang Mehta

Using an interactive theorem prover to reason about programs involves a sequence of interactions where the user challenges the theorem prover with conjectures. Invariably, many of the conjectures posed are in fact false, and users often…

Software Engineering · Computer Science 2011-10-24 Harsh Raju Chamarthi , Peter C. Dillinger , Matt Kaufmann , Panagiotis Manolios

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano

The paper combines research approaches that traditionally have been disjoint: 1) model checking as used in formal verification of programs, and 2) auto-tuning as often used in high-performance computing. Auto-tuning frameworks optimize…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-17 Natalia Garanina , Sergey Staroletov , Sergei Gorlatch

Program verifiers such as Dafny automate proofs by outsourcing them to an SMT solver. This automation is not perfect, however, and the solver often requires hints in the form of assertions, creating a burden for the proof engineer. In this…

Logic in Computer Science · Computer Science 2025-03-05 Eric Mugnier , Emmanuel Anaya Gonzalez , Ranjit Jhala , Nadia Polikarpova , Yuanyuan Zhou

Self-Correction aims to enable large language models (LLMs) to self-verify and self-refine their initial responses without external feedback. However, LLMs often fail to effectively self-verify and generate correct feedback, further…

Computation and Language · Computer Science 2025-05-28 Xiaoshuai Song , Yanan Wu , Weixun Wang , Jiaheng Liu , Wenbo Su , Bo Zheng

Automatically synthesizing verifiable code from natural language requirements ensures software correctness and reliability while significantly lowering the barrier to adopting the techniques of formal methods. With the rise of large…

Software Engineering · Computer Science 2025-12-09 Weilin Luo , Xueyi Liang , Haotian Deng , Yanan Liu , Hai Wan

With the emergence of high-performance large language models (LLMs) such as GPT, Claude, and Gemini, the autonomous and semi-autonomous execution of tasks has significantly advanced across various domains. However, in highly specialized…

Cryptography and Security · Computer Science 2025-02-24 Masaya Kobayashi , Masane Fuchi , Amar Zanashir , Tomonori Yoneda , Tomohiro Takagi

Although language model (LM) agents have demonstrated increased performance in multiple domains, including coding and web-browsing, their success in cybersecurity has been limited. We present EnIGMA, an LM agent for autonomously solving…

Large Language Models (LLMs) are traditionally viewed as black-box algorithms, therefore reducing trustworthiness and obscuring potential approaches to increasing performance on downstream tasks. In this work, we apply an effective LLM…

Computation and Language · Computer Science 2025-07-10 Shun Wang , Tyler Loakman , Youbo Lei , Yi Liu , Bohao Yang , Yuting Zhao , Dong Yang , Chenghua Lin

Automatic fact-checking plays a crucial role in combating the spread of misinformation. Large Language Models (LLMs) and Instruction-Following variants, such as InstructGPT and Alpaca, have shown remarkable performance in various natural…

Computation and Language · Computer Science 2023-09-04 Tsun-Hin Cheung , Kin-Man Lam

We present a novel approach to automated proof generation for the TLA+ Proof System (TLAPS) using Large Language Models (LLMs). Our method combines two key components: a sub-proof obligation generation phase that breaks down complex proof…

Logic in Computer Science · Computer Science 2025-01-07 Yuhao Zhou

Recent developments in Large Language Models (LLMs) have shown promise in automating code generation, yet the generated programs lack rigorous correctness guarantees. Formal verification can address this shortcoming, but requires expertise…

Formal Languages and Automata Theory · Computer Science 2025-08-27 Niclas Hertzberg , Merlijn Sevenhuijsen , Liv Kåreborn , Anna Lokrantz

Large language models (LLMs) have demonstrated remarkable reasoning capability in solving mathematical problems. However, existing approaches primarily focus on improving the quality of correct training data, e.g., distilling high-quality…

Machine Learning · Computer Science 2025-06-02 Zhuoshi Pan , Yu Li , Honglin Lin , Qizhi Pei , Zinan Tang , Wei Wu , Chenlin Ming , H. Vicky Zhao , Conghui He , Lijun Wu

CHERI-C extends the C programming language by adding hardware capabilities, ensuring a certain degree of memory safety while remaining efficient. Capabilities can also be employed for higher-level security measures, such as software…

Logic in Computer Science · Computer Science 2023-04-26 Seung Hoon Park , Rekha Pai , Tom Melham

This paper presents a focused literature survey on the use of large language models (LLM) to assist in writing formal specifications for software. A summary of thirty-five key papers is presented, including examples for specifying programs…

Software Engineering · Computer Science 2025-06-16 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

The Trusted Platform Module (TPM) is a cryptoprocessor designed to protect integrity and security of modern computers. Communications with the TPM go through the TPM Software Stack (TSS), a popular implementation of which is the open-source…

Software Engineering · Computer Science 2023-10-30 Yani Ziani , Nikolai Kosmatov , Frédéric Loulergue , Daniel Gracia Pérez , Téo Bernier

Automatic and efficient verification of multiplier designs, especially through a provably correct method, is a difficult problem. We show how to utilize a theorem prover, ACL2, to implement an efficient rewriting algorithm for multiplier…

Logic in Computer Science · Computer Science 2022-05-25 Mertcan Temel