On-the-fly analysis in Insight 9.5 / 9.6
Jan. 17, 2012
New in Insight 9.5, we introduce what we believe is an industry-shaping technology - on-the-fly analysis of C/C++. While Insight 9.5 only exposes this in Visual Studio (2005 onwards), we will be expanding this to all supported IDEs, and even hope to bring this same technology to the Klocwork Desktop for non-IDE users.
So what does it do? In a nutshell, it provides the same usability model for static analysis as modern spell checkers have done since Office 95 popularized a previously Lotus-only capability for checking your words as you type them. In source code form, this means that as you create or modify code, as soon as we have some snippet that parses reasonably, we analyze it and tell you what's wrong - literally in milliseconds. Erroneous constructs get the typical "squiggly" underline and a marker is left in the gutter to show exactly where the problem is found. The normal trace window is available to show you the circumstances under which the bug will occur. All of this is available within the Visual Studio edit window, without the developer having to remember to analyze their code, or do any retrospective citing.
In line with this new approach, we've greatly streamlined the options available to a developer when faced with a defect (again, for now just in Visual Studio). We hope that the vast majority of defects will simply get fixed by the developer right there and then, but hey, we make mistakes sometimes and we know that. So simply right-click on the gutter marker and choose "ignore this defect" and it's gone. Not just for that developer, but for anybody else who looks at their code too (in server terms, the defect is cited and synchronized as "Ignore").
We're thrilled to bring this technology to market, to be the first to do so, and to have the opportunity to define the way that static analysis gets done from now on. Try it out and let us know what you think. And if you're not a Visual Studio developer, don't despair. Our other environments will be following along very shortly!