We verify the functional correctness of an array-of-bins (segregated free-lists) single-thread malloc/free system with respect to a correctness specification written in separation logic. The memory allocator is written in standard C code compatible with the standard API; the specification is in the Verifiable C program logic, and the proof is done in the Verified Software Toolchain within the Coq proof assistant. Our "resource-aware" specification can guarantee when malloc will successfully return a block, unlike the standard Posix specification that allows malloc to return NULL whenever it wants to. We also prove subsumption (refinement): the resource-aware specification implies a resource-oblivious spec.
CITATION STYLE
Appel, A. W., & Naumann, D. A. (2020). Verified sequential Malloc/Free. In International Symposium on Memory Management, ISMM (pp. 48–59). Association for Computing Machinery. https://doi.org/10.1145/3381898.3397211
Mendeley helps you to discover research relevant for your work.