Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Laura Kovács is active.

Publication


Featured researches published by Laura Kovács.


computer aided verification | 2013

First-Order Theorem Proving and Vampire

Laura Kovács; Andrei Voronkov

In this paper we give a short introduction in first-order theorem proving and the use of the theorem prover Vampire. We discuss the superposition calculus and explain the key concepts of saturation and redundancy elimination, present saturation algorithms and preprocessing, and demonstrate how these concepts are implemented in Vampire. Further, we also cover more recent topics and features of Vampire designed for advanced applications, including satisfiability checking, theory reasoning, interpolation, consequence elimination, and program analysis.


symbolic and numeric algorithms for scientific computing | 2009

Finding Loop Invariants for Programs over Arrays Using a Theorem Prover

Laura Kovács; Andrei Voronkov

Invariants with quantifiers are important for verification and static analysis of programsover arrays due to the unbounded nature of arrays. Such invariants can expressrelationships among array elements and properties involving array and scalar variablesof the loop.This talk presents how quantified loop invariants of programs over arrayscan be automatically inferred using a first order theorem prover,reducing the burden of annotating loops with complete invariants.Unlike all previously known methods, our method is ableto generate loop invariants containing quantifier alternations


international conference on logic programming | 2010

ABC: algebraic bound computation for loops

Régis William Blanc; Thomas A. Henzinger; Thibaud Hottelier; Laura Kovács

We present ABC, a software tool for automatically computing symbolic upper bounds on the number of iterations of nested program loops. The system combines static analysis of programs with symbolic summation techniques to derive loop invariant relations between program variables. Iteration bounds are obtained from the inferred invariants, by replacing variables with bounds on their greatest values. We have successfully applied ABC to a large number of examples. The derived symbolic bounds express non-trivial polynomial relations over loop variables. We also report on results to automatically infer symbolic expressions over harmonic numbers as upper bounds on loop iteration counts.


conference on automated deduction | 2009

Interpolation and Symbol Elimination

Laura Kovács; Andrei Voronkov

We prove several results related to local proofs, interpolation and superposition calculus and discuss their use in predicate abstraction and invariant generation. Our proofs and results suggest that symbol-eliminating inferences may be an interesting alternative to interpolation.


tools and algorithms for construction and analysis of systems | 2008

Reasoning algebraically about P-solvable loops

Laura Kovács

We present a method for generating polynomial invariants for a subfamily of imperative loops operating on numbers, called the P-solvable loops. The method uses algorithmic combinatorics and algebraic techniques. The approach is shown to be complete for some special cases. By completeness we mean that it generates a set of polynomial invariants from which, under additional assumptions, any polynomial invariant can be derived. These techniques are implemented in a new software package Aligator written in Mathematica and successfully tried on many programs implementing interesting algorithms working on numbers.


international andrei ershov memorial conference on perspectives of system informatics | 2011

Symbolic loop bound computation for WCET analysis

Jens Knoop; Laura Kovács; Jakob Zwirchmayr

We present an automatic method for computing tight upper bounds on the iteration number of special classes of program loops. These upper bounds are further used in the WCET analysis of programs. To do so, we refine program flows using SMT reasoning and rewrite multi-path loops into single-path ones. Single-path loops are further translated into a set of recurrence relations over program variables. Recurrence relations are solved and iteration bounds of program loops are derived from the computed closed forms. For solving recurrences we deploy a pattern-based recurrence solving algorithm and compute closed forms only for a restricted class of recurrence equations. However, in practice, these recurrences describe the behavior of a large set of program loops. Our technique is implemented in the r-TuBound tool and was successfully tried out on a number of challenging WCET benchmarks.


international joint conference on automated reasoning | 2010

Interpolation and symbol elimination in vampire

Kryštof Hoder; Laura Kovács; Andrei Voronkov

It has recently been shown that proofs in which some symbols are colored (e.g. local or split proofs and symbol-eliminating proofs) can be used for a number of applications, such as invariant generation and computing interpolants. This tool paper describes how such proofs and interpolant generation are implemented in the first-order theorem prover Vampire.


real-time networks and systems | 2013

WCET squeezing: on-demand feasibility refinement for proven precise WCET-bounds

Jens Knoop; Laura Kovács; Jakob Zwirchmayr

The Worst-Case Execution Time (WCET) computed by a WCET analyzer is usually not tight, leaving a gap between the actual and the computed WCET of a program. In this article we present a novel on-demand WCET feasibility refinement technique, called WCET Squeezing, for minimizing this gap. WCET Squeezing provides conceptually new means for addressing the classical problem of WCET computation, by deriving a WCET bound that comes as close as possible to the actual one. WCET Squeezing is an anytime algorithm, that is, it can be stopped at any time without violating the soundness of its results. This anytime property allows to apply WCET Squeezing not only for deriving precise WCET bounds but to also prove additional timing constraints over the program. Namely, WCET Squeezing can be used to guarantee that a program is fast enough by ensuring that the WCET of the program is below some required limit. If the initially computed WCET of the program is above this limit, WCET Squeezing can be stopped as soon as the squeezed WCET of the program is below the limit (proving the program meets the required timing constraint), or if the squeezed WCET is tight but above the given limit (proving the program cannot meet the timing constraint). WCET Squeezing can also be used until a given time budget is exhausted to compute a tight(er) WCET bound for a program. These new applications of WCET Squeezing are out of the scope of traditional WCET analyzers. WCET Squeezing combines symbolic program execution with the Implicit Path Enumeration Technique (IPET) for computing a precise WCET bound. WCET Squeezing is applicable as a post-process to any WCET analyzer which encodes the IPET problem as an Integer Linear Program (ILP). We implemented our method in the r-TuBound toolchain and evaluated our implementation on a set examples taken from the Mälardalen WCET benchmark suite. Our experiments demonstrate that WCET Squeezing can significantly tighten the WCET bounds of programs. Moreover, the derived WCET bounds are proven to be precise at a moderate computational cost.


international conference on logic programming | 2008

Valigator: A Verification Tool with Bound and Invariant Generation

Thomas A. Henzinger; Thibaud Hottelier; Laura Kovács

We describe Valigator , a software tool for imperative program verification that efficiently combines symbolic computation and automated reasoning in a uniform framework. The system offers support for automatically generating and proving verification conditions and, most importantly, for automatically inferring loop invariants and bound assertions by means of symbolic summation, Grobner basis computation, and quantifier elimination. We present general principles of the implementation and illustrate them on examples.


tools and algorithms for construction and analysis of systems | 2011

Invariant generation in vampire

Kryštof Hoder; Laura Kovács; Andrei Voronkov

This paper describes a loop invariant generator implemented in the theorem prover Vampire. It is based on the symbol elimination method proposed by two authors of this paper. The generator accepts a program written in a subset of C, finds loops in it, analyses the loops, generates and outputs invariants. It also uses a special consequence removal mode added to Vampire to remove invariants implied by other invariants. The generator is implemented as a standalone tool, thus no knowledge of theorem proving is required from its users.

Collaboration


Dive into the Laura Kovács's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jakob Zwirchmayr

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Jens Knoop

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Kryštof Hoder

University of Manchester

View shared research outputs
Top Co-Authors

Avatar

Thomas A. Henzinger

Institute of Science and Technology Austria

View shared research outputs
Top Co-Authors

Avatar

Evgenii Kotelnikov

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Simon Robillard

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Armin Biere

Johannes Kepler University of Linz

View shared research outputs
Top Co-Authors

Avatar

Ioan Dragan

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Temur Kutsia

Johannes Kepler University of Linz

View shared research outputs
Researchain Logo
Decentralizing Knowledge