Instrumenting C Programs With Nested Word Monitors

Loading...
Thumbnail Image
Penn collection
Departmental Papers (CIS)
Degree type
Discipline
Subject
CPS Formal Methods
Computer Sciences
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Chaudhuri, Swarat
Contributor
Abstract

In classical automata-theoretic model checking of safety properties [6], a system model generates a language L of words modeling system executions, and verification involves checking if L ∩ L′ = ∅, L′ being the language of words deemed “unsafe” by the specification. This view is also used in recent program analyzers like Blast [5] and Slam [2], where a specification is a word automaton (or monitor) with finite-state control-flow that accepts all “unsafe” program executions. Typical analysis constructs the “product” of a program and a monitor, in effect instrumenting the program with extra commands and assertions, so that the input program fails its specification if and only if the product program fails an assertion. The latter is then checked for possible assertion failures. Monitors also find use in testing and runtime verification, where we try finding assertion violations in the product program at runtime.

Advisor
Date of presentation
2007-07-01
Conference name
Departmental Papers (CIS)
Conference dates
2023-05-17T07:08:43.000
Conference location
Date Range for Data Collection (Start Date)
Date Range for Data Collection (End Date)
Digital Object Identifier
Series name and number
Volume number
Issue number
Publisher
Publisher DOI
Journal Issue
Comments
From the 14th International SPIN Workshop, Berlin, Germany, July 1-3, 2007.
Recommended citation
Collection