Learn More
Type-directed certifying compilation and typed assembly language (TAL) aim to minimize the trusted computing base of safe languages by directly type-checking low-level machine code. However, the safety of TAL still heavily relies on its safe interaction with the underlying garbage collector. Based on a variant of foundational proof-carrying code (FPCC), we(More)
Garbage-collected languages such as Java and C# are becoming more and more widely used in both high-end software and real-time embedded applications. The correctness of the GC implementation is essential to the reliability and security of a large portion of the world's mission-critical software. Unfortunately, garbage collectors--especially incremental and(More)
We present the verification of the machine-level implementation of a conservative variant of the standard mark-sweep garbage collector in a Hoare-style program logic. The specification of the collector is given on a machine-level memory model using separation logic, and is strong enough to preserve the safety property of any common mutator program. Our(More)
Ensuring the safety of multithreaded software is a task both important and challenging. Currently, most ap- proaches focus on the safety of multithreaded programs rather than the runtime based on which those concurrent programs run. In order to fundamentally solve this problem, a method of ensuring the safety of the runtime should be de- veloped. Such a(More)
Critical applications and increasing scale of software has made software assurance a big problem. Currently, programmers can write type-safe codes in typed languages with sound type systems, such as Java, Cyclone, even typed assembly language (TAL). But high assurance does mean not only type safe, but also correctness and security. Since type is not(More)
  • 1