Compiler-Assisted Software Model Checking and Monitoring

Loading...
Thumbnail Image

Authors

Huang, Xiaowan

Issue Date

1-Dec-10

Type

Dissertation

Language

en_US

Keywords

Research Projects

Organizational Units

Journal Issue

Alternative Title

Abstract

In this dissertation we present a compiler-assisted execution-based software modelchecking method targeting all languages that are acceptable by the compiler. We treatthe intermediate representation of the program under compilation as a language andinterpret it using a customized virtual machine. Our model checkers are based on thisintermediate representation level virtual machine and have full access to its states. Weimplemented two model checkers: a stateless Monte Carlo model checker GMC2 anda bounded concrete-symbolic model checker using the dynamic path reduction algorithmfor reachability problems of linear C programs.We also introduce the new technique of Software Monitoring with Controllable Over-head (SMCO). SMCO is formally grounded in control theory, in particular, the supervi-sory control of discrete event systems. Overhead is controlled by dynamically disablingevent interrupts, but such interrupts are disabled for as short a time as possible so thatthe total number of events monitored, under the constraint of a user-supplied targetoverhead, is maximized.We have implemented SMCO using a technique we call Compiler-Assisted Instrumen-tation (CAI). Benchmark shows that SMCO successfully controls overhead across a widerange of target-overhead levels. Moreover, its accuracy monotonically increases with thetarget overhead, and it can be configured to distribute monitoring overhead fairly acrossmultiple instrumentation points.

Description

Citation

Publisher

The Graduate School, Stony Brook University: Stony Brook, NY.

License

Journal

Volume

Issue

PubMed ID

DOI

ISSN

EISSN