It happens more often than one might expect that the source code of certain programs or subprograms no longer exists. As long as the object code is still available in a library, these programs can still be linked into load modules.
The problem is only recognized when changes need to be made or when programs need to be recompiled due to a release change.
ITM has created a complex workbench called Mutabor, which allows binary load modules to be transformed back into human-readable source code that is functionally identical to the original program.
Key Features of Mutabor
- Reads load modules in binary form and presents them in the Mutabor Workbench.
- The workbench structure resembles an assembler listing.
- Identifies the Control Sections of the included programs.
- Visualizes the code, all Control Sections in different tabs of the Mutabor Workbench.
- Translates a significant portion of the hexadecimal code into instructions and data.
- Contains a large set of rules that, when triggered by the user, process individual statements, statement ranges, or entire Control Sections.
- Uses pattern matching algorithms.
- Always transforms the hexadecimal code into assembler statements in such a way that converting the generated source code will again produce the original hexadecimal code.
- Recognizes patterns from many macro expansions and transforms them back into normal macro calls. However, the variety of patterns is so vast that new patterns and rules are discovered and added with each project.
- Exports individually selectable Control Sections. So, if a missing subprogram was linked with many other programs, only the source code of that subprogram needs to be generated.
- Base registers are recognized – either automatically or manually triggered through selectable action buttons.
- Code constructs can be searched and highlighted.
- Jump targets and data fields are assigned generated or freely selectable names.
- If field names of data records are known, e.g. from a COPY-book, the names can be automatically laid upon the data structure.
- If the load module was modified using HMASPZAP, Mutabor presents these changes in a dedicated tab of the workbench – ensuring the changes are not lost.
Usage
Mutabor is used, further developed, and maintained by ITM’s experienced assembler experts for customer projects.