An approach to systems verification
Journal of Automated Reasoning
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type Structure for Low-Level Programming Languages
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Automated Correctness Proofs of Machine Code Programs for a Commercial Microprocessor
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Types, bytes, and separation logic
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
KeY-C: A Tool for Verification of C Programs
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Using XCAP to certify realistic systems code: machine context management
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Boogie: a modular reusable verifier for object-oriented programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Integration of a software model checker into isabelle
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
On the correctness of operating system kernels
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Validating the microsoft hypervisor
FM'06 Proceedings of the 14th international conference on Formal Methods
Formal Verification of a Microkernel Used in Dependable Software Systems
SAFECOMP '09 Proceedings of the 28th International Conference on Computer Safety, Reliability, and Security
VCC: A Practical System for Verifying Concurrent C
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Verifying the Microsoft Hyper-V Hypervisor with VCC
FM '09 Proceedings of the 2nd World Congress on Formal Methods
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Completing the automated verification of a small hypervisor - assembler code verification
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Hi-index | 0.00 |
Vx86 is the first static analyzer for sequential Intel x86 assembler code using automated deductive verification. It proves the correctness of assembler code against function contracts, which are expressed in terms of pre-, post-, and frame conditions using first-order predicates. Vx86 takes the annotated assembler code, translates it into C code simulating the processor, and then uses an existing C verifier to either prove the correctness of the assembler program or find errors in it. First experiments on applying Vx86 on the Windows Hypervisor code base are encouraging. Vx86 verified the Windows Hypervisor's memory safety, arithmetic safety, call safety and interrupt safety.