Types, bytes, and separation logic

Symposium on Principles of Programming Languages(2007)

引用 238|浏览48
暂无评分
摘要
We present a formal model of memory that both captures the low- level features of C's pointers and memory, and that forms the basis for an expressive implementation of separation logic. At the low level, we do not commit common oversimplifications, but correctly deal with C's model of programming language values and the heap. At the level of separation logic, we are still able to reason abstractly and efficiently. We implement this framework in the theorem prover Isabelle/HOL and demonstrate it on two case studies. We show that the divide between detailed and abstract does not impose undue verification overhead, and that simple programs remain easy to verify. We also show that the framework is applicable to real, security- and safety-critical code by formally verifying the memory allocator of the L4 microkernel.
更多
查看译文
关键词
programming language value,memory allocator,l4 microkernel,c,low level,interactive theorem proving,common oversimplifications,low-level feature,separation logic,case study,formal model,expressive implementation,theorem prover,memory allocation,programming language
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要