English
Related papers

Related papers: Generating Loop Invariants for Program Verificatio…

200 papers

The latest paradigm shift in software development brings in the innovation and automation afforded by Large Language Models (LLMs), showcased by Generative Pre-trained Transformer (GPT), which has shown remarkable capacity to generate code…

Software Engineering · Computer Science 2024-06-12 Xiaoyin Wang , Dakai Zhu

Programmers frequently maintain implicit data invariants, which are relations between different data structures in a program. Traditionally, such invariants are manually enforced and checked by programmers. This ad-hoc practice is difficult…

Programming Languages · Computer Science 2019-10-29 John Sarracino , Shraddha Barke , Hila Peleg , Sorin Lerner , Nadia Polikarpova

We present a new method for inferring complexity properties for a class of programs in the form of flowcharts annotated with loop information. Specifically, our method can (soundly and completely) decide if computed values are polynomially…

Programming Languages · Computer Science 2016-07-11 Amir M. Ben-Amram , Aviad Pineles

There is increasing interest in applying verification tools to programs that have bitvector operations. SMT solvers, which serve as a foundation for these tools, have thus increased support for bitvector reasoning through bit-blasting and…

Programming Languages · Computer Science 2021-11-05 Yuandong Cyrus Liu , Ton-Chanh Le , Eric Koskinen

Because loops execute their body many times, compiler developers place much emphasis on their optimization. Nevertheless, in view of highly diverse source code and hardware, compilers still struggle to produce optimal target code. The sheer…

Programming Languages · Computer Science 2021-03-01 Rahim Mammadli , Marija Selakovic , Felix Wolf , Michael Pradel

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

Many applications require robustness, or ideally invariance, of neural networks to certain transformations of input data. Most commonly, this requirement is addressed by training data augmentation, using adversarial training, or defining…

Computer Vision and Pattern Recognition · Computer Science 2022-09-27 Kanchana Vaishnavi Gandikota , Jonas Geiping , Zorah Lähner , Adam Czapliński , Michael Moeller

We present a new approach to termination analysis of numerical computations in logic programs. Traditional approaches fail to analyse them due to non well-foundedness of the integers. We present a technique that allows overcoming these…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

We introduce the notion of porous invariants for multipath (or branching/nondeterministic) affine loops over the integers; these invariants are not necessarily convex, and can in fact contain infinitely many 'holes'. Nevertheless, we show…

Logic in Computer Science · Computer Science 2021-06-02 Engel Lefaucheux , Joël Ouaknine , David Purser , James Worrell

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

We propose an approach and a subsequent extension for reversing imperative programs. Firstly, we produce both an augmented version and a corresponding inverted version of the original program. Augmentation saves reversal information into an…

Programming Languages · Computer Science 2017-09-05 James Hoey , Irek Ulidowski , Shoji Yuen

Invariants withstand transformations and, therefore, represent the essence of objects or phenomena. In mathematics, transformations often constitute a group action. Since the 19th century, studying the structure of various types of…

Symbolic Computation · Computer Science 2024-12-19 Irina A. Kogan

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

In a previous paper we have presented a CEGAR approach for the verification of parameterized systems with an arbitrary number of processes organized in an array or a ring. The technique is based on the iterative computation of parameterized…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-09-21 Javier Esparza , Mikhail Raskin , Christoph Welzel

In recent years it has been shown that for many linear algebra operations it is possible to create families of algorithms following a very systematic procedure. We do not refer to the fine tuning of a known algorithm, but to a methodology…

Mathematical Software · Computer Science 2014-10-03 Diego Fabregat-Traver , Paolo Bientinesi

We propose a method for compositional verification to address the state space explosion problem inherent to model-checking timed systems with a large number of components. The main challenge is to obtain pertinent global timing constraints…

Logic in Computer Science · Computer Science 2017-01-11 Lacramioara Astefanoaei , Souha Ben Rayana , Saddek Bensalem , Marius Bozga , Jacques Combaz

We propose a novel framework of program and invariant synthesis called neural network-guided synthesis. We first show that, by suitably designing and training neural networks, we can extract logical formulas over integers from the weights…

Programming Languages · Computer Science 2021-08-26 Naoki Kobayashi , Taro Sekiyama , Issei Sato , Hiroshi Unno

We present an exact Bayesian inference method for inferring posterior distributions encoded by probabilistic programs featuring possibly unbounded loops. Our method is built on a denotational semantics represented by probability generating…

Programming Languages · Computer Science 2024-03-06 Lutz Klinkenberg , Christian Blumenthal , Mingshuai Chen , Darion Haase , Joost-Pieter Katoen

We address the problem of improving the performance and in particular the sample complexity of deep neural networks by enforcing and guaranteeing invariances to symmetry transformations rather than learning them from data. Group-equivariant…

Machine Learning · Computer Science 2023-03-06 Matthias Rath , Alexandru Paul Condurache

Validation is a major challenge in differentiable programming. The state of the art is based on algorithmic differentiation. Consistency of first-order tangent and adjoint programs is defined by a well-known first-order differential…

Numerical Analysis · Mathematics 2021-01-12 Uwe Naumann