next up previous
Next: Scenario 2: Testing Up: Evaluating Functional Correctness Previous: Evaluating Functional Correctness

Scenario 1: Clean Compilation

 

Scenario 1 assessed whether each ACE+TAO feature combination compiled without error. We selected 10 binary-valued compile-time options that control build time inclusion of features, such as asynchronous messaging, use of software interceptors, and user-specified messaging policiesgif. We also identified 7 inter-option constraints, e.g., (A = 1 B = 0), which means that if option A is enabled then option B has to be disabled. The configuration space chosen has a total of 89 valid configurations.

By executing the process we determined that 60 of the 89 valid configurations did not even build -- which was a quite surprise to the ACE+TAO developers! Using CTA analysis on the results we, for example, automatically characterized a previously undiscovered bug. This bug centered on a particular line within the TAO source code and occurred in exactly 8 configurations each of which shared a particular pair of options settings. Using our model-driven DCQA environment and process, we therefore successfully assessed the error-free compilation attribute of ACE+TAO, which is a necessary (though not a sufficient) condition to validate the functional correctness PSA.



Douglas C. Schmidt
Fri Sep 3 13:41:43 CDT 2004