中文
相关论文

相关论文: Verifying Array Manipulating Programs with Full-Pr…

200 篇论文

Commutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of…

编程语言 · 计算机科学 2023-11-07 Azadeh Farzan , Dominik Klumpp , Andreas Podelski

Modern java programs consist of large number of classes as well as vast amount of objects instantiated during program execution. Software developers are always keen to know the number of objects created for each class. This information is…

编程语言 · 计算机科学 2014-06-10 Tufail Muhammad , Zahid Halim , Majid Ali Khan

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…

Software verification is a complex problem, and verification tools need significant tuning to achieve high performance. Due to this, many verifiers choose to specialize on reachability properties, or invest the time to implement known…

编程语言 · 计算机科学 2025-01-28 Dirk Beyer , Marek Jankola , Marian Lingsch-Rosenfeld , Tian Xia , Xiyue Zheng

This tutorial provides an introduction to CPAchecker for users. CPAchecker is a flexible and configurable framework for software verification and testing. The framework provides many abstract domains, such as BDDs, explicit values,…

We present a method for the synthesis of polynomial lasso programs. These programs consist of a program stem, a set of transitions, and an exit condition, all in the form of algebraic assertions (conjunctions of polynomial equalities).…

计算机科学中的逻辑 · 计算机科学 2013-11-19 Jan Leike , Ashish Tiwari

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

Automatically verifying safety properties of programs is hard, and it is even harder if the program acts upon arrays or other forms of maps. Many approaches exist for verifying programs operating upon Boolean and integer values (e.g.…

编程语言 · 计算机科学 2015-10-01 David Monniaux , Laure Gonnord

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation…

计算机科学中的逻辑 · 计算机科学 2011-11-09 Krzysztof R. Apt , Frank S. de Boer , Ernst-Ruediger Olderog , Stijn de Gouw

We give a process for verifying numerical programs against their functional specifications. Our implementation is capable of automatically verifying programs against tight error bounds featuring common elementary functions. We demonstrate…

计算机科学中的逻辑 · 计算机科学 2022-07-05 Junaid Rasheed , Michal Konečný

Implicit computational complexity, which aims at characterizing complexity classes by machine-independent means, has traditionally been based, on the one hand, on programs and deductive formalisms for free algebras, and on the other hand on…

计算机科学中的逻辑 · 计算机科学 2018-02-12 Daniel Leivant , Jean-Yves Marion

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

In first-year programming courses it is often difficult to show students how an algorithm can be discovered. In this paper we present a program format that supports the development from specification to code in small and obvious steps; that…

编程语言 · 计算机科学 2012-05-09 M. H. van Emden

Software model checking is a challenging problem, and generating relevant invariants is a key factor in proving the safety properties of a program. Program invariants can be obtained by various approaches, including lightweight procedures…

软件工程 · 计算机科学 2024-10-28 Dirk Beyer , Po-Chun Chien , Nian-Ze Lee

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

软件工程 · 计算机科学 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

Hoare-style verification provides a principled foundation for reasoning about the correctness of quantum programs, but existing approaches do not allow fully automatic verification. While automata-based verification scales well when…

计算机科学中的逻辑 · 计算机科学 2026-05-08 Wei-Lun Tsai , Yu-Fang Chen , Ondřej Lengál

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

编程语言 · 计算机科学 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

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

Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and to express properties of arrays. SMT-based verifiers typically reason about them via…

编程语言 · 计算机科学 2021-12-15 Alexandra Bugariu , Arshavir Ter-Gabrielyan , Peter Müller

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

编程语言 · 计算机科学 2017-08-31 Alexei P. Lisitsa , Andrei P. Nemytykh