Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/acdeveloper-sci/fortriage/llms.txt

Use this file to discover all available pages before exploring further.

The Report Explorer tab provides direct access to three supplementary reports produced by the Forti4D analysis. Use the segmented control at the top of the tab to switch between Migration Strategy, Common Coupling, and Clones. If no analysis has been run yet, the tab shows an informational message directing you to the Overview tab.

Migration Strategy

The Migration Strategy report (report_migration_strategy.csv) lists every unit in the corpus with its recommended modernization approach, sorted by Priority_Num ascending so the most urgent units appear first. Fourteen columns are displayed:
ColumnDescription
Priority_NumNumeric sort order — ascending means more urgent. Matches the visual ordering in the Overview tier table.
StrategyRecommended migration strategy for this unit. See strategy definitions below.
FileSource filename containing this unit
UnitFortran unit name
TypeUnit type: SUBROUTINE, FUNCTION, PROGRAM, MODULE, etc.
ICMImplicit Coupling Metric — measures how tightly the unit is implicitly coupled to the rest of the codebase
IVCImplicit Variable Coupling — count or score of implicit variable dependencies (e.g., via COMMON blocks)
Pct_CalcPercentage of statements classified as computation/arithmetic
Pct_ControlPercentage of statements classified as control flow (IF, DO, GOTO, etc.)
Pct_LegacyPercentage of legacy-style constructs (GOTO, COMMON, EQUIVALENCE, …)
Fan_InNumber of other units that call this unit
Fan_OutNumber of units this unit calls
Reachability_StatusREACHABLE, UNREACHABLE, or ENTRY_POINT — computed after strategy assignment
ExplanationHuman-readable rationale for the assigned strategy, generated by Forti4D

Strategy Values

StrategyMeaning
ELIMINATERemove the unit — typically dead code with no callers
ANALYZE_UTILITYRequires deeper investigation before a migration path can be decided
DIRECT_MIGRATIONCan be translated to modern Fortran (or target language) with minimal rework
REPLACE_LIBFunctionality is available in a standard library — replace rather than migrate
REFACTOR_COREHigh-value unit that must be refactored in place before migration
REWRITE_ISOLATEDShould be rewritten from scratch; complexity or legacy density makes migration impractical
STANDARD_MIGRATIONFollows the standard modernization path with typical effort
Strategy is computed by Forti4D before reachability analysis. If a unit’s Reachability_Status is UNREACHABLE, consider overriding its displayed Strategy to ELIMINATE regardless of what appears in this column — an unreachable unit carries no runtime value and is always a deletion candidate.

Common Coupling

The Common Coupling report (common_coupling.csv) lists every COMMON block shared across multiple Fortran units, together with a risk assessment. Six columns are displayed:
ColumnDescription
BlockName of the COMMON block (unnamed blocks appear as a blank or /BLANK/)
N_UnitsNumber of program units that reference this COMMON block
N_FilesNumber of distinct source files containing units that reference this block
RiskRisk classification: HIGH, MEDIUM, or LOW
UnitsComma- or semicolon-delimited list of unit names sharing this block
FilesComma- or semicolon-delimited list of source filenames involved
COMMON blocks represent global, implicitly shared memory between units — the compiler lays out their variables by position, not by name. Modifying a COMMON block’s layout (adding, removing, or reordering a variable) in any one unit without updating every other unit that references the same block causes silent memory layout corruption at runtime, with no compile-time error. HIGH risk blocks — those shared across many units or many files — should be refactored to named Fortran modules (MODULE / USE) as a prerequisite step before any other migration work on the units involved.

Clones

The Clones report (report_clones.csv) identifies duplicate or near-duplicate unit pairs in the corpus. Eight columns are displayed:
ColumnDescription
UnitName of the duplicated unit
TypeUnit type of the duplicate (SUBROUTINE, FUNCTION, etc.)
File_AFirst source file containing this unit
File_BSecond source file containing this unit
SLOC_ANet source lines of code in the copy found in File_A
SLOC_BNet source lines of code in the copy found in File_B
Similarity_PctPercentage similarity between the two copies (100 = exact duplicate)
StatusClone classification (e.g., exact clone, near-clone) as assigned by Forti4D
Clone pairs indicate that the same logic exists in multiple places — a maintenance hazard where a bug fix or modernization applied to one copy is easily missed in the other. Before migrating either copy, confirm which version is canonical and consolidate to a single unit.

Build docs developers (and LLMs) love