From verification to causality-based explications
In view of the growing complexity of modern software architectures, formal models are
increasingly used to understand why a system works the way it does, opposed to simply …
increasingly used to understand why a system works the way it does, opposed to simply …
Visibly pushdown languages
R Alur, P Madhusudan - Proceedings of the thirty-sixth annual ACM …, 2004 - dl.acm.org
We propose the class of visibly pushdown languages as embeddings of context-free
languages that is rich enough to model program analysis questions and yet is tractable and …
languages that is rich enough to model program analysis questions and yet is tractable and …
The software model checker Blast Applications to software engineering
B last is an automatic verification tool for checking temporal safety properties of C programs.
Given a C program and a temporal safety property, B last either statically proves that the …
Given a C program and a temporal safety property, B last either statically proves that the …
Abstractions from proofs
The success of model checking for large programs depends crucially on the ability to
efficiently construct parsimonious abstractions. A predicate abstraction is parsimonious if at …
efficiently construct parsimonious abstractions. A predicate abstraction is parsimonious if at …
Software verification with BLAST
Abstract Blast (the Berkeley Lazy Abstraction Software verification Tool) is a verification
system for checking safety properties of C programs using automatic property-driven …
system for checking safety properties of C programs using automatic property-driven …
Adding nesting structure to words
R Alur, P Madhusudan - Journal of the ACM (JACM), 2009 - dl.acm.org
We propose the model of nested words for representation of data with both a linear ordering
and a hierarchically nested matching of items. Examples of data with such dual linear …
and a hierarchically nested matching of items. Examples of data with such dual linear …
Synthesis of interface specifications for Java classes
While a typical software component has a clearly specified (static) interface in terms of the
methods and the input/output types they support, information about the correct sequencing …
methods and the input/output types they support, information about the correct sequencing …
Hybrid type checking
C Flanagan - Conference record of the 33rd ACM SIGPLAN-SIGACT …, 2006 - dl.acm.org
Traditional static type systems are very effective for verifying basic interface specifications,
but are somewhat limited in the kinds specifications they support. Dynamically-checked …
but are somewhat limited in the kinds specifications they support. Dynamically-checked …
Improving the reliability of commodity operating systems
Despite decades of research in extensible operating system technology, extensions such as
device drivers remain a significant cause of system failures. In Windows XP, for example …
device drivers remain a significant cause of system failures. In Windows XP, for example …
Correctness witnesses: Exchanging verification results between verifiers
Standard verification tools provide a counterexample to witness a specification violation,
and, since a few years, such a witness can be validated by an independent validator using …
and, since a few years, such a witness can be validated by an independent validator using …