迭代全程序分析

iterative full-program analysis

我在 MSDN 的 recent announcement 中找到了术语 "iterative full-program analysis"。我只是想知道其他地方是否有关于这项技术的任何细节?有什么书描述了这背后的理论吗?有没有其他项目使用类似的方法?

这篇文章在细节上含糊不清。以下是我认为可能相关的更多引述:

... iterative full-program analysis to track the types of all the variables in your project while simulating execution of all the code in your project.

(强调我的。)

文章没有提到具体的技术。在我看来,"iterative full-program analysis to track the types of ... variables" 的意思是把程序代码遍历一遍,找出它能找到的任何类型,然后再遍历一遍代码,看看是否可以根据第一遍的类型推断出更多的类型。当它无法推断出任何新类型时,该过程结束。

引用的另一部分,"iterative full-program analysis to ... [simulate] execution of all the code"听起来有点像抽象的解释。一如既往,维基百科对 abstract interpretation 有很好的概述。没有一种方法可以进行抽象解释,而且它一直是一个活跃的研究领域,因此 Google 应该多读一些书 material。