Program unit development
During the program unit development stage in the Software Life Cycle, FORCHECK signals programming flaws and presents information on the usage of all syntactic items. It validates the program unit (if requested) for conformance to the Fortran 77, Fortran 90, Fortran 95, Fortran 2003, or Fortran 2008 standard. Forcheck detects substantially more programming errors than the compiler does, so subsequent compilation won't raise compilation errors. Forcheck flags for example: illegal usage of data types, undefined variables, loss of precision in calculations, transfer of control into a construct, extension of common blocks through equivalence, the possible corruption of constants, undefined objects, unreferenced items (clutter), unused dummy arguments.
In the program integration phase of the Software Life Cycle, FORCHECK verifies subprogram characteristics, argument lists, common blocks, common-block objects, public module items and the consistent usage of include files. Recursive references of subprograms are flagged.
During development you can use a dedicated FORCHECK configuration file to ensure that you only use the desired language extensions that are available on all the systems you support. By applying a system-specific configuration file you can verify on the source system if your program will compile and link on each of the the target systems.
Testing and Maintenance
When maintaining or testing Fortran programs you can use the documentation generated to obtain an insight into the program structure. You can see exactly what happens with each syntax or program element. When changing a common block or an include file you know precisely which modules are affected. After changing the program you can run FORCHECK to verify the consistency of the modified program. Companies may compose a dedicated configuration file in which only the allowed Fortran extensions are included to ensure delivered software is in accordance with the company standards.
During each of the phases FORCHECK will assist you by providing optimal documentation.
|previous page||top page|