English
Related papers

Related papers: Verified Rust Monitors for Lola Specifications

200 papers

The Rust programming language has garnered significant interest and use as a modern, type-safe, memory-safe, and potentially formally analyzable programming language. Our interest in Rust stems from its potential as a hardware/software…

Logic in Computer Science · Computer Science 2022-05-25 David Hardin

The current landscape of system-on-chips (SoCs) security verification faces challenges due to manual, labor-intensive, and inflexible methodologies. These issues limit the scalability and effectiveness of security protocols, making bug…

Cryptography and Security · Computer Science 2025-05-30 Shams Tarek , Dipayan Saha , Sujan Kumar Saha , Farimah Farahmandi

It is common to prove by reasoning over source code that programs do not leak sensitive data. But doing so leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. This task is…

Logic in Computer Science · Computer Science 2020-10-23 Robert Sison , Toby Murray

Rust is a popular programming language in building various low-level software in recent years. It aims to provide safe concurrency when implementing multi-threaded software through a suite of compiler checking rules. Unfortunately, there is…

Programming Languages · Computer Science 2019-02-07 Zeming Yu , Linhai Song , Yiying Zhang

Formal verification can provably guarantee the correctness of critical system software, but the high proof burden has long hindered its wide adoption. Recently, Large Language Models (LLMs) have shown success in code analysis and synthesis.…

Formal Languages and Automata Theory · Computer Science 2023-11-27 Jianan Yao , Ziqiao Zhou , Weiteng Chen , Weidong Cui

{log} (read 'setlog') was born as a Constraint Logic Programming (CLP) language where sets and binary relations are first-class citizens, thus fostering set programming. Internally, {log} is a constraint satisfiability solver implementing…

Logic in Computer Science · Computer Science 2026-03-13 Maximiliano Cristiá , Alfredo Capozucca , Gianfranco Rossi

Effectively translating between natural language (NL) and formal logics like Linear Temporal Logic (LTL) requires expertise that limits formal verification's reach in safety-critical development. Template-based approaches sacrifice…

Artificial Intelligence · Computer Science 2026-05-25 Paapa Kwesi Quansah , Ernest Bonnah

Ensuring correctness is crucial for code generation. Formal verification offers a definitive assurance of correctness, but demands substantial human effort in proof construction and hence raises a pressing need for automation. The primary…

This paper describes a new open-source proof processing tool, mizar-rs, a wholesale reimplementation of core parts of the Mizar proof system, written in Rust. In particular, the "checker" and "analyzer" of Mizar are implemented, which…

Programming Languages · Computer Science 2024-12-25 Mario Carneiro

Security verification of communication protocols in industrial and safety-critical systems is challenging because implementations are often proprietary, accessible only as black boxes, and too complex for manual modeling. As a result,…

Cryptography and Security · Computer Science 2026-03-02 Stefan Marksteiner , Mikael Sjödin , Marjan Sirjani

Large Language Models (LLMs) are widely used for code generation. However, the correctness of code generated by LLMs remains a concern. A potential remedy to this concern is to have LLMs generate formal correctness proofs along with such…

Software Engineering · Computer Science 2026-05-12 Nongyu Di , Tianyu Chen , Shan Lu , Shuai Lu , Yeyun Gong , Peng Cheng , Jacob R. Lorch , Yuan Yao , Xiaoxing Ma

Runtime Verification (RV) is a lightweight formal technique in which program or system execution is monitored and analyzed, to check whether certain properties are satisfied or violated after a finite number of steps. The use of RV has led…

Formal Languages and Automata Theory · Computer Science 2020-05-13 Zhe Chen , Yunyun Chen , Robert M. Hierons , Yifan Wu

Autonomous systems are often used in changeable and unknown environments, where traditional verification may not be suitable. Runtime Verification (RV) checks events performed by a system against a formal specification of its intended…

Logic in Computer Science · Computer Science 2025-06-18 Matt Luckcuck , Angelo Ferrando , Fatma Faruq

Architectural simulators help in better understanding the behaviour of existing architectures and the design of new architectures. Virtualization has regained importance and this has put a pressing demand for the simulation of virtualized…

Hardware Architecture · Computer Science 2022-06-02 Swapneel C. Mhatre , Priya Chandran

As processor designs grow more complex, verification remains bottlenecked by slow software simulation and low-quality random test stimuli. Recent research has applied software fuzzers to hardware verification, but these rely on semantically…

Hardware Architecture · Computer Science 2026-03-05 Juncheng Huo , Yunfan Gao , Xinxin Liu , Sa Wang , Yungang Bao , Xitong Gao , Kan Shi

When computation is outsourced, the data owner would like to be assured that the desired computation has been performed correctly by the service provider. In theory, proof systems can give the necessary assurance, but prior work is not…

Databases · Computer Science 2011-10-03 Graham Cormode , Justin Thaler , Ke Yi

In this paper, we present a domain specific process to assist the verification of observer-based fault detection software. Observer-based fault detection systems, like control systems, yield invariant properties of quadratic types. These…

Systems and Control · Computer Science 2013-11-11 Timothy Wang , Alireza Esna Ashari , Romain Jobredeaux , Eric M. Feron

In the field of deductive software verification, programs with pointers present a major challenge due to pointer aliasing. In this paper, we introduce pointers to SPARK, a well-defined subset of the Ada language, intended for formal…

Programming Languages · Computer Science 2018-05-16 Georges-Axel Jaloyan , Yannick Moy , Andrei Paskevich

Natural-language software requirements are often ambiguous, inconsistent, and underspecified; in safety-critical domains, these defects propagate into formal models that verify the wrong specification and into implementations that ship…

Software Engineering · Computer Science 2026-05-14 Bethel Hall , William Eiers

Requirements over strings, commonly represented using natural language (NL), are particularly relevant for software systems due to their heavy reliance on string data manipulation. While individual requirements can usually be analyzed…

Software Engineering · Computer Science 2025-06-23 Boqi Chen , Aren A. Babikian , Shuzhao Feng , Dániel Varró , Gunter Mussbacher