Frequently Asked Questions
How to Send a
Send Your Programs:
The Source Recovery Company recovers compilable COBOL and
ASSEMBLER source code from machine-readable executable
Use the contact form to obtain instructions for obtaining
free estimates for programs.
Also, please include your full company name, address, phone
and fax numbers in your email so we will have the proper
information to complete our proposal.
In order to estimate accurately, we need a particular type
Please send us:
1. An image of the mainframe object code-that is, the
executable load module . .
2. . . .in EBCDIC . . .
3. . . .with no carriage-return/linefeed.
Be aware that many download utilities automatically convert
files from EBCDIC to ASCII so the data can be used on your
PC. In addition, many download utilities automatically add
the carriage-return/linefeed after each record received from
the mainframe. The technology that SRC uses to estimate and
recover your code works properly only when the file is
EBCDIC with no carriage-return/linefeed.
Here are two common ways to download programs in the format
we can use:
• Microsoft Windows
If you use Microsoft Windows, your PC probably connects to
the mainframe using a 3270 emulator program. These programs
usually have menus to upload and download files from the
mainframe. Select the "binary" option and make sure the
check boxes or options settings for character translation
and record formatting indicate EBCDIC (or no translation),
and no carriage-return/linefeed.
• IBM SEND and RECEIVE utilities
If you use the IBM SEND and RECEIVE utilities to copy files
to and from the mainframe, these utilities have parameters
that translate EBCDIC into ASCII and insert ASCII
carriage-return/linefeeds. The following details the command
which correctly copies an executable MVS load module from
the mainframe to a PC for transmittal to ESTC. Type the
upper case exactly as specified; replace the lower case with
the specifics of your load module and site conventions:
The single quotes are required. Replace "d:" with the TSO
session number in your shop. The above command copies the
MVS load module named "lostprog" from the MVS DASD
partitioned data set named "your.mainframe.partitioned.dataset"
down to the PC and stores the result in the PC directory
named "yourpcdir" as the file named "lostprog.lod". By
default, RECEIVE copies the file the way we want it-in
EBCDIC, with no carriage-return/linefeed.
you recover copybooks?
caveat of recovering copybooks is that it may require multiple programs
to be researched in order to accurately define every field. Any
related source code that is available is requested along with any
appropriate executable programs.
Does SRC Recover Missing Source Code?
A. Before the ReSource
technology was developed, many programmers and analysts thought
it was impossible to recover missing source code. Here's how SRC
accomplishes the seemingly impossible:
Step 1. Disassembly.
When a program is compiled,
source code is translated into a binary representation. During disassembly,
this binary object file is converted into psuedo Assembler statements
so that ReSource can work directly with the machine instructions
and their operands.
Step 2. Pattern Matching.
Next, the disassembled machine
instructions are matched against known sets of instructions created
from COBOL statements. ReSource's automated analyzer compares the
disassembled machine instructions with code patterns from its extensive
repository, which includes various dialects of COBOL. Since COBOL
statements must consistently compile into a corresponding pattern
of machine code, a specific set of machine code will always represent
the same COBOL statement.
The resulting pattern-matched source
code contains all of the appropriate COBOL statements and references
to operands used in those statements.
Step 3. Operand Analysis.
Pattern matching is ideal for
recovering COBOL procedure statements, but does not provide much
information about other program elements.
Operands of the machine instructions
are detected during disassembly and decompilation. An analysis of
the operands recovers data items in file descriptions, working storage
and linkage sections. These data items are recovered in a manner
similar to procedure statements.
Step 4. Validation.
Once the new source has been created, that source is compiled
using the same version of compiler and same compile options as the
original executable module. The result of this compile is then compared
to the disassembled version of the original executable. Discrepancies,
if any, are resolved prior to returning the new source to the customer.
Step 5. Supporting Information.
External clues may assist in
completing the source code reconstruction. Supporting information
may include file layouts, source of copybooks and related programs
along with JCL, documentation, and program and application specifications.
This step enables SRC analysts to attach
meaningful data and paragraph names that are either the original
names or are similar in style. This type of service is offered in
addition to the basic recovery service.
The source code recovered by ReSource
maintains the original logic of the program. SRC guarantees the
code be functionally equivalent to the original executable source
SRC technical strategy is based on
the assumption that all executable object code that customers deliver
to SRC results from a clean compile. This means the original source
code at the time it was compiled was syntactically valid. The executable
object code contains everything required by the computer to execute
the instructions contained in the original source code and nothing
superfluous. The source code can be run on an IBM mainframe or equivalent
using the IBM 360/370/390 instruction set.
The ReSource technology regenerates
COBOL and Assembler source code for IBM MVS mainframe environment.
It can handle a variety of COBOL dialects including: COBOL II, OS/VS
COBOL, IBM ANS COBOL, and CA/OPTIMIZER (Capex) COBOL. In addition,
ReSource can recover source code from BMS Maps, CICS, DLI,
IMS, DB2, SQL and Report Writer.
For a more thorough explanation, see
Solutions For Recovering Lost Source Code and other articles in
our "News" section.
Back To Top
are the benefits of source code recovery?
provides better results in less time and for less money than other
options. Compared with other options, ReSource/Recovery:
- Saves time. Recovery takes a fraction
of the time of other options.
- Saves staff time. No programmers
need to be pulled off existing projects to re-build the application.
- Saves money. Recovery costs a fraction
of the cost of rewriting code.
- Reduces risk. 100% functionality
- Preserves investment in the application
- Preserves the logic of the original
- Offers guaranteed functionality.
Back To Top
does recovery compare with other options?
A. Organizations that are missing
source code have only three options:
- Scrapping or replacing the application.
- Rewriting the code.
- Recovering the code.
Scrapping or replacing the application.
Unless the application software needs to be replaced, scrapping
an entire application because a few source programs are missing
is a costly overreaction. If the application is replaced with an
off-the-shelf system, extensive retrofitting is needed. If a replacement
is created in-house, it will tie up programmers when they are needed
to address other issues.
Rewriting code is also costly and time consuming. Code specification
and design are especially complicated, because the new code must
fit the missing modules exactly. Add the time needed for development,
testing and integration, and you'll understand why the cost for
rewriting COBOL ranges from $10 to $60 a line. With demand for programmers
increasing, prices are escalating.
Example. An organization with 30 million
lines of COBOL is missing 300,000 lines, or 1% of its source. The
missing code represents 2,800 function points (FPs). If each FP
takes 20 hours to recover at a cost of $894, rewriting the code
will take 56,000 hours and cost $2,505,000. That's 28 years of work,
or two years for 14 programmers.
Source code recovery costs less than other options, takes less time,
preserves the original logic of the program and offers many other
The Source Recovery Company can recover
your missing code - and you don't have to worry about losing any
functionality. With the ReSource proprietary technology and SRC's
team of experienced recovery experts, the recovered program is guaranteed
to perform exactly like the original.
The ReSource proprietary source recovery
process, which uses pattern recognition algorithms to examine compiled
object code, has been used commercially since 1991 to help some
of the world's largest corporations and government agencies.
Back To Top
there other uses for source code recovery?
A. There are many uses for
the source code recovery process. SRC sees itself as being in the
asset management business - a company's source code portfolio is
among its most important assets, and those assets need to be protected.
The source code recovery process can be used for any programming
task using COBOL; Assembler; CICS, DB2 or IMS.
- Fixing audit violations
- Migration or conversion of applications
- Currency conversions
- Metric conversions
- Zip code and area code conversions
Back To Top
Q.How can billions of lines of source
code be missing?
A. There are many reasons
why companies and agencies lose their source code.
Here are just a few:
- A company merges with, or is acquired
by, another company
- A consultant is brought in on a
- An archival tape is discarded too
- A backup is never saved;
- A key employee leaves without documenting
- A project is reassigned and libraries
are not completely transferred.
- HDA Crash
Back To Top
the source code recovery process be used for programs outside the
IBM mainframe environment?
A. While we believe the ReSource™
technology can be used to recover source code in virtually any environment,
we have chosen to invest our resources into recovering source code
in the IBM mainframe environment, because it covers most business
applications worldwide. Since every platform has its own instruction
set which is the foundation for its operation, our ReSource™ technology
is limited to supporting the IBM System 360/370/390 instruction
set. See our links page for companies that provide similar services
on other platforms.
Back To Top