Regional Logic for Local Reasoning about Global Invariants

ECOOP 2008 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS(2008)

引用 144|浏览0
暂无评分
摘要
Shared mutable objects pose grave challenges in reasoning, especially for data abstraction and modularity. This paper presents a novel logic for error-avoiding partial correctness of programs featuring shared mutable objects. Using a first order assertion language, the logic provides heap-local reasoning about mutation and separation, via ghost fields and variables of type `region' (finite sets of object references). A new form of modifies clause specifies write, read, and allocation effects using region expressions; this supports effect masking and a frame rule that allows a command to read state on which the framed predicate depends. Soundness is proved using a standard program semantics. The logic facilitates heap-local reasoning about object invariants: disciplines such as ownership are expressible but not hard-wired in the logic.
更多
查看译文
关键词
mutable object,object reference,object invariants,data abstraction,regional logic,novel logic,shared mutable object,local reasoning,effect masking,region expression,heap-local reasoning,global invariants,allocation effect,higher order,separation logic
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要