Search
Now showing items 1-10 of 29
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 ...
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 ...
Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis
(University of Wisconsin-Madison Department of Computer Sciences, 2008)
This paper addresses the analysis of concurrent programs with shared memory. Such an analysis is undecidable in the presence of multiple procedures. One approach used in recent work obtains decidability by providing only ...
Abstraction Refinement for 3-Valued Logic Analysis
(University of Wisconsin-Madison Department of Computer Sciences, 2004)
This paper concerns the question of how to create abstractions that are useful for program analysis. It presents a method that refines an abstraction automatically for analysis problems in which the semantics of statements ...
A System for Generating Static Analyzers for Machine Instructions
(University of Wisconsin-Madison Department of Computer Sciences, 2007)
There is growing interest in analyzing executables to look for bugs and security vulnerabilities. This paper describes the design and implementation of a language for describing the semantics of an instruction set, along ...
Numeric Analysis of Array Operations
(University of Wisconsin-Madison Department of Computer Sciences, 2004)
We present a numeric analysis that is capable of reasoning about array operations. In particular, the analysis is able to establish that all elements of an array have been initialized ("an array kill"), as well as to ...
Advanced Querying for Property Checking
(University of Wisconsin-Madison Department of Computer Sciences, 2007)
Extended weighted pushdown systems (EWPDSs) are an extension of pushdown systems that incorporate infinite-state data abstractions. Nested-word automata (NWAs) are able to recognize languages that exhibit context-free ...










