【软件分析第14讲-学习笔记】抽象解释 Abstract Interpretation

前言

创作开始时间:2022年11月16日20:21:08

如题,学习一下抽象解释 Abstract Interpretation的相关知识。参考:熊英飞老师2018《软件分析》课件。

正文

原课件一下没看懂。

抽象解释

参考:

也没看懂0 0

基本知识

参考:百度百科

形式化验证方法:

  • 抽象解释(Abstract Interpretation)
  • 定理证明(Theorem Proving)
  • 模型检验(Model Checking)

抽象解释理论产生于Cousot.P和Cousot.R于1977年提出的程序静态分析时构造和逼近(approxiamation)程序不动点语义的理论。他们讨论了基于抽象解释理论的程序变换,程序安全性(safety)验证和活性(liveness)的验证。他们利用抽象解释理论作为一种新的形式化验证方法的框架,将各种不同验证工具的近似理论进行统一。
由于模型检验的方法受到状态空间爆炸的限制,定理证明也由于一阶逻辑半可判定的问题,形式化的验证技术难以广泛使用。抽象解释在处理复杂的计算问题或模型的过程中通过对问题进行近似抽象,取出其中的关键部分进行分析,从而减少问题的复杂程度,再综合其他的形式化方法来解决问题。

抽象解释:开始研究

参考:

  • 潘建东. (2015). 基于抽象解释的不变式生成方法研究与改进. (Doctoral dissertation, 南京大学).
  • 杨波, 张明义, 谢刚. 抽象解释理论框架及其应用[J]. 计算机工程与应用, 2010, 46(8):6.

模型检验:状态空间爆炸
定理证明:受到一阶逻辑半可判定性的限制。

各形式化验证工具的本质区别在于实现近似的方法不同,P.Cousot和R.Cousot提出的抽象解释理论试图在一个统一的框架下对近似思想进行形式化。

抽象解释:一种对程序语义进行可靠近似的理论。

小结

这里面涉及到的terminology有点多,,,后续再补充完善。

创作结束时间:2022年11月16日20:48:26

参考文献

猜你喜欢

转载自blog.csdn.net/weixin_39278265/article/details/127892562