English
Related papers

Related papers: Towards Trustworthy Automated Program Verifiers: F…

200 papers

Symbolic execution is an SMT-based software verification and testing technique. Symbolic execution requires tracking performed computations during software simulation to reason about branches in the software under test. The prevailing…

Software Engineering · Computer Science 2025-05-27 Sören Tempel , Tobias Brandt , Christoph Lüth , Christian Dietrich , Rolf Drechsler

Formal verification is the next frontier for ensuring the correctness of code generated by Large Language Models (LLMs). While methods that co-generate code and formal specifications in formal languages, like Dafny, can, in principle, prove…

Programming Languages · Computer Science 2026-04-21 Lingfei Zeng , Fengdi Che , Xuhan Huang , Fei Ye , Xu Xu , Binhang Yuan , Jie Fu

Verifying whether a procedure is observationally pure is useful in many software engineering scenarios. An observationally pure procedure always returns the same value for the same argument, and thus mimics a mathematical function. The…

Software Engineering · Computer Science 2019-02-15 Himanshu Arora , Raghavan Komondoor , G. Ramalingam

Verifying hardware designs in embedded systems is crucial but often labor-intensive and time-consuming. While existing solutions have improved automation, they frequently rely on unrealistic assumptions. To address these challenges, we…

Hardware Architecture · Computer Science 2024-11-26 Yuchen Hu , Junhao Ye , Ke Xu , Jialin Sun , Shiyue Zhang , Xinyao Jiao , Dingrong Pan , Jie Zhou , Ning Wang , Weiwei Shan , Xinwei Fang , Xi Wang , Nan Guan , Zhe Jiang

In-context learning (ICL) has demonstrated significant potential in enhancing the capabilities of large language models (LLMs) during inference. It's well-established that ICL heavily relies on selecting effective demonstrations to generate…

Computation and Language · Computer Science 2025-02-20 Qi Zhang , Zhiqing Xiao , Ruixuan Xiao , Lirong Gao , Junbo Zhao

For all the successes in verifying low-level, efficient, security-critical code, little has been said or studied about the structure, architecture and engineering of such large-scale proof developments. We present the design, implementation…

Programming Languages · Computer Science 2023-07-10 Son Ho , Aymeric Fromherz , Jonathan Protzenko

To enhance the reasoning capabilities of Large Language Models (LLMs) without high costs of training, nor extensive test-time sampling, we introduce Verification-First (VF), a strategy that prompts models to verify a provided candidate…

Computation and Language · Computer Science 2026-05-26 Shiguang Wu , Quanming Yao

The goal of this paper is to help mainstream programmers routinely use formal verification on their smart contracts by 1) proposing a new YAML-format for writing general-purpose formal specifications, 2) demonstrating how a formal…

Programming Languages · Computer Science 2019-12-09 Suhabe Bugrara

This paper presents BEval, an extension of Atelier B to improve automation in the verification activities in the B method or Event-B. It combines a tool for managing and verifying software projects (Atelier B) and a model checker/animator…

Software Engineering · Computer Science 2014-01-07 Valério Medeiros , David Déharbe

Register-Transfer Level (RTL) verification is a primary bottleneck, consuming 60-70% of development time. While Large Language Models (LLMs) show promise for RTL automation, their performance and research focus have overwhelmingly centered…

Artificial Intelligence · Computer Science 2025-12-10 Yujie Zhao , Zhijing Wu , Boqin Yuan , Zhongming Yu , Hejia Zhang , Wentao Ni , Chia-Tung Ho , Haoxing Ren , Jishen Zhao

Agentic AI coding systems can inspect repositories, plan implementation steps, edit files, call tools, run tests, and submit pull requests. These capabilities make software and hardware development faster in some settings, but current…

Software Engineering · Computer Science 2026-05-21 Christopher Koch

The application layer of Bluetooth Low Energy (BLE) is a growing source of security vulnerabilities, as developers often neglect to implement critical protections such as encryption, authentication, and freshness. While formal verification…

Cryptography and Security · Computer Science 2025-09-12 Biwei Yan , Yue Zhang , Minghui Xu , Runyu Pan , Jinku Li , Xiuzhen Cheng

Ensuring correctness is a pivotal aspect of software engineering. Among the various strategies available, software verification offers a definitive assurance of correctness. Nevertheless, writing verification proofs is resource-intensive…

Software Engineering · Computer Science 2024-06-06 Lichen Zhang , Shuai Lu , Nan Duan

Program verification relies on loop invariants, yet automatically discovering strong invariants remains a long-standing challenge. We investigate whether large language models (LLMs) can accelerate program verification by generating useful…

Programming Languages · Computer Science 2026-04-03 Anjiang Wei , Tianran Sun , Tarun Suresh , Haoze Wu , Ke Wang , Alex Aiken

Static analyzers based on abstract interpretation are complex pieces of software implementing delicate algorithms. Even if static analysis techniques are well understood, their implementation on real languages is still error-prone. This…

Programming Languages · Computer Science 2013-05-02 Sandrine Blazy , Vincent Laporte , André Maroneze , David Pichardie

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

Recent frontier large language models (LLMs) have shown strong performance in identifying security vulnerabilities in large, mature open-source systems. As LLM-generated code becomes increasingly common, a natural goal is to prevent such…

Software Engineering · Computer Science 2026-05-13 Zhaorui Li , Chengyu Song

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

We present \synver{}, a novel synthesis and verification framework for C programs, that deploys a Large Language Model (LLM) to search for a candidate program that satisfies the given specification. Our key idea is to impose syntactic and…

Programming Languages · Computer Science 2025-10-21 Prasita Mukherjee , Benjamin Delaware

Formal specification is widely employed in the construction of high-quality software. However, there is often a huge gap between formal specification and actual implementation. While there is already a vast body of work on software testing…

Programming Languages · Computer Science 2012-03-29 Zhiqiang Ren , Hongwei Xi
‹ Prev 1 8 9 10 Next ›