Automating the verification of rules of a programming manual

Objectives

A programming manual describing the rules that must be followed when writing a program can be established in order to improve the programming practices and reduce the programming errors number. Automatically checking the conformity with most of those rules is possible.

Justification

Checking manually the programming rules takes a lot of time and is very subjective:
Two different proofreaders may not give the same opinion. By automating this verification, you make it really fast (and thus, easier to realize) and you end all interpretation.
In the case of certified software, qualification of the rule verification environment is possible.

Languages

Available on C, C++, Java or Ada

Agenda

This course is organized in the following phases:

1 - Critical reading of the programming manual

During this phase, the Kalimetrix consultant will write a report about the programming manual rules content. This document point out remarks about incompatible rules, rules contrary to the developers’ habits, rules that may be added, rules not clearly described…
For each rule, it is pointed out if it can be automatically checked or not.
If no programming manual is available, an analysis of the programming style is done. Then a proposition of a group of rules is established.

2 – Updating the programming manual

Using the remarks of the phase 1, according to the customer opinion, the programming manual is updated.
If there was no programming manual, it is written.

3 – Test programs building

During this phase, for each rule of the programming manual, one or several source files of test are written. They contain conformity to and violations of the rules. Later, those files will have two roles:
•    They will be used as examples of cases of conformity to and violation of rules.
•    They will allow qualifying the environment and checking programming rules
During this phase, vagueness could show up with some rules and conduct to improve the programming manual if necessary.

4 – Creating the automated environment of programming rules conformity verification

Tool customization to check all the automatable rules. The well behavior of the environment is checked by using it on tests programs.

5 – Realization of the way to qualify the verification environment.

An automate procedure allows demonstrating to certification authorities that the verification environment has the expected behavior, detecting violation where it is necessary.

Tools

Logiscope RuleChecker

Furnitures

•    qualification environment
•    documentation d'utilisation
•    User manual