Qinxiang Cao will present his FPO "Separation-Logic-Based Program Verification in Coq" on Wednesday, 8/8/2018 at 9am in CS 302.
Qinxiang Cao will present his FPO "Separation-Logic-Based Program Verification in Coq" on Wednesday, 8/8/2018 at 9am in CS 302. The members of his committee are as follows: Adviser: Andrew Appel; Examiners: Lennart Beringer and Arti Gupta; Readers: Lars Birkedal (Aarhus University) and Zachary Kincaid Everyone is invited to attend his talk. The talk abstract follow below. In our interconnected world, software bugs can seriously compromise our safety and security. To provide adequate safety or protection, security-critical kernels (of large systems) must be functionally correct. To ensure functional correctness of C programs, we can use Hoare logic and its extensions such as separation logic. But such correctness proofs are large and complex enough that we cannot trust them unless they are machine-checked. This dissertation shows how we can construct mechanized proofs of program correctness using separation logic. I answer three questions: How shall we specify our programs? How shall we prove our programs correct w.r.t. their speci cations? How shall we mechanize such correctness proofs? I present practical techniques for separation-logic-based program veri cation and demonstrate them on several examples. I introduce VST-Floyd, a tool for users to build formal C program correctness proofs in Coq using separation logic. VSTFloyd is built based on Veri able C, a proved sound separation logic; I show how to reformulate its rules to make them practical for use in veri cation. Finally, I introduce a unifying semantics in separation logic so that research results of one separation logic can be generalized to all separation logics. Thus the techniques used in VST-Floyd can be used in other separation logics in the future.
participants (1)
-
Nicki Gotsis