The Ada Resource Association
Testing Software Travels with Ada
Vector Software Easily Writes Fail-Safe Tests in Ada
Ann S. Brandon
Here's a developer's choice: write software easily in Language A that doesn't crash or write software easily in Language C that crashes. Vectors Software chose Language A, which stands for Ada, rather than Language C, which stands for, well, C.
"With C, it's very difficult to put in general purpose guards to protect yourself from unintentional crashes," said the testing software company's director of Engineering, John Paliotta. "In Ada, it's the reverse. It's hard to crash an application at the operating system level, and easy to put in exception handling that gracefully handles the error."
Vector Software, Inc., dedicated the brains and guts of its software, VectorCAST, to Ada in 1993. The software automatically generates and compiles code to test C/C++ and Ada components across a comprehensive list of compilers and environments. Test cases are based on users' requirements and include ultimate values from lowest to highest, as well as fixed increments in between. The tests can be used on the host, a simulator, or an embedded target.
Paliotta says that in the ten years the company has been maintaining and changing its Ada software, they have found the code "almost impossible to crash." VectorCAST's GUI is in C++, which has given the software engineers many opportunities to compare the two languages as tools.
"Ada's exception handlers are better than C++," Paliotta said, explaining the absence of random crashes. "They're general purpose. With C++ they do not by themselves handle anomalous conditions. If at some point I divide by zero--not intentionally, yet it happens all the time--no pre-defined mechanisms with C++ can handle it. With Ada, it's built into the language. If you install a small general purpose exception handler it will handle that. Regardless of what bad thing happens it'll be caught and you'll have a defense against an unanticipated anomaly."
Altogether, Paliotta says his department finds the Ada "standard is more uniform and enforced across the vendors and compilers. In the C++ world everyone has their own variant." He acknowledges that C++ has an ANSI standard, but which allows "all the compiler vendors to have their own standard." The basis of Vector Software's choosing Ada can be summed up, he says, as "The technology is superior."
See for more on Ada. Or write to
Ann Brandon,
Communications Director
Ada Resource Association
# # #