Automated verification of pointer programs in pointer logic

Front. Comput. Sci. ›› 2008, Vol. 2 ›› Issue (4) : 380 -397.

PDF (532KB)
Front. Comput. Sci. ›› 2008, Vol. 2 ›› Issue (4) : 380 -397. DOI: 10.1007/s11704-008-0033-8

Automated verification of pointer programs in pointer logic

Author information +
History +
PDF (532KB)

Abstract

Reasoning about pointer programs is difficult and challenging, while their safety is critical in software engineering. Storeless semantics pioneered by Jonkers provides a method to reason about pointer programs. However, the representation of memory states in Jonkers’ model is costly and redundant. This paper presents a new framework under a more efficient storeless model for automatically verifying properties of pointer programs related to the correct use of dynamically allocated memory such as absence of null dereferences, absence of dangling dereferences, absence of memory leaks, and preservation of structural invariants. The introduced logic – Pointer Logic, is developed to achieve such goals. To demonstrate that Pointer Logic is a useful storeless approach to verification, the Schorr-Waite tree-traversal algorithm which is always considered as a key test for pointer formalizations was verified via our analysis. Moreover, an experimental tool – plcc was implemented to automatically verify a number of non-trivial pointer programs.

Keywords

null

Cite this article

Download citation ▾
null. Automated verification of pointer programs in pointer logic. Front. Comput. Sci., 2008, 2(4): 380-397 DOI:10.1007/s11704-008-0033-8

登录浏览全文

4963

注册一个新账户 忘记密码

References

AI Summary AI Mindmap
PDF (532KB)

894

Accesses

0

Citation

Detail

Sections
Recommended

AI思维导图

/