Imagix Corp
Software metrics and quality
checks for C, C++ and Java

Quality
Analysis

The quality checks and software metrics produced by Imagix 4D enable you to identify potential problems during the development and maintenance of your software. By identifying and correcting the problem areas, you're able to improve the overall clarity, portability, and maintainability of your software.

Data flow analysis generates a series of analytical verifications of variable usage, task interaction, and interrupt protection present in your software. You're able to spot potential conflicts in real-time embedded and multi-tasking, multi-threaded systems.

Complementing these specific analyses are source checks that identify exceptions to generally agreed upon design and coding standards. And you can compare the software metrics to specific norms for your organization to insure that the software meets your development criteria.

Having this integrated with the other functionality of Imagix 4D improves your efficiency in both your quality analysis and program understanding efforts. From the metrics and the quality analysis reports, you can drill down and examine the source code where a problem is occuring, to understand the causes and consider the dependencies involved with making improvements.

  • Software Metrics
  • Data Flow Checks
  • Source Checks
The source metrics generated by Imagix 4D provide insight into many aspects of the quantity, quality, complexity and design of your software. You're able to measure development progress, determine where to focus testing efforts, and identify potential downstream maintainance challenges. You can compare the source metrics to specific norms for your organization to insure that the software meets your development criteria. And by tracking the metrics over time, you can measure process improvement, assessing the effectiveness of development process initiatives.
Over 70 metrics include:
  • Chidamber and Kemerer object oriented (6)
  • Class Cohesion (Hitz/Mont.)
  • Class Coupling
  • Comment Ratio
  • Decision Depth
  • Halstead complexity (4)
  • Knots (Woodward, etc)
  • McCabe Cyclomatic Complexity
  • McCabe Essential Complexity
  • Maintainability Index (Welker)
  • Statements, Lines, etc.
A series of analytical verifications of your source code identify problems that could occur in the run-time execution of your software. The verifications flag potential problems in areas such as data access, concurrency control, and cyclical data updates. You're able to review possible conflicts in real-time embedded and multi-tasking, multi-threaded systems.

Previously, you could have only found such problems by debugging unexpected runtime behavior or by conducting very detailed, lengthy manual code reviews.

Data flow checks include:
A series of source level checks point out exceptions to generally agreed upon design and coding practices.

These quality checks are presented through a series of reports. Each report provides a listing of all the exceptions to a particular source check, across all the files in the project. Alternatively, reports are available which list all the exceptions to all of the source checks, for one specific file. Quality check exceptions can also be displayed in the File Editors, so you are made aware of potential problem areas while you are working with the source code itself.

Over 20 source checks include:
  • Conversion Issue
  • Jump Statement
  • K&R Style Declarator
  • Missing Default Case
  • Missing/Mismatched Decl.
  • Missing Return Type
  • Old Style Allocator
  • Potential Static Function
  • Problematic Constructor
  • Suspicious Assignment
  • Unclear Subexpression
  • Unused Static Variable