This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

Summary: This document provides information about the extension providing Fortran support.

Extension ID

com.castsoftware.fortran

What's new?

See Fortran 1.1 - Release Notes.

Description

This extension provides support for applications written using Fortran languages. 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.

Although this extension is officially supported by CAST, please note that it has been developed within the technical constraints of the CAST Universal Analyzer technology and to some extent adapted to meet specific customer needs. Therefore the extension may not address all of the coding techniques and patterns that exist for the target technology and may not produce the same level of analysis and precision regarding e.g. quality measurement and/or function point counts that are typically produced by other CAST analyzers.

Technology support

FortranSupported

Fortran 77

(tick)

Fortran 90

(tick)

Fortran 2003

(tick)

Function Point, Quality and Sizing support

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

CAST Imaging Core compatibility

ReleaseOperating SystemSupported
8.3.xMicrosoft Windows(tick)

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 (In Fortran have .h files are use 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 installed by CAST Imaging Console 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 in CAST Imaging Console.

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

IconMetamodel 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:

You can also find a global list here:

https://technologies.castsoftware.com/rules?sec=t_1006000&ref=||

Known Limitations

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