Looking to extend its code inspection services to new markets, Reasoning Inc. on Wednesday plans to announce Reasoning Inspection Service for Java, an outsourced service for identifying and fixing code defects early in the development process.
Previously available for C and C++ development, Reasoning officials in unveiling a Java campaign seek to broaden the outreach of their services to potential customers in markets such as healthcare, financial services, and government/defense.
Available next Monday, the Reasoning Inspection Service for Java consists of an automated static analysis that provides benefits of code review but in less time and at lower cost, the company said. The service costs 18 cents per line of code inspected.
Reasoning detects and diagnoses defects before they become discernible problems and directs developers to an exact location for remedying, according to the Mountain View, Calif.-based company.
The company's services do not replace application testing, said Reasoning President and CEO William Payne. "We don't replace testing, we make it more usable," Payne said.
Customers send Reasoning their code for examination. Recognizing the possibility that developers may resent a third party inspecting their code, Reasoning officials said the net benefit still is better-quality code.
"As soon as developers realize (their code is) being inspected, the quality automatically takes a jump up," said Jeff Klagenberg, Reasoning's director of product management. The company, however, is not intrusive to the development process, company officials said.
One industry analyst said that the growing importance of software to the economy makes inspection services worthwhile.
"The whole idea with the inspections is moving that analysis earlier in the design cycle (and) fixing the bugs before they get out into the places where they're really expensive to fix," said analyst Dick Heiman, research director for application development and deployment at IDC., in Framingham, Mass.
"The whole concept of finding problems early is going to be good for the industry in general," Heiman added.
Reasoning has found that code quality depends on organizational methodologies, Payne said. The company is promoting its services in the United States, where code inspection is less prominent than in Europe, Payne said.
"In the U.S., inspection hasn't been as accepted as it has in Europe," he said.
Reasoning can uncover defects that cause abnormal behavior, crashes, or data corruption in Java applications. Classes of identified defects for Java include the following:
-- Null pointer dereferences, which occur when a null variable is accessed that can cause issues ranging from resource leaks to application failure.
-- Out-of-bounds array access defects, which occur when an array expression is not within the upper and lower bounds of an array, potentially resulting in data corruption and application failure.
-- String comparison defects, in which two string objects are compared using "==" or "!=" operators instead of the string comparison methods available to the string object. If strings are not properly compared, the software program will not execute as intended, according to Reasoning.
The company eventually plans to extend its services to UML design and integration testing.