×

使用约束解算器检查堆操作过程的属性。 (英语) Zbl 1031.68518号

Garavle,Hubert(编辑)等人,《系统构建和分析的工具和算法》。2003年4月7日至11日在波兰华沙举行的2003年第9届TACAS国际会议,是欧洲软件理论与实践联合会议的一部分。诉讼程序。柏林:斯普林格。莱克特。注释计算。科学。2619, 505-520 (2003).
摘要:提出了一种在面向对象代码中查找错误的方法。它能够检查复杂的用户定义结构属性,即堆上对象的配置,并生成没有错误报警的反例跟踪。它不需要检查规范以外的注释,并且是完全自动的。
该方法依赖于三个步骤的转换:从代码到一阶关系逻辑中的公式,然后到命题公式,最后到合取范式。然后使用一个离线SAT求解器来找到构成反例的解决方案。
前面介绍的这个基本方案不容易扩展。在本文中,我们展示了一系列优化是如何大大提高可伸缩性的。优化基于对已知功能关系的特殊处理,并以所有步骤为目标。通过对一个红黑树实现的分析,证明了优化的效果。
关于整个系列,请参见[Zbl 1017.00035号].

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用
全文: 链接