Jul 19th, 2017
Automatically unroll static loops w/o loop invariant
Loop invariants are a known difficulty for beginners to use formal program verification. At the same time, many loops written in exercises and to familiarize oneself with the technology have static bounds and a small range. This enhancement implements loop unrolling for such loops with static bounds and not too many iterations (current threshold is at 20 iterations maximum). This way, simple loops with static bounds are proved without requiring a loop invariant. We let the user decide if she wants to use this feature or not: - by only unrolling FOR loops that have no loop (in)variant. - by disabling this feature when the switch --no-loop-unrolling is used.
Jul 11th, 2017
New gnatcheck rule Downward_View_Conversions
This rule flags downward view conversions.
Jul 10th, 2017
New gnatcheck rule Printable_ASCII
This rule flags characters in source code that are not part of the printable ASCII character set.
This is a short guide for using the AUnit test framework. AUnit is an adaptation of the Java JUnit (Kent Beck, Erich Gamma) and C++ CppUnit (M. Feathers, J. Lacoste, E. Sommerlade, B. Lepilleur, B. Bakker, S. Robbins) unit test frameworks for Ada code.
GNATbench for WRS Workbench User’s Guide
This User’s Guide describes how to use the GNATbench Ada plug-in for Windriver Workbench . Specific help is provided for configuring projects, building systems, and debugging.
QGen User Guide
This is the user documentation for QGen, a qualifiable and tunable code generation and model verification tool for a safe subset of Simulink® and Stateflow® models.
The GNU binary utilities
This is the documentation for GNU Binary Utilities.
The GNU linker
This is the documentation for GNU ld, the GNU linker, part of GNU Binutils.