English
Related papers

Related papers: Verifying Array Manipulating Programs with Full-Pr…

200 papers

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

Distributed, Parallel, and Cluster Computing · Computer Science 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…

Programming Languages · Computer Science 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…

Software Engineering · Computer Science 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…

Software Engineering · Computer Science 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…

Logic in Computer Science · Computer Science 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…

Software Engineering · Computer Science 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…

Logic in Computer Science · Computer Science 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…

Cryptography and Security · Computer Science 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…

Programming Languages · Computer Science 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…

Logic in Computer Science · Computer Science 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…

Software Engineering · Computer Science 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…

Logic in Computer Science · Computer Science 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…

Logic in Computer Science · Computer Science 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…

Programming Languages · Computer Science 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…

Software Engineering · Computer Science 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…

Programming Languages · Computer Science 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…

Programming Languages · Computer Science 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…

Software Engineering · Computer Science 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth
‹ Prev 1 4 5 6 7 8 10 Next ›