Fortran - 1.1


Extension ID

com.castsoftware.fortran

What’s new?

See Release Notes for more information.

Description

This extension provides support for applications written using Fortran languages.

In what situation should you install this extension?

If your application contains source code written using Fortran and you want to view these object types and their links with other objects, then you should install this extension.

Supported Fortran versions

This version of the extension provides support for:

Fortran Supported
Fortran 77
Fortran 90
Fortran 2003

Function Point, Quality and Sizing support

  • Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points (transactions) Quality and Sizing

Compatibility

Release Operating System Supported
v3/8.4.x Microsoft Windows / Linux
v2/8.3.x Microsoft Windows

Supported file types

Only files with following extensions will be analyzed:

  • *.for
  • *.FOR
  • *.inc
  • *.INC
  • *.pfo
  • *.PFO
  • *.f
  • *.F
  • *.f03
  • *.F03
  • *.f90
  • *.F90
  • *.f77
  • *.F77
  • *.h (.h files are used as include files, however for the most part, *.inc are used as include files) 

Below is the list of extensions that will enable you to tell what type of Fortran is provided:

Fortran version Extension
Fortran 2003 *.f03, *.F03
Fortran 90 *.f90, *.F90, *.g90, *.f95, *.F95, *.g95, *.f, *.F, *.for, *.FOR
Fortran 77 *.f77, *.F77, *.g77,

Download and installation instructions

The extension will be automatically downloaded and installed when at least one of the supported file types is delivered for analysis.

Source code discovery

A discoverer is provided with the extension to automatically detect Fortran code: when one of the supported file types is found in a folder, one “Fortran” project will be discovered, resulting in a corresponding Universal Technology Analysis Unit.

Tools

Fortran Preprocessor

Fortran source code needs to be preprocessed so that CAST can understand it and analyze it correctly. This code preprocessing is actioned automatically when an analysis is launched or a snapshot is generated (the code is preprocessed before the analysis starts). The Fortran Preprocessor log file is stored in the following location:

%PROGRAMDATA%\CAST\CAST\Logs\<application_name>\Execute_Analysis_<guid>\com.castsoftware.fortran.<_extension_version>.prepro_YYYYMMDDHHMMSS.log

What results can you expect?

Objects

Icon Metamodel description
Fortran Do Construct
Fortran External Function / Fortran Internal Function
Fortran External Subroutine / Fortran Internal Subroutine
Fortran IF Construct
Fortran Interface
Fortran IOSTAT Variable / Fortran STAT Variable
Fortran Module
Fortran Program
Fortran Project
Fortran Select Case

Structural Rules

The following structural rules are provided:

Release Link
1.1.4-funcrel https://technologies.castsoftware.com/AIP/extensions/com.castsoftware.fortran/versions/1.1.4-funcrelexternal link
1.1.3-funcrel https://technologies.castsoftware.com/AIP/extensions/com.castsoftware.fortran/versions/1.1.3-funcrelexternal link
1.1.2-funcrel https://technologies.castsoftware.com/AIP/extensions/com.castsoftware.fortran/versions/1.1.2-funcrelexternal link
1.1.1-funcrel https://technologies.castsoftware.com/AIP/extensions/com.castsoftware.fortran/versions/1.1.1-funcrelexternal link
1.1.0-funcrel https://technologies.castsoftware.com/AIP/extensions/com.castsoftware.fortran/versions/1.1.0-funcrelexternal link

You can also find a global list here:

https://technologies.castsoftware.com/AIP/technologies/1006000external link

Exceptions

The following rules/metrics are not triggered during a Fortran analysis:

  • Class Fan-in distribution
  • Class Fan-out distribution
  • Class Complexity distribution
  • SQL Complexity distribution
  • OO Complexity distribution
  • Copy/Paste metrics
  • Other generic diagnostics present in CAST AIP