中文
相关论文

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

200 篇论文

An increasing number of scientific applications are making use of irregular data access patterns. An important class of such patterns involve subscripted-subscripts, wherein an array value appears in the index expression of another array.…

分布式、并行与集群计算 · 计算机科学 2019-11-15 Akshay Bhosale , Rudolf Eigenmann

Program verification relies on loop invariants, yet automatically discovering strong invariants remains a long-standing challenge. We investigate whether large language models (LLMs) can accelerate program verification by generating useful…

编程语言 · 计算机科学 2026-04-03 Anjiang Wei , Tianran Sun , Tarun Suresh , Haoze Wu , Ke Wang , Alex Aiken

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

Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with…

软件工程 · 计算机科学 2015-08-20 Carlo A. Furia , Christopher M. Poskitt , Julian Tschannen

Automated program verification is a difficult problem. It is undecidable even for transition systems over Linear Integer Arithmetic (LIA). Extending the transition system with theory of Arrays, further complicates the problem by requiring…

计算机科学中的逻辑 · 计算机科学 2021-06-02 Arie Gurfinkel , Sharon Shoham , Yakir Vizel

We introduce Meta-F*, a tactics and metaprogramming framework for the F* program verifier. The main novelty of Meta-F* is allowing the use of tactics and metaprogramming to discharge assertions not solvable by SMT, or to just simplify them…

We show how to systematically implement an algorithm in any imperative or functional programming language. The method is based on the premise that it is easy to write down how an algorithm proceeds on a concrete input. This…

软件工程 · 计算机科学 2020-04-28 Maurice Chandoo

The syntax of an imperative language does not mention explicitly the state, while its denotational semantics has to mention it. In this paper we present a framework for the verification in Coq of properties of programs manipulating the…

计算机科学中的逻辑 · 计算机科学 2013-10-15 Jean-Guillaume Dumas , Dominique Duval , Burak Ekici , Damien Pous

A verification code is an automated test method used to distinguish between humans and computers. Humans can easily identify verification codes, whereas machines cannot. With the development of convolutional neural networks, automatically…

密码学与安全 · 计算机科学 2019-02-13 Dongliang Xu , Bailing Wang , XiaoJiang Du , Xiaoyan Zhu , zhitao Guan , Xiaoyan Yu , Jingyu Liu

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

编程语言 · 计算机科学 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

Interpolation based software model checkers have been successfully employed to automatically prove programs correct. Their power comes from interpolating SMT solvers that check the feasibility of potential counterexamples and compute…

计算机科学中的逻辑 · 计算机科学 2019-04-26 Jochen Hoenicke , Tanja Schindler

We introduce a new technique for inferring program invariants that uses symbolic states generated by symbolic execution. Symbolic states, which consist of path conditions and constraints on local variables, are a compact description of sets…

软件工程 · 计算机科学 2019-03-29 ThanhVu Nguyen , Matthew B. Dwyer , Willem Visser

Even competent programmers make mistakes. Automatic verification can detect errors, but leaves the frustrating task of finding the erroneous line of code to the user. This paper presents an automatic approach for identifying potential error…

计算机科学中的逻辑 · 计算机科学 2014-09-17 Robert Koenighofer , Ronald Toegl , Roderick Bloem

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

Generating low-level robot task plans from high-level natural language instructions remains a challenging problem. Although large language models have shown promising results in generating plans, the accuracy of the output remains…

Despite an abundance of proposed systems, the verification of units-of-measure within programs remains rare in scientific computing. We attempt to address this issue by providing a lightweight static verification system for units-of-measure…

编程语言 · 计算机科学 2024-06-05 Matthew Danish , Dominic Orchard , Andrew Rice

Software systems with large parameter spaces, nondeterminism and high computational cost are challenging to test. Recently, software testing techniques based on causal inference have been successfully applied to systems that exhibit such…

软件工程 · 计算机科学 2025-04-28 Michael Foster , Robert M. Hierons , Donghwan Shin , Neil Walkinshaw , Christopher Wild

We present a complete polymorphic effect inference algorithm for an ML-style language with handlers of not only exceptions, but of any other algebraic effect such as input & output, mutable references and many others. Our main aim is to…

编程语言 · 计算机科学 2015-07-01 Matija Pretnar

The problem of detecting of information and logically independent (DILD) steps in programs is a key for equivalent program transformations. Here we are considering the problem of independence of loop iterations, the concentration of massive…

编程语言 · 计算机科学 2008-11-03 R. Nuriyev

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true…

软件工程 · 计算机科学 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth