Search
Now showing items 1-10 of 95
An Algorithm Inspired by Constraint Solvers to Infer Inductive Invariants in Numeric Programs
(2016-01-08)
This paper addresses the problem of proving a given invariance property phi of a loop in a numeric program, by inferring automatically a stronger inductive invariant psi. The algorithm we present is based on both abstract ...
A Method for Symbolic Computation
(2011-12)
In 1979, Cousot and Cousot gave a specification of the ?best? (most-precise) abstract transformer possible for a given concrete transformer and a given abstract domain. Unfortunately, their specification does not lead to ...
Symbolic Analysis via Semantic Reinterpretation
(University of Wisconsin-Madison Department of Computer Sciences, 2008)
In recent years, the use of symbolic analysis in systems for testing
and verifying programs has experienced a resurgence. By ``symbolic
program analysis'', we mean logic-based techniques to analyze state
changes along ...
Semantics of Program Representation Graphs
(University of Wisconsin-Madison Department of Computer Sciences, 1989)
Program representation graphs are a recently introduced intermediate representation form for programs. In this paper, we develop a mathematical semantics for these graphs by interpreting them as data-flow graphs. We also ...
Secure Programming via Visibly Pushdown Safety Games
(2012-01)
Several recent operating systems provide system calls that allow an application to explicitly manage the privileges of modules with which the application interacts. Such privilege-aware operating systems allow a programmer ...
Abstract Domains of Affine Relations
(University of Wisconsin-Madison Department of Computer Sciences, 2013-05-13)
This paper considers some known abstract domains for affine-relation
analysis, along with several variants, and studies how they relate to
each other. The various domains represent sets of points that satisfy
affine ...
Verifying Concurrent Message-Passing C Programs with Recursive Calls
(University of Wisconsin-Madison Department of Computer Sciences, 2005)
We consider the model-checking problem for C programs with (1) data ranging over very large domains, (2) (recursive) procedure calls, and (3) concurrent parallel components that communicate via synchronizing actions. We ...
Recovery of Variables and Heap Structure in x86 Executables
(University of Wisconsin-Madison Department of Computer Sciences, 2005)
This paper addresses two problems that arise when analyzing executables: (1) recovering variable-like quantities in the absence of symbol-table and debugging information, and (2) recovering useful information about objects ...
A Decision Procedure for Detecting Atomicity Violations for Communicating Processes with Locks
(University of Wisconsin-Madison Department of Computer Sciences, 2009)
We present a new decision procedure for detecting property violations
in pushdown models for concurrent programs that use lock-based
synchronization, where each thread's lock operations are properly nested
(a la ...
Recency-Abstraction for Heap-Allocated Storage
(University of Wisconsin-Madison Department of Computer Sciences, 2005)
In this paper, we present an abstraction for heap-allocated storage, called the recency-abstraction, that allows abstract-interpretation algorithms to recover non-trivial information for heap-allocated data objects. As an ...