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


A logic of reachable patterns in linked data-structures
Authors:Greta Yorsh  Alexander Rabinovich  Mooly Sagiv  Antoine Meyer  Ahmed Bouajjani  
Affiliation:aSchool of Computer Science, Tel-Aviv University, Tel-Aviv, Israel;bLIAFA Laboratory, University of Paris 7, Paris, France
Abstract:We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the neighborhood of a node that is reachable via a regular expression from a designated node. The logic is closed under boolean operations (entailment, negation) and has a finite model property. The key technical result is the proof of decidability.We show how to express preconditions, postconditions, and loop invariants for some interesting programs. It is also possible to express properties such as disjointness of data-structures, and low-level heap mutations. Moreover, our logic can express properties of arbitrary data-structures and of an arbitrary number of pointer fields. The latter provides a way to naturally specify postconditions that relate the fields on the entry of a procedure to the field on the exit of a procedure. Therefore, it is possible to use the logic to automatically prove partial correctness of programs performing low-level heap mutations.
Keywords:Program verification  Shape analysis  Heap-manipulating programs  Decidable logic with reachability  Reachability  Routing expression  Pattern  Transitive closure logics  Weak monadic second-order logic
本文献已被 ScienceDirect 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

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