The following restrictions apply to the code analysis functionality:
Branch prediction
Branch prediction is not enabled. For example, this will not be detected as unreachable code by Dead Code Analysis:
if 0 equals 1
display "Unreachable code"
else
display "World"
end-if
Conditional compilation
Conditional compilation is not supported.
Data Flow Analysis
The following functionality is not supported:
- By value
- Entry points
- Following data through internal calls to entry points within the same program (re-entrant)
- JSON parse syntax
- Multi-program source
- Section fall through
- Selecting a data item from the file-control section
- Qualified paragraph names (paragraph OF section)
- Nested programs
Code Analysis rules
Nested programs are not supported.
ENTRY defined through variable
ENTRY statements defined through variables are not supported, and the ENTRY's statements will be marked as dead even if they
can be called.
working-storage section.
78 entry-name value "my-entry-name".
procedure division.
entry entry-name
display "this is my-entry-name"
goback
.
In the example above, the DISPLAY statement will be marked as dead even if it can be called.
Local variable declarations
Local variable declarations are not supported.
JVM COBOL support
The
JVM COBOL syntax is not supported.
Parameterized sections
Many of the code analysis features are restricted when using parameterized sections. The following is not supported:
- Data flow and data flow graph
- Program flow
- Rules
- Code slicing, including:
- Extract section/paragraph to program
- Create program from section/paragraph
- Create program from computation
- Create program from condition
Program Flow Graph
The following functionality is not supported:
- By value
- Entry points
- JSON parse syntax
- Multi-program source - multi-program COBOL files only show the graph for the first program.
- Section fall through
- Qualified paragraph names (paragraph OF section)
Projects stored on a network share
- The Program Flow Graph and Data Flow Analysis features are not available for projects stored on a network share. To work with
these features, you need to copy the projects to a local drive.
- Code slicing is not supported.
Supported programming languages
Only the COBOL language is supported.