McCabe - The Software Path Analysis Company                                                                  
Call 800-638-6316 or Contact Us Here
Home
products
partners
news
About Us
support
contact us

Language Support

Ada, C, C#, C++.NET, C++, JAVA, JSP, VB, VB.NET, COBOL, and FORTRAN

Platforms

64 bit environments that permit running of 32 bit apps and 32 bit environments are supported, including:

Windows and Windows Server

Linux RedHat and Ubuntu, x86 processor, with Motif 2.2 or later

Unix Solaris, HP-UX, and AIX, 32 bit, with Motif 1.2 or later


"Using McCabe IQ, we are now able to precisely target our development and testing efforts, optimizing our resources, saving time and money, and ultimately providing better quality products to our customers"

Jeffery Trevaskis
Mgr. of Software and Firmware Testing
Eastman Kodak


Why McCabe IQ?

Quality Level Agreement

Application Note: Structured Testing - The Path to Thorough Code Coverage

NIST Publication
NIST Special Publication 500-235 ("Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric") by Thomas McCabe.

30 Day Free Trial
Home > Products > McCabe IQ > Enterprise Edition

McCabe IQ Enterprise Edition provides all the functionality of the Developers and Test Team Editions and additionally provides enterprise-level metrics reporting with web-enabled results collection.

McCabe IQ Enterprise Edition comes complete with the following components:

Report on Quality Across the Enterprise

Due to the growing complexity of code and the increased pace of business, software managers must use quantitative methods to gain insight into the code they manage.

Whether it's the VP of R&D tracking the state of all development efforts or an individual developer or QA analyst measuring a single application or component, McCabe IQ provides the capability to assess the quality at every level.

McCabe IQ provides the insight, at every level, to identify the areas that are the highest risk of failure.

Composite Measures Across the Entire Enterprise
McCabe IQ has predefined reports on Size, Quality and Test Coverage for the latest revisions as well as trends across revisions and timeframes.

Composite measures for Size and Quality (including Modularity, Readability and Structuredness) are used for executive-level enterprise summaries to quickly illustrate areas of importance.

Maintain Quality Over Time
The delicate nature of software quality demands constant vigilance to achieve and maintain quality goals. McCabe IQ reports on trending values over time to document the progress made in improving the overall stability and quality of the project. Any decline in the caliber of the code can be quickly detected before further degradation occurs.

Track Test Effectiveness Trends
McCabe IQ's relational database also uses testing information from across the enterprise. McCabe IQ Testedness reports provide system-wide reporting on the current coverage of all products and also will provide trending reports on testing levels achieved on each revision versus the defined testing goals.

McCabe IQ provides reports and graphical displays to help testers quickly assess the need for more testing.

 

Secure, Web-enabled Test Collection

The McCabe IQ Enterprise Edition utilizes the McCabe Coverage Server to provide a network-enabled collection point for web testing data. The McCabe Coverage Server is a socket-based server that accepts testing data from McCabe’s instrumented applications. Architectures supported range from traditional executables to web deployed components.

Works within your Browser’s Security Restrictions
The McCabe Coverage Server is the only solution on the market today that can automatically collect testing data from client-side objects and retain the integrity of the security.

McCabe Coverage Server solves the security problem by inserting web-enabled libraries into the component source-code that write trace information back to the web server via a secured connection over the web. This functionality is critical for technologies such as Java applets where the Security Manager prevents the applets from accessing local or network connected hard disks. You can now gain all the traditional benefits of comprehensive test analysis for your critical application components.

A socket connection back to the web server that publishes the component is the only mechanism for transmitting trace data back to an application residing on a host with local disk access permissions.

Central Collection of Testing Data
The McCabe Coverage Server allows test teams to centrally manage and report on the testing activities of all application testers. The McCabe Coverage Server automatically feeds testing data from the local applications back to the central server and then manages each of the application test coverage repositories. Collection can be done for any type of application that is executed or simulated on a networked machine, even multi-threaded applications.

Technology
The McCabe Coverage Server sits on a host machine and interfaces with the existing McCabe IQ database. For web-based applications, the Coverage Server sits on the web server where the application has been published. To use the McCabe Coverage Server, the McCabe Test product and parsers must be licensed and installed.

The McCabe Coverage Server creates a socket connection and transfers information between the Coverage Server and the application component. Once the testing information is brought back to McCabe IQ database, generating and viewing the testing reports is possible.

“Technology on the horizon”
The McCabe Coverage Server is an enabling technology that will allow for dynamic feedback via a browser applet to display on the testers desktop. This new technology will be able to display the structure chart of the application source code and overlay real-time testing feedback of the application under test. Testers can now use this feedback to modify and create test cases on the fly to better test applications.

 

Powerful Reengineering Capability

McCabe Slice
McCabe Slice is used to uncover your program’s internal architecture. By compiling and running an instrumented version of your program, then importing the resulting trace file, you can visualize which parts of your program’s code are associated with specific functionality.

The slice concept is important to reengineering from several standpoints.

  • Visualizing the software
    By combining the Battlemap with module coloring based on slice coverage, McCabe Slice makes it easy for you to see how your program’s functionality maps to its structure.
  • Decomposing a complex system
    Using the Slice Operations option, you can combine slices generated by executing separate functions, then judge their cohesiveness.
  • Extracting business rules
    Using the Slice Operations option, you can pare down slices until they include only the specific code required for your business rules; a major step in many reengineering scenarios.
  • Tracing requirements
    By running the subset of your program’s functions that satisfy a requirement, you can use McCabe Slice to produce outputs that show which code was executed.
  • Identifying dead code
    The Battlemap, combined with coverage information, can help you determine which modules in your software are never executed.

McCabe Compare
As programs become more complex, the amount of redundant code often increases as well. In many programs, up to 40% of the code is redundant. This makes the code difficult to maintain because there is more code to manage and test; and modules with similar functionality often contain similar errors. Therefore, if you correct the error in one module, it most likely needs to be corrected in the other redundant modules. If you locate this redundant code and delete it or reengineer it, in addition to decreasing your testing and maintenance efforts, you can decrease the size of the program, simplify it, make it more efficient, and reduce errors. If you do not locate redundant code, you may develop similar logic elsewhere, and therefore, create even more redundancy.

With McCabe Compare, you can use the module comparison tool to locate redundant code. McCabe Compare lets you select predefined search criteria or establish your own search criteria for finding similar modules. After you select the search criteria, select the modules you want to match, and specify which programs or repositories you want to search, the module comparison tool locates the modules that are similar to the ones you want to match based on the search criteria you selected.

McCabe Data
McCabe Data tracks data usage within your programs and includes a host of tools and reports to help you locate, track, and analyze the testing of code containing the specified data set.

McCabe Change
McCabe Change identifies modules that changed and evaluate whether those modules are tested. You can then focus your testing on those changed modules and their interactions with the rest of your program.

McCabe Change works in combination with other McCabe IQ products too. Using McCabe Change, McCabe Data, and McCabe Slice with McCabe Test, you can utilize the Reengineering Data Coverage report to determine the testedness of changed modules that are also in a specific data set or transaction slice.