Updating or adding functionality to aging applications is one of the most strenuous tasks developers and software architects can undertake, especially without automation tools. Over time, the functionality and hierarchy between components begins to erode, making it difficult to understand a system in its entirety.
Architectural enhancements are even more difficult without a thorough understanding of the interactions between application components.
To impose a system-level architecture change or an upgrade on a large application, solution providers have to construct a physical map of the relationships between an application's components. Klocwork offers one of the best suites in the industry to automate that process.
Klocwork's suite includes four tools that document how components in an application interact with one another.
Developers can then correct any application flaws to achieve an optimal interaction between components. The CRN Test Center reviewed two of the tools: inSight and inSpect.
The suite's inSight tool uses a wizard to point to an applicaton's source code within the directory structure. It also highlights dependencies between components for precise analysis. The tool then creates an architectural model of a system, which is a logical representation of the relationships between system components.
InSight performs a thorough analysis of dependencies by checking all the external connections between classes, methods and fields, and represents them at the component level in a diagram.
Solution providers that need to understand a customer's system, administrators evaluating new applications or IT personnel restoring legacy systems will find the tool useful.
Once a model is created, developers can view application components and their dependencies in a GUI environment. By dragging and dropping components in or out of the diagram, users can adjust the dependencies in the component diagram on the fly. Developers can instantly gauge the impact of component changes or upgrades.
The InSpect tool performs system-level analysis to identify source-code defects. The tool highlights critical problems and differentiates them from non-critical flaws using actionable improvement lists. The lists name components and files that, if fixed, would most improve an application's flaws. Developers can easily decide which problems are mission-critical.
InSpect also develops impact analysis reports and metric reports and can count lines of code in source files. The tool can also report buffer overflows and memory allocation problems and can perform complexity analyses on the source code.
CRN Test Center engineers tested inSight and inSpect using source code for the Apache HTTP Server for the Win32 platform. The tested code is written in C, but the Klocwork suite also works with C++ and Java. After the software parsed and built the application, it discovered and diagrammed all components and modules. The process took about 10 minutes. When source files were dragged out of a module and into the server component, the number of dependencies diminished.
This is an important suite for developers, since changing the dependancy structure within an application can enhance its performance and increase throughput. InSight can also provide realtime architectural documentation for use in reports.
Klocwork is in the process of building a three-tier channel program. The company plans to offer sales and marketing support, integration assistance, a solution provider Web site, software demonstration packages and a dedicated technical-support line.
Klocwork has not yet set an average reseller margin.
The inSight tool costs $14,995, and the inSpect tool costs $11,995.
CHANNEL PROGRAM SNAPSHOTS
> KLOCWORK INSIGHT, INSPECT
DISTRIBUTORS: Direct from vendor
Note: Vendors can earn up to five stars for technical merit and five for their channel program. If the average of these two scores is four stars or greater, the product earns CRN Test Center Recommended status.