中文
相关论文

相关论文: Inferring Loop Invariants by Mutation, Dynamic Ana…

200 篇论文

Program verification offers a framework for ensuring program correctness and therefore systematically eliminating different classes of bugs. Inferring loop invariants is one of the main challenges behind automated verification of real-world…

机器学习 · 计算机科学 2019-10-18 Gabriel Ryan , Justin Wong , Jianan Yao , Ronghui Gu , Suman Jana

Automatic verification of concurrent programs faces state explosion due to the exponential possible interleavings of its sequential components coupled with large or infinite state spaces. An alternative is deductive verification, where…

编程语言 · 计算机科学 2024-01-01 Yuan Xia , Jyotirmoy V. Deshmukh , Mukund Raghothaman , Srivatsan Ravi

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.…

形式语言与自动机理论 · 计算机科学 2023-11-27 Jianan Yao , Ziqiao Zhou , Weiteng Chen , Weidong Cui

We consider the problem of automated reasoning about dynamically manipulated data structures. The state-of-the-art methods are limited to the unfold-and-match (U+M) paradigm, where predicates are transformed via (un)folding operations…

编程语言 · 计算机科学 2014-07-24 Duc-Hiep Chu , Joxan Jaffar , Minh-Thai Trinh

Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification…

编程语言 · 计算机科学 2017-09-29 Chungha Sung , Markus Kusano , Chao Wang

Automatically generating invariants, key to computer-aided analysis of probabilistic and deterministic programs and compiler optimisation, is a challenging open problem. Whilst the problem is in general undecidable, the goal is settled for…

Static analyzers can reason about the properties and behaviors of programs and detect various issues without executing them. Hence, they should extract the necessary information to understand the analyzed program well. Annotation has been a…

软件工程 · 计算机科学 2024-02-23 Huaien Zhang , Yu Pei , Shuyun Liang , Shin Hwei Tan

Recent verification tools aim to make formal verification more accessible to software engineers by automating most of the verification process. However, annotating conventional programs with the formal specification and verification…

软件工程 · 计算机科学 2026-01-21 João Pascoal Faria , Emanuel Trigo , Vinicius Honorato , Rui Abreu

In program semantics and verification, reasoning about loops is complicated by the need to produce two separate mathematical arguments: an invariant, for functional properties (ignoring termination); and a variant, for termination (ignoring…

编程语言 · 计算机科学 2025-04-14 Bertrand Meyer

We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counter-example guided…

编程语言 · 计算机科学 2018-01-15 Daniel Neider , Pranav Garg , P. Madhusudan , Shambwaditya Saha , Daejun Park

Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many…

Formally verifying properties of programs that manipulate arrays in loops is computationally challenging. In this paper, we focus on a useful class of such programs, and present a novel property-driven verification method that first infers…

软件工程 · 计算机科学 2017-10-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Switched systems are known to exhibit subtle (in)stability behaviors requiring system designers to carefully analyze the stability of closed-loop systems that arise from their proposed switching control laws. This paper presents a formal…

系统与控制 · 电气工程与系统科学 2022-04-12 Yong Kiam Tan , Stefan Mitsch , André Platzer

The automatic verification of programs that maintain unbounded low-level data structures is a critical and open problem. Analyzers and verifiers developed in previous work can synthesize invariants that only describe data structures of…

编程语言 · 计算机科学 2017-10-11 Caleb Voss , David Heath , William Harris

We present a novel verification technique to prove interesting properties of a class of array programs with a symbolic parameter N denoting the size of arrays. The technique relies on constructing two slightly different versions of the same…

编程语言 · 计算机科学 2021-07-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Provably correct software is one of the key challenges of our software-driven society. Program synthesis -- the task of constructing a program satisfying a given specification -- is one strategy for achieving this. The result of this task…

计算机科学中的逻辑 · 计算机科学 2022-06-24 Andreas Humenberger , Daneshvar Amrollahi , Nikolaj Bjørner , Laura Kovács

Analyzing and reasoning about safety properties of software systems becomes an especially challenging task for programs with complex flow and, in particular, with loops or recursion. For such programs one needs additional information, for…

符号计算 · 计算机科学 2017-05-12 Andreas Humenberger , Maximilian Jaroschek , Laura Kovács

Assertion checking is an invaluable programmer's tool for finding many classes of errors or verifying their absence in dynamic languages such as Prolog. For Prolog programmers this means being able to have relevant properties such as modes,…

Ensuring software correctness remains a fundamental challenge in formal program verification. One promising approach relies on finding polynomial invariants for loops. Polynomial invariants are properties of a program loop that hold before…

编程语言 · 计算机科学 2025-09-30 Erdenebayar Bayarmagnai , Fatemeh Mohammadi , Rémi Prébet

Bounded verification has proved useful to detect bugs and to increase confidence in the correctness of a program. In contrast to unbounded verification, reasoning about calls via (bounded) inlining and about loops via (bounded) unrolling…

计算机科学中的逻辑 · 计算机科学 2023-03-14 Thibault Dardinier , Gaurav Parthasarathy , Peter Müller