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:
| Column | Description |
|---|
Priority_Num | Numeric sort order — ascending means more urgent. Matches the visual ordering in the Overview tier table. |
Strategy | Recommended migration strategy for this unit. See strategy definitions below. |
File | Source filename containing this unit |
Unit | Fortran unit name |
Type | Unit type: SUBROUTINE, FUNCTION, PROGRAM, MODULE, etc. |
ICM | Implicit Coupling Metric — measures how tightly the unit is implicitly coupled to the rest of the codebase |
IVC | Implicit Variable Coupling — count or score of implicit variable dependencies (e.g., via COMMON blocks) |
Pct_Calc | Percentage of statements classified as computation/arithmetic |
Pct_Control | Percentage of statements classified as control flow (IF, DO, GOTO, etc.) |
Pct_Legacy | Percentage of legacy-style constructs (GOTO, COMMON, EQUIVALENCE, …) |
Fan_In | Number of other units that call this unit |
Fan_Out | Number of units this unit calls |
Reachability_Status | REACHABLE, UNREACHABLE, or ENTRY_POINT — computed after strategy assignment |
Explanation | Human-readable rationale for the assigned strategy, generated by Forti4D |
Strategy Values
| Strategy | Meaning |
|---|
ELIMINATE | Remove the unit — typically dead code with no callers |
ANALYZE_UTILITY | Requires deeper investigation before a migration path can be decided |
DIRECT_MIGRATION | Can be translated to modern Fortran (or target language) with minimal rework |
REPLACE_LIB | Functionality is available in a standard library — replace rather than migrate |
REFACTOR_CORE | High-value unit that must be refactored in place before migration |
REWRITE_ISOLATED | Should be rewritten from scratch; complexity or legacy density makes migration impractical |
STANDARD_MIGRATION | Follows 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:
| Column | Description |
|---|
Block | Name of the COMMON block (unnamed blocks appear as a blank or /BLANK/) |
N_Units | Number of program units that reference this COMMON block |
N_Files | Number of distinct source files containing units that reference this block |
Risk | Risk classification: HIGH, MEDIUM, or LOW |
Units | Comma- or semicolon-delimited list of unit names sharing this block |
Files | Comma- 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:
| Column | Description |
|---|
Unit | Name of the duplicated unit |
Type | Unit type of the duplicate (SUBROUTINE, FUNCTION, etc.) |
File_A | First source file containing this unit |
File_B | Second source file containing this unit |
SLOC_A | Net source lines of code in the copy found in File_A |
SLOC_B | Net source lines of code in the copy found in File_B |
Similarity_Pct | Percentage similarity between the two copies (100 = exact duplicate) |
Status | Clone 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.