This thesis develops a compiler to convert a program written in the verification friendly programming language Whiley into an efficient implementation in C. Our compiler uses a mixture of static analysis, run-time monitoring and a code generator to and faster integer types, eliminate unnecessary array copies and de-allocate unused memory without garbage collection, so that Whiley programs can be translated into C code to run fast and for long periods on general operating systems as well as limited-resource embedded devices. We also present manual and automatic proofs to verify memory safety of our implementations, and benchmark on a variety of test cases for practical use. Our benchmark results show that, in our test suite, our compiler eff...
We present an approach for automatically generating provably correct abstractions from C source code...
AbstractThe Whiley compiler can generate naive C code, but the code is inefficient because it uses i...
This paper presents an approach to compiler correctness in which the compiler generates a proof that...
Languages that use call-by-value semantics, such as Whiley, can make program verification easier. Bu...
Languages that use call-by-value semantics, such as Whiley, can make program verification easier. Bu...
Unlike testing, formal verification can not only prove the presence of errors, but their absence as ...
Abstract. An ongoing challenge for computer science is the development of a tool which automatically...
This paper presents the design and implementation of a compiler that translates programs written in ...
This tutorial introduces the basic ideas of software specification and verification, which are impor...
This tutorial introduces the basic ideas of software specification and verification, which are impor...
Most current approaches to software verification are one-sided -- a safety prover will try to prove ...
AbstractWe report in this paper on the formal verification of a simple compiler for the C-like progr...
This dataset contains the data on the last set of pre-run benchmarks of the tool Theta on SV-COMP 20...
International audienceFormal verification of software or hardware systems — be it by model checking,...
International audienceThis paper reports on the design of adequate on-machine formal semantics for a...
We present an approach for automatically generating provably correct abstractions from C source code...
AbstractThe Whiley compiler can generate naive C code, but the code is inefficient because it uses i...
This paper presents an approach to compiler correctness in which the compiler generates a proof that...
Languages that use call-by-value semantics, such as Whiley, can make program verification easier. Bu...
Languages that use call-by-value semantics, such as Whiley, can make program verification easier. Bu...
Unlike testing, formal verification can not only prove the presence of errors, but their absence as ...
Abstract. An ongoing challenge for computer science is the development of a tool which automatically...
This paper presents the design and implementation of a compiler that translates programs written in ...
This tutorial introduces the basic ideas of software specification and verification, which are impor...
This tutorial introduces the basic ideas of software specification and verification, which are impor...
Most current approaches to software verification are one-sided -- a safety prover will try to prove ...
AbstractWe report in this paper on the formal verification of a simple compiler for the C-like progr...
This dataset contains the data on the last set of pre-run benchmarks of the tool Theta on SV-COMP 20...
International audienceFormal verification of software or hardware systems — be it by model checking,...
International audienceThis paper reports on the design of adequate on-machine formal semantics for a...
We present an approach for automatically generating provably correct abstractions from C source code...
AbstractThe Whiley compiler can generate naive C code, but the code is inefficient because it uses i...
This paper presents an approach to compiler correctness in which the compiler generates a proof that...