We present a methodology and tool for verifying and certifying systems code. The verification is based on the lazy-abstraction paradigm for intertwining the following three logical steps: construct a predicate abstraction from the code, model check the abstraction, and automatically refine the abstraction based on counterexample analysis. The certification is based on the proof-carrying code paradigm. Lazy abstraction enables the automatic construction of small proof certicates. The methodology is implemented in Blast, the Berkeley Lazy Abstraction Software verification Tool. We describe our experience applying Blast to Linux and Windows device drivers. Given the C code for a driver and for a temporal-safety monitor, Blast automatically gen...
Abstract Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are...
Abstraction-Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in ...
Performance critical software is almost always developed in C, as programmers do not trust high-leve...
Blast is an automatic verification tool for checking temporal safety properties of C programs. Blas...
Abstract. We present a process for validating temporal safety properties of software that uses a wel...
One approach to model checking software is based on the abstract-check-re ne paradigm: build an abs...
Model checking has been widely successful in validating and debugging designs in the hardware and pr...
Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are augmente...
Large systems in modern development consist of many concurrent processes. To prove safety properties...
AbstractAbstraction-carrying Code (ACC) certifies a general temporal property for a mobile program u...
Abstract. It has been recognized that a framework based on proofcarrying code (also called semantic-...
Abstract. Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs ar...
Associated research group: Critical Systems Research GroupWithin the context of model-based developm...
This dissertation presents a framework for verifying concurrent message-passing C programs in an au...
Proof carrying code is a general methodology for certifying that the execution of an untrusted mobil...
Abstract Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are...
Abstraction-Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in ...
Performance critical software is almost always developed in C, as programmers do not trust high-leve...
Blast is an automatic verification tool for checking temporal safety properties of C programs. Blas...
Abstract. We present a process for validating temporal safety properties of software that uses a wel...
One approach to model checking software is based on the abstract-check-re ne paradigm: build an abs...
Model checking has been widely successful in validating and debugging designs in the hardware and pr...
Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are augmente...
Large systems in modern development consist of many concurrent processes. To prove safety properties...
AbstractAbstraction-carrying Code (ACC) certifies a general temporal property for a mobile program u...
Abstract. It has been recognized that a framework based on proofcarrying code (also called semantic-...
Abstract. Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs ar...
Associated research group: Critical Systems Research GroupWithin the context of model-based developm...
This dissertation presents a framework for verifying concurrent message-passing C programs in an au...
Proof carrying code is a general methodology for certifying that the execution of an untrusted mobil...
Abstract Proof-Carrying Code (PCC) is a general approach to mobile code safety in which programs are...
Abstraction-Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in ...
Performance critical software is almost always developed in C, as programmers do not trust high-leve...