中文
相关论文

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

200 篇论文

Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…

计算机科学中的逻辑 · 计算机科学 2017-08-25 G. W. Hamilton

Software verification has emerged as a key concern for ensuring the continued progress of information technology. Full verification generally requires, as a crucial step, equipping each loop with a "loop invariant". Beyond their role in…

软件工程 · 计算机科学 2014-01-14 Carlo A. Furia , Bertrand Meyer , Sergey Velder

Loop invariants are fundamental to reasoning about programs with loops. They establish properties about a given loop's behavior. When they additionally are inductive, they become useful for the task of formal verification that seeks to…

Arrays are commonly used in a variety of software to store and process data in loops. Automatically proving safety properties of such programs that manipulate arrays is challenging. We present a novel verification technique, called…

编程语言 · 计算机科学 2022-09-27 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Invariants are key to formal loop verification as they capture loop properties that are valid before and after each loop iteration. Yet, generating invariants is a notorious task already for syntactically restricted classes of loops. Rather…

计算机科学中的逻辑 · 计算机科学 2024-02-19 S. Hitarth , George Kenison , Laura Kovács , Anton Varonka

One of the obstacles in automatic program proving is to obtain suitable loop invariants. The invariant of a loop is a weakened form of its postcondition (the loop's goal, also known as its contract); the present work takes advantage of this…

软件工程 · 计算机科学 2013-08-14 Carlo A. Furia , Bertrand Meyer

Loop invariants are software properties that hold before and after every iteration of a loop. As such, invariants provide inductive arguments that are key in automating the verification of program loops. The problem of generating loop…

计算机科学中的逻辑 · 计算机科学 2023-05-25 George Kenison , Laura Kovács , Anton Varonka

Invariants are the predominant approach to verify the correctness of loops. As an alternative, loop contracts, which make explicit the premise and conclusion of the underlying induction proof, can sometimes capture correctness conditions…

计算机科学中的逻辑 · 计算机科学 2021-10-13 Gidon Ernst

The discovery of inductive invariants lies at the heart of static program verification. Presently, many automatic solutions to inductive invariant generation are inflexible, only applicable to certain classes of programs, or unpredictable.…

软件工程 · 计算机科学 2017-06-16 Adam Betts , Nathan Chong , Pantazis Deligiannis , Alastair F. Donaldson , Jeroen Ketema

Synthesizing inductive loop invariants is fundamental to automating program verification. In this work, we observe that Large Language Models (such as gpt-3.5 or gpt-4) are capable of synthesizing loop invariants for a class of programs in…

In this paper, we present a novel marriage of static and dynamic analysis. Given a large code base with many functions and a mature test suite, we propose using static analysis to find functions 1) with assertions or other evident…

软件工程 · 计算机科学 2016-09-22 Mohammad Amin Alipour , Alex Groce , Chaoqiang Zhang , Anahita Sanadaji , Gokul Caushik

The automatic generation of loop invariants is a fundamental challenge in software verification. While this task is undecidable in general, it is decidable for certain restricted classes of programs. This work focuses on invariant…

计算复杂性 · 计算机科学 2024-11-14 Rida Ait El Manssour , George Kenison , Mahsa Shirmohammadi , Anton Varonka

A program invariant is a property that holds for every execution of the program. Recent work suggest to infer likely-only invariants, via dynamic analysis. A likely invariant is a property that holds for some executions but is not…

软件工程 · 计算机科学 2007-05-23 Tristan Denmat , Arnaud Gotlieb , Mireille Ducasse

Automated synthesis of inductive invariants is an important problem in software verification. Once all the invariants have been specified, software verification reduces to checking of verification conditions. Although static analyses to…

机器学习 · 计算机科学 2020-07-17 Sahil Bhatia , Saswat Padhi , Nagarajan Natarajan , Rahul Sharma , Prateek Jain

Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process.…

编程语言 · 计算机科学 2024-06-10 Chang Liu , Xiwei Wu , Yuan Feng , Qinxiang Cao , Junchi Yan

When proving invariance properties of a program, we face two problems. The first problem is related to the necessity of proving tautologies of considered assertion language, whereas the second manifests in the need of finding sufficiently…

计算机科学中的逻辑 · 计算机科学 2016-11-24 Steven de Oliveira , Saddek Bensalem , Virgile Prevosto

Ensuring that a program operates correctly is a difficult task in large, complex systems. Enshrining invariants -- desired properties of correct execution -- in code or comments can support maintainability and help sustain correctness.…

软件工程 · 计算机科学 2019-03-19 Vincent J. Hellendoorn , Premkumar T. Devanbu , Oleksandr Polozov , Mark Marron

Automated program verification has always been an important component of building trustworthy software. While the analysis of real-world programs remains a theoretical challenge, the automation of loop invariant analysis has effectively…

软件工程 · 计算机科学 2025-09-17 Ruibang Liu , Minyu Chen , Ling-I Wu , Jingyu Ke , Guoqiang Li

Automatic verification of array manipulating programs is a challenging problem because it often amounts to the inference of in ductive quantified loop invariants which, in some cases, may not even be firstorder expressible. In this paper,…

编程语言 · 计算机科学 2021-06-03 Oren Ish Shalom , Shachar Itzhaky , Noam Rinetzky , Sharon Shoham

Provably correct software is one of the key challenges in our softwaredriven society. While formal verification establishes the correctness of a given program, the result of program synthesis is a program which is correct by construction.…

计算机科学中的逻辑 · 计算机科学 2021-03-08 Andreas Humenberger , Laura Kovacs
‹ 上一页 1 2 3 10 下一页 ›