Forcheck Forcheck


Fortran Static Analyzer


Try Free Try Free


Forcheck is the oldest and most comprehensive Fortran analysis tool on the market. It performs a static analysis of a Fortran program or separate Fortran program units.


Forcheck detects more anomalies in your program than most compilers do. Because it locates bugs as early in the development phase as possible, it saves you time and annoyance and helps you to produce more reliable code.

Forcheck is ideally suited to get a fast insight in programs under development, in existing and legacy programs. It composes optimal documentation of your project with cross-reference tables of each program unit, a survey of the complete program and a call-tree. Forcheck can be used as a software engineering tool in the various stages of the development process and can verify the conformance to each level of the Fortran standard. Beside the full Fortran syntax Forcheck supports many language extensions of all popular compilers.


Product Overview


  • Provided with an intuitive IDE for Windows.
  • Performs a full static analysis of separate program units, groups of program units, or integral Fortran programs.
  • Detects more anomalies in your program than the compiler. Because it locates bugs as early in the development phase as possible, it saves you time and helps you to produce more reliable code.
  • Is a reverse engineering tool to get a fast insight in existing and legacy programs.
  • Composes optimal documentation: cross-reference tables for each program unit, cross-reference tables for the program, call trees, callby trees and USE trees.
  • Is a software engineering tool in the various stages of the development process.
  • Is suitable for very small up to extremely large projects.
  • Can verify the conformance to the various levels of the Fortran standard and supports many language extensions of all popular compilers.
  • FORCHECK is fully configurable. You can tune the analysis and output to your needs.
  • Stores the global information of the analyzed program-units in libraries which can be referenced in subsequent FORCHECK runs to verify the consistency of all references, common-blocks and modules.
  • Is very suitable as a cross-platform development tool in a multi-platform environment.
  • Is available for Windows, Linux and unix. It supports most Fortran language extensions of all popular compilers.

Key Features

Verification of Syntax and Semantics
Analysis of individual program units
  • identifies coding errors and dead code
  • detection of unused, unreferenced, undefined, used before defined, redundantly defined variables
  • detection of not associated pointers and unallocated variables
Analysis of the integral program
  • verification of procedure references and argument lists
  • verification and detection of inconsistent usage of common blocks
Handling of new Fortran features and conformance verification
  • comparison of nested imported derived types
  • generic names and resolving generic procedures
  • nested interfaces
Optimal analysis of legacy Fortran syntax
  • account for equivalences
  • detection of defined and referenced, depending on data types, including the usage as actual argument
Programming Aid Tools
1. Reporting and Documenting
  • Self explanatory messages
  • Verbose messages and explanations
  • Reporting filename and line number with messages
  • Reference structure (call tree) suited for long, qualified, procedure names
  • Production of cross-reference tables
  • Production of metrics for each program unit, module procedure and program
  • Generation of a report with messages and program metrics
  • Generation of reference structure in XML format for further browsing, analyzing and processing
  • Generation of module dependencies in XML format for further browsing, analyzing and processing
2. Tuning and Software Engineering Facilities
  • Easy adaption to used compiler
  • Selective suppression of diagnostic messages using Forcheck directives
  • Many options to customize the analysis and output
  • Tuning of the output
  • Interfaces stored in library file for later reference
  • Generation of interfaces from source code
3. Integrated Development Environment
  • Intuitive usage
  • Project files displayed as a tree
  • View, edit and build from the IDE
  • Analyze groups of files or the complete program
  • More windows can be open to view output and edit source files concurrently
  • Jump to the correct location in the source file by double clicking on the diagnostic message
  • Report file stored for later referencing
  • Browsing of the reference structure (call tree); expand or collapse each branch at wish
  • Browsing of the dependency of modules; expand or collapse each branch at wish