Static Analysis Research

Static Analysis Research

We're interested in efficient static analyses that support program verification and validation activities. Our work fits into three broad areas:

line separator

Flow Analysis for Verifying Specifications (FLAVERS)

FLAVERS (FLow Analysis for VERifying Specifications) is a static analysis technique that enables cost-effective verification of finite-state specifications of the intended behavior of sequential or concurrent software.

Papers

We've written some about FLAVERS

This work is funded by NSF under CCR-9703094 and CCR-9708184.

line separator

Model Checking with Abstractions

We are working to take the concept of abstraction that is fundamental to flow analysis and abstract interpretation and use it as the basis for efficient model checking of software. We're pursuing this in both theoretical and applied directions. The applied direction is looking at abstractions for domain-specific model checking. We've written some tutorial notes on the use of a toolset that converts Ada source code to the input languages of the popular model checkers SPIN and SMV. This toolset is used in some of the experiments described in the papers below.

Papers

We've written some about MCA

This work is funded by NSF and DARPA under CCR-9633388 and CCR-9703094.

line separator

Partial Evaluation to Enable Static Concurrency Analysis

John Hatcliff and I have been working on applying partial evaluation as a front-end technology for "compiling" abstract finite-state transition for automated verification. It's amazing how many analysis techniques that are used in concurrency analysis tools turn out to be special cases of partial evaluation techniques.

Papers

This work is funded by NSF and DARPA under CCR-9633388.

line separator

Supporting Program Flow Analysis

We are engaged in a collection of projects aimed at providing support for the development of efficient precise solutions to demanding static program analysis problems. Topics we are investigating include

Papers

We've written some about these things

line separator

Matt Dwyer (dwyer@cis.ksu.edu) Last updated 8 June 1997.