Data Refinement with Low-Level Pointer Operations
Data Refinement with Low-Level Pointer Operations
复制标题
使用低级指针操作进行数据细化
DOI:
10.1007/11575467_3
复制
发表时间:
2005
期刊:
影响因子:
--
通讯作者:
Hongseok Yang
中科院分区:
文献类型:
--
作者:
Ivana Mijajlovic;Hongseok Yang
We present a method for proving data refinement in the presence of low-level pointer operations, such as memory allocation and deallocation, and pointer arithmetic. Surprisingly, none of the existing methods for data refinement, including those specifically designed for pointers, are sound in the presence of low-level pointer operations. The reason is that the low-level pointer operations allow an additional potential for obtaining the information about the implementation details of the module: using memory allocation and pointer comparison, a client of a module can find out which cells are internally used by the module, even without dereferencing any pointers. The unsoundness of the existing methods comes from the failure of handling this potential. In the paper, we propose a novel method for proving data refinement, called power simulation, and show that power simulation is sound even with low-level pointer operations.
DOI:
10.1145/964001.964024
发表时间:
2004-01
期刊:
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
影响因子:
--
作者:
P. O'Hearn;Hongseok Yang;J. C. Reynolds
通讯作者:
P. O'Hearn;Hongseok Yang;J. C. Reynolds