ISM Provides Predictive Modes Of Error Detection

software source code

The uniqueness of the suite is that it concentrates on prediction rather than identifying errors or weaknesses in code. There are subtle differences between ISM's approach and other metrics tools.

ISM, for instance, uses artificial intelligence techniques to analyze metrics results at the function level and establishes thresholds that are specific to that project. Thresholds are used to alert project managers that developers might be heading in the wrong direction or that a software design might be flawed. Conversely, traditional computer-aided software engineering (CASE) and QA testing tools only identify errors at the line level and only concentrate on detecting weaknesses rather than predicting them.

These traditional CASE and QA tools use metrics such as cyclomatic complexity, which measures the number of logical paths inside code routines. However, once a QA tool generates a metrics value, project managers must determine if the number is acceptable. While QA tools do make recommendations, they are based on statistical methods of how coding structures should be constructed.

Consequently, results from QA tools are not based on an understanding of a specific application analyzed, but instead, these tools build results based on industry-accepted techniques. If code is written incorrectly, developers can use results from QA tools to investigate where they can optimize code and reduce the metrics values on subsequent runs. Relying on unified modeling language (UML) design models to reduce complexity does not always work either. UML often can bog down iterative development techniques and create design bottlenecks if models are not designed correctly at the start of a project.

id
unit-1659132512259
type
Sponsored post

When performing code walkthroughs with ISM's Predictive tool, QA analysts can identify problems based on self-imposed thresholds. These thresholds vary based on what project managers deem acceptable. Some systems usually will tolerate two to three returns per function, but not always. There are systems in which six or even eight returns per function can be acceptable.

Unlike competing QA tools, Predictive does not need 100 percent of the code to make predictions. Instead, Predictive collects data when exploring code for errors and poorly constructed functions. Based on data collected over time, Predictive runs in various modes to determine potential problems.

In Heuristics mode, developers must file reports in Predictive whenever they encounter mistakes during unit testing and debugging. After fixing bugs, developers have to tell Predictive where the errors occurred. Predictive will then build a database of errors for each function. ISM claims that Predictive only needs about 10 percent of industry-accepted errors to make predictions on a system. In Trend mode, Predictive helps project managers find sudden changes during final code releases. In addition to C and C++, Predictive 2.0 now can produce metrics for C# and Java.

The company offers a single-tier channel program for U.S. partners. Margins range from 25 percent to 40 percent and VARs can garner additional revenue from associating services with the sale of the product. Training is offered for partners at no charge via the Web and the company offers free support.

With a CASE software product, access to the technology is the most important aspect of the channel program and ISM provides more than adequate access and support for their partners who will not only sell the tool, but may use it in-house.