The FermaT Workbench provides a suite of integrated
tools designed specifically to improve Assembler code comprehension and
maintenance productivity. The Workbench provides organisations with a graphical
view of the code at both a system and an individual module level,
automatically documenting the system and producing Call Graphs and Flowcharts to
aid understanding and documenting its structure and logic.
Workbench provides complete system visibility whilst also improving
productivity and reducing the risk of changes to the existing system.
Resulting in faster/controlled system improvement and product time to
Individual module dependencies (calls to macros, copybooks and other
modules) are shown in the Function Catalogue, which is integrated with
all the other tools. Information about a program's data usage is captured
and displayed within the Workbench Data Catalogue, providing the developer
with information on each particular data item's structure, format and
All of the various Workbench tools are integrated via a common repository
populated by a sophisticated Assembler parsing technology. The imported
code is automatically analysed for Data Flows and Control Dependencies,
this enables the FermaT Workbench to immediately identify Dead and
Code within modules.
Using the unique properties of the WSL Migration System, the
FermaT Workbench also provides the ability to perform Business Rule
Extraction (also known as Code Slicing) on individual data elements within an Assembler module. Slicing can be performed both backwards (how
was the data value generated?) or forwards (what code is impacted by this
data element?) or bi-directionally to accurately determine the impact of
change on a module.
The workbench also includes an integrated, Assembler-sensitive Editor
and Data Tracking facility that is be used to track how and where a particular
data item is used within the often complex logic of an Assembler application.
The parser, together with Fermat's unique intermediate language and
powerful program transformations, captures all the information necessary
to enable a developer to quickly and accurately maintain even complex,
poorly documented Assembler code.