首页 | 本学科首页   官方微博 | 高级检索  
     


A low-level memory model and an accompanying reachability predicate
Authors:Shaunak Chatterjee  Shuvendu K. Lahiri  Shaz Qadeer  Zvonimir Rakamarić
Affiliation:(1) University of California, Berkeley, USA;(2) Microsoft Research, Redmond, USA;(3) University of British Columbia, Vancouver, Canada
Abstract:Reasoning about program heap, especially if it involves handling unbounded, dynamically heap-allocated data structures such as linked lists and arrays, is challenging. Furthermore, sound analysis that precisely models heap becomes significantly more challenging in the presence of low-level pointer manipulation that is prevalent in systems software. The reachability predicate has already proved to be useful for reasoning about the heap in type-safe languages where memory is manipulated by dereferencing object fields. In this paper, we present a memory model suitable for reasoning about low-level pointer operations that is accompanied by a formalization of the reachability predicate in the presence of internal pointers and pointer arithmetic. We have designed an annotation language for C programs that makes use of the new predicate. This language enables us to specify properties of many interesting data structures present in the Windows kernel. We present our experience with a prototype verifier on a set of illustrative C benchmarks.
Keywords:
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号