ISM’s Predictive Pro predicts potential code weaknesses
Code analysis tool identifies bug hot spots to focus QA efforts
Most QA tools manage project and bug tracking. They largely manipulate and organize information gathered in the past, and in so doing, tell you where you are on a project. If they step into the future, they only do so to assist in constructing timetables of proposed activities such as task planning.
Now comes a tool that processes data harvested from the past to inform the future: ISM (Integrated Software Metrics) Predictive Suite -- QA tools that act as “AI bug prophets.”
Behold the future
Predictive’s crystal ball is a combination code-metrics engine and artificial-intelligence system. The former reads through the source code, calculating and gathering a number of code metrics on each method. The latter analyzes the metrics and makes intelligent prognostications of which methods likely will be the source of future errors.
Predictive does not locate bugs; it locates -- or, rather, predicts -- the location of bugs. More precisely, it predicts which methods within a project are likely sites for future bugs: In the parlance of the documentation, Predictive “identifies regions of risk” in an application. The application’s source code can be C, C++, C#, or Java.
So, Predictive alerts developers and QA engineers to those methods that are likely to be the breeding grounds for future bugs. As a corollary, developers and QA can intelligently prioritize their efforts and don’t have to waste their time overly testing areas of their application identified as low-risk.
There are three members of the Predictive family: Lite, Pro, and Server. Lite is suitable for single users working on small to medium projects -- although there is no limitation to the size of the project that Lite can handle. Whereas the Pro and Server versions of the Predictive suite use AI to learn the nuances of your project team’s coding weaknesses, the Lite edition incorporates a “pre-taught” AI brain. That is, Lite’s predictive abilities are based on what it learned by examining a wide selection of standard software fed to it before it left its birthplace.
I tested the Pro version, which sports a 98 percent accuracy rate according to ISM. (The company pegs Lite’s accuracy at 82 percent, which isn’t bad for a pre-built AI brain.) Pro is meant for larger projects; Predictive Server edition goes a step further, targeting multiple-project enterprises and delivers browser access into an engine with the same capabilities as Predictive Pro. Server also maintains an archive of past bug data for all projects in your organization and consults them as necessary when making its prophecies or delivering its error-trend reports.
As your project’s development moves along and bugs are entered into your favorite bug-tracking tool, that information must be passed into Pro: The more information Pro receives, the more it learns and the better its accuracy.
Pro does not integrate directly with your bug trackers; it imports data only in CSV (comma-separated value) form, and that’s something of a limitation. Being able to import data in Excel, Access, or SQL Server formats, for example, would be nice.
The Pro edition also comes with an Error Trend view, which uses historical information to show you the methods in your project that are suffering from chronic bug infestation. It also allows you to verify how close the predictions are to reality.