×

代数循环不变量的数据驱动方法。 (英语) Zbl 1381.68061号

Felleisen,Matthias(编辑)等人,《编程语言和系统》。2013年3月16日至24日,作为欧洲软件理论与实践联合会议的一部分,在意大利罗马举行了第22届欧洲编程研讨会(ESOP 2013)。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-37035-9/pbk)。计算机科学课堂讲稿7792574-592(2013)。
摘要:我们描述了一种计算形式为(land{i}f{i}(x{1},dots,x{n})=0的代数方程不变量的猜测-检查算法,其中每个(f{i{)是程序变量(x{1\,dotes,x{n})上的多项式。“猜测”阶段是数据驱动的,并从程序的具体执行生成的数据中导出候选不变量。该候选不变量随后在“检查”阶段由现成的SMT求解器进行验证。在这两个阶段之间迭代可以得到一个完善的算法。此外,我们能够证明猜测和检查获得声音不变量所需的决策过程查询数的界。我们展示了如何将猜测和检查扩展为生成线性等式的任意布尔组合作为不变量,这使我们能够生成表达不变量,以供无法处理非线性算法的工具使用。我们已经在最近关于不变量生成的论文中的一些基准程序上评估了我们的技术。我们的结果令人鼓舞——我们能够在所有情况下高效地计算代数不变量,只需进行一些测试。
关于整个系列,请参见[Zbl 1268.68016号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部