IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

ConTest

Verification and Testing Technologies
Project Homepage
 ·Publications
 ·Contact & Support
Feedback


ConTest - A Tool for Testing Multi-threaded Java Applications
  Overview

ConTest is an advanced testing solution from IBM, whose main use is to expose and eliminate concurrency-related bugs in parallel and distributed software. ConTest is developed and supported by the IBM's Verification and Testing Solutions group in Haifa, which is a worldwide center of expertise in this area (for example, see the PADTAD series of workshops organized by our group).

The ConTest technology is innovative and counter-intuitive. Specifically, ConTest systematically and transparently schedules the execution of program threads such that program scenarios which are likely to contain race conditions, deadlocks and other intermittemt bugs - collectively called synchronization problems - are forced to appear with high frequency. In doing so, ConTest dramtically improves the quality of testing and reduces development expense, as bugs are found earlier in the testing process.

With ConTest, the impact on the testing effort is minimal. Testers can rerun existing test suites without recompilation of the software under test (but with a greater probability of uncovering synchronization problems ). ConTest is easy to use and requires, typically, less then one day to set up. ConTest has been used successfully on industrial size applications (e.g. IBM WebSphere) and is, in general, a scalable testing solution. ConTest can is also used to measure test coverage, to aid in debugging, to enable replay, and to present deadlock information.

ConTest has the following features:
  • Cause synchronization problems to more likely surface in testing
  • Support the traditional test coverage models (e.g. branch coverage and method coverage) as well as advanced synchronization coverage models
  • Support partial replay, increasing likelihood that a program scenario which gave rise to a specific synchronization problem will recur
  • Produces a lot of useful debugging information

ConTest is available as an IBM ODIS (On Demand Innovation Services) offering.

ConTest for Java is also available for trial download from AlphaWorks.

A C/Pthread/Linux version is available with accompanying education.

A presentation describing the difficulty of testing concurrent software and the ConTest solution.

 

  About IBM  |  Privacy  |  Legal  |  Contact