动态堆属性验证与数据表示语义探索
在软件开发中,动态分配对象和线程的程序属性验证以及数据表示的语义问题一直是重要的研究领域。下面将围绕这些关键问题展开探讨。
1. 动态堆属性验证相关研究
在验证动态分配对象和线程的程序属性方面,有多种方法和相关研究。
- 抽象跟踪与跨世界相等性 :通过抽象跟踪并引入跨世界相等性(transworld equality)的工具,能为对象的演化提供信息。例如,在抽象跟踪中,可发现第二个世界的摘要节点是同一单个对象不同化身的抽象。
- 相关工作对比
- Bandera规范语言(BSL) :允许通过常见的高级模式编写规范,但无法关联不同世界的个体,也不能引用对象分配和释放的精确时刻。
- 计数器抽象 :是一种将无限状态参数系统抽象为有限状态系统的特殊抽象方法,采用静态抽象,即有一个前置的模型提取阶段。而与之不同的是,我们的工作在状态空间探索的每一步动态应用抽象,能处理对象和线程的动态分配与释放。
- 从一阶配置提取命题Kripke结构 :使用在一阶配置上定义的观察命题从一阶结构中提取命题Kripke结构,然后进行PLTL模型检查。但该方法存在局限性,因为无法具体关联不同世界的个体。
2. ETL到FOTC的翻译
ETL(Evolution Logic)子公式根据是否出现在时态运算符下,分为时态绑定和非时态绑定公式,它们的翻译方式不同,非时态绑定公式应绑定到跟踪的初始世界。
-
超级会员免费看
订阅专栏 解锁全文
7万+

被折叠的 条评论
为什么被折叠?



