Overview
After translating your migration projects, you can generate Semantic Model Reports. Semantic Reports are similar to CodeScan reports but they are produced by analyzing the compiled code rather than by scanning the source code directly. They facilitate a much more detailed look into your system.
...
Info | ||
---|---|---|
| ||
The Analytics/Semantics Definitions reports can help with identifying dead code. The Pos_Cnt field is the number of references detected by the tool. So a zero means not used. Another, more tedious, way to to identify unused symbols is to look for the symbol in the Analytics/Semantics References report. If a symbol is NOT FOUND as referenced in the References report, then it may be dead and the corresponding record for the symbol in the Definitions report should have Pos_Count=zero. You need to be careful interpreting these results. Some things to be aware of: event-handlers may be needed but are rarely explicitly called, and late calls (CallByName and dynamic) are not detected either. So it is possible to detect 0 calls, but still have calls at runtime. It is a critical to audit the code for late calls and refine the upgrade solution to enhance type inference hints if you are finding unexpected late calls. Also, the dead code analysis gets more difficult when dealing with members in COM DLLs. One must inspect all client code that might use the DLL to see if the member is called through COM. This is only possible if you have source code for all clients. If you only have Standalone EXEs, this complexity is not a concern. The Assessment Report workbook we prepare for a Smart Start includes a Member Counts report that combines the Definitions, References, and _MEMBER_ Search report data to compute a usage and facilitate dead code analysis. The Smart Start Assessment Reports also accounts for multi-component systems and calls through COM. See also the Support Statement: Unused Symbol Analysis and Reporting for information on doing this analysis across inter-related VBPs/ASP Pages |
Semantics Symbols
A dump of the symbol table. Includes all symbols defined in code or in referenced libraries.
...
- Compiler Audit: reports the semantic model contents before it has been modified by Analyzer algorithms
- Analyzer Audit: reports the semantic model contents after it has been modified by Analyzer algorithms
Unused Symbols
This is a special purpose report that helps you identify and remove unused symbols in a system of inter-related components. See the Support Statement: Unused Symbol Analysis and Reporting for more information.
Late Calls
This is a special purpose report that helps you identify late-bound calls in a system of inter-related components. See the Support Statement: Unused Symbol Analysis and Reporting for more information.