AdaCore in New York has launched GNATstack, a software analysis tool that enables software development teams to predict the maximum size of the memory stack necessary to host an embedded software application. GNATstack is an important component of AdaCore’s High-Integrity solution (GNAT Pro HIE), which is an enhanced Ada development environment for building safety-critical, embedded software applications that require certification. “Manually calculating the amount of memory that should be allocated to a memory stack increases the risk that an embedded application will use more memory on the stack than is available, which can result in memory corruption, unpredictable execution, or a fatal system crash,” says Jose Ruiz, a software engineer at AdaCore. “GNATstack uses data generated by the compiler to determine the worst-case stack requirements. This output is used to ensure that sufficient memory is reserved for the stack, and to guarantee that the software application executes safely,” Ruiz says. GNATstack calculates the worst-case stack requirements for every stack entry point by performing per-subprogram stack usage as well as control flow analysis. The tool provides an audit trail for the certification of high-integrity and high-reliability applications, and can detect and display problems when calculating the stack requirements, including indirect calls, external calls, unbounded frames, and cycles. For more information on GNATstack features, contact AdaCore online at www.adacore.com.