Ada drives Bound-T
March 20, 2010 — Bound-T is a novel program analysis tool
that takes the object code representation of an embedded program and analyzes it to
produce bounds on worst-case execution time and worst-case stack usage. It supports
a wide variety of embedded target processors, and (since it processes object code),
it supports virtually any programming language and development methodology.
Bound-T was developed completely in Ada other than a couple
external mathematics packages. Niklas Holsti, Lead Engineer at Tidorum Ltd. says
"The Bound-T tool is meant to help the verification of high-reliability software.
Thus it is both important and natural that Bound-T itself should use a programming
language that emphasises reliability."
Holsti has found that many features of Ada help improve the
reliability of a tool. He notes "Ada makes a clear separation between
the interface of a module, and the implementation of the module. For Bound-T, in particular,
this helps to separate the general, target-independent modules from the target-specific
modules." With some 480 packages, reduced coupling is critical to managing the complexity of
Ada's checks that both uses and implementations of a module
match the interface of the module prevent many errors and reduce debugging time.
Bound-T also makes use of object-oriented programming as
embodied by Ada's tagged types to reduce dependenies between modules while not
hampering further development and refinement of the modules.
Holsti summarizes "Ada is the outstanding choice for reliability,
through its strong support for clear, problem-oriented design and its thorough
consistency checks at compile-time and at run-time."
For more on Bound-T's use of Ada, see this description
of the product's implementation.
For more on Bound-T itself, see the product's home page
# # #