Software asset management is notoriously difficult; or conversely it’s always very easy to have concerns that source code no longer reflects the production program. On occasions it’s also possible for source code to be lost altogether. These problems often arise as a result of unnoticed errors while moving between different software management schemes e.g. as a result of a merger or acquisition.
Our goal is to restore confidence in the source code behind your production programs. With prices from as low as 10 eurocents per line of code piece of mind can usually be achieved within your departmental budget.
The service can be tailored to your needs and may consist of any of the following:
Typically our help will be based around the following in-house utilities that we have created:
Unloaded PDS Extractor | Extracts loadmodules and their directory information from an
IEBCOPY unloaded dataset. |
Advanced Disassembler | Builds normalized listing files for each CSECT within a zOS load
module. Provides assembler and link/bind information for module. |
Macro identifier | A work in progress, identifies and inserts macros into a normalised
listing file. |
You can see sample output from the above processes here. |
|
Listing Normalizer | Converts a zOS HLASM produced listing to a normalized format for use
by our other utilities. |
Listing comparator | Compares two normalized listings. |
Listing to Source converter | Converts a normalised listing into source code to be re-used as
input to the High Level Assembler. |
You can find more detail about these utilities below or you can go directly to a description of the procedure for recoverying or validating assembler source code using our services.
This simple utility extracts the loadmodule information from both the directory and the PDS member ready for use by the dis-assembler.
A key element to our services, the dis-assembler:
You can see sample output produced by the disAssembler here.
Before comparing disAssembled code with supplied output from an existing HLASM produced listing, that listing must be normalized. That is to say the output Object code will be placed contiguously within the listing. This means:
Compares two (normalized) listings on an object code basis allowing discrepancies to be shown within the context of the available listings thereby making synchronization updates as easy as possible.
Once happy with a final normalized listing the appropriate source code can be easily obtained via this simple utility.