中文
相关论文

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

200 篇论文

The use of applications on computers, smartphones, and tablets has been considerably simplied thanks to interactive and dynamic graphical interfaces coupled with the mouse and touch screens. It is no longer necessary to be a computer…

人机交互 · 计算机科学 2025-11-21 Michel Adam , Patrice Frison , Moncef Daoud , Sabine Letellier Zarshenas

We report on the automation of a technique to prove the correctness of program transformations in higher-order program calculi which may permit recursive let-bindings as they occur in functional programming languages. A program…

计算机科学中的逻辑 · 计算机科学 2019-02-25 David Sabel

We report on intermediate results of -- to the best of our knowledge -- the first study of completeness thresholds for (partially) bounded memory safety proofs. Specifically, we consider heap-manipulating programs that iterate over arrays…

计算机科学中的逻辑 · 计算机科学 2023-05-08 Tobias Reinhard , Justus Fasse , Bart Jacobs

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

Neural network controllers have shown potential in achieving superior performance in feedback control systems. Although a neural network can be trained efficiently using deep and reinforcement learning methods, providing formal guarantees…

最优化与控制 · 数学 2024-01-10 Han Wang , Zuxun Xiong , Liqun Zhao , Antonis Papachristodoulou

We describe techniques for synthesis and verification of recursive functional programs over unbounded domains. Our techniques build on top of an algorithm for satisfiability modulo recursive functions, a framework for deductive synthesis,…

编程语言 · 计算机科学 2013-04-23 Etienne Kneuss , Viktor Kuncak , Ivan Kuraj , Philippe Suter

Compilers can specialize programs having invariants for performance improvement. Detecting program invariants that span large and complex code, however, is difficult for compilers. Traditional compilers do not perform very expensive…

编程语言 · 计算机科学 2019-07-01 Wei He

Symbolic computation is an important approach in automated program analysis. Most state-of-the-art tools perform symbolic computation as interpreters and directly maintain symbolic data. In this paper, we show that it is feasible, and in…

编程语言 · 计算机科学 2019-07-10 Henrich Lauko , Petr Ročkai , Jiří Barnat

This paper investigates the algorithmic safety verification problem of infinite-state parameterized concurrent programs over a rich set of communication topologies. The goal is to automatically produce a proof of correctness in the form of…

计算机科学中的逻辑 · 计算机科学 2026-05-15 Ruotong Cheng , Azadeh Farzan

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

Development of energy and performance-efficient embedded software is increasingly relying on application of complex transformations on the critical parts of the source code. Designers applying such nontrivial source code transformations are…

计算机科学中的逻辑 · 计算机科学 2011-11-09 K. C. Shashidhar , Maurice Bruynooghe , Francky Catthoor , Gerda Janssens

Information about the memory locations accessed by a program is, for instance, required for program parallelisation and program verification. Existing inference techniques for this information provide only partial solutions for the…

编程语言 · 计算机科学 2018-04-12 Jérôme Dohrau , Alexander J. Summers , Caterina Urban , Severin Münger , Peter Müller

This paper aims to develop a verification method for procedural programs via a transformation into Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we extend transformation methods based on integer TRSs to handle…

计算机科学中的逻辑 · 计算机科学 2025-09-01 Carsten Fuhs , Cynthia Kop , Naoki Nishida

The array is a data structure used in a wide range of programs. Its compact storage and constant time random access makes it highly efficient, but arbitrary indexing complicates the analysis of code containing array accesses. Such analyses…

编程语言 · 计算机科学 2024-03-06 Beatrice Åkerblom , Elias Castegren

We introduce program splicing, a programming methodology that aims to automate the commonly used workflow of copying, pasting, and modifying code available online. Here, the programmer starts by writing a "draft" that mixes unfinished code,…

编程语言 · 计算机科学 2017-05-26 Yanxin Lu , Swarat Chaudhuri , Chris Jermaine , David Melski

Interpolation is an essential tool in software verification, where first-order theories are used to constrain datatypes manipulated by programs. In this paper, we introduce the datatype theory of contiguous arrays with maxdiff, where arrays…

计算机科学中的逻辑 · 计算机科学 2022-04-26 Silvio Ghilardi , Alessandro Gianola , Deepak Kapur , Chiara Naso

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…

软件工程 · 计算机科学 2019-02-15 Himanshu Arora , Raghavan Komondoor , G. Ramalingam

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

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

软件工程 · 计算机科学 2014-06-12 Gudmund Grov

A first step towards more reliable software is to execute each statement and each control-flow path in a method once. In this paper, we present a formal method to automatically compute test cases for this purpose based on the idea of a…

编程语言 · 计算机科学 2012-05-31 Jürgen Christ , Jochen Hoenicke , Martin Schäf