I found the term "iterative full-program analysis" in recent announcement from MSDN. I'm just wondering if there is any detail on this technique elsewhere? Any book describe the theory behind this? Do any other projects use a similar approach?
The article is vague on details. Here's a bit more of that quote that I think might be relevant:
... 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.
(Emphasis mine.)
There is no specific technique that the article refers to. It seems to me that "iterative full-program analysis to track the types of ... variables" means to go over the program code to figure out any types it can, and then go over the code again to see if any more types can be inferred based on the types of the first pass. When it cannot infer any new types, the process ends.
The other part of the quote, "iterative full-program analysis to ... [simulate] execution of all the code" sounds a bit like abstract interpretation. As always, Wikipedia has a good overview of abstract interpretation. There isn't one way to do abstract interpretation, and it has been an active area of research, so Google should turn up plenty of reading material.