矩阵的不变量与类型推断
在矩阵处理的编程领域,自动推断循环的不变量和矩阵类型是一项重要的任务。本文将深入探讨矩阵不变量和类型推断的相关内容,包括相关工作、矩阵类型定义、激励示例、编程模型以及循环合成等方面。
1. 相关工作
在矩阵程序的安全属性验证中,自动推断辅助注释(如不变量和后置条件)是一个关键问题。不同的方法在处理该问题时各有特点:
- 文献[6]方法 :通过代码模式描述需要注释的代码结构,使用模板描述代码模式所需的注释。对于每个程序代码和安全属性,需要用户指导来识别相关的代码和模板模式,然后将注释模板嵌入代码以自动生成程序注释。
- 一维数组量化不变量生成方法 :如[8,14,1,11,21,27]等工作,将归纳推理与谓词抽象、约束求解和基于插值的技术相结合,需要用户提供必要的模板、断言或谓词。不同方法对用户指导的需求程度不同,部分方法通过迭代逼近给定谓词的最强布尔组合来推断不变量,部分方法使用给定模板搜索合适的不变量谓词。
- 文献[10,12]方法 :无需用户指导,通过抽象解释和将数组索引划分为符号区间来推导量化数组不变量。
- 我们之前的工作[19] :结合符号计算和一阶定理证明来推导量化不变量,无需用户指导,可推断具有交替量词的量化不变量。
与上述工作相比,我们的方法具有独特优势:不需要先验固定的模板和谓词,直接从循环描述中推导量化不变量,能够生成多维数组程序的属性。在多项式不变量生成方面,我们的方法不限制多项式的次数,能推导任意次数的多项式不变量,而其他一些方法存在次数限制
超级会员免费看
订阅专栏 解锁全文

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



