FAQ

How to Send a Program

Examples: COBOL and Assembler

Can you recover copybooks?

How does SRC recover missing source code?

What are the benefits of source code recovery?

How does recovery compare with other options?

Are there other uses for source code recovery?

How can billions of lines of source code be missing?

Can the source code recovery process be used for programs outside the IBM mainframe environment?


Q. Can you recover copybooks?

A. The 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.


Q. How 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 code.

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

Q. What are the benefits of source code recovery?

A. ReSource/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 is guaranteed.
  • Preserves investment in the application software.
  • Preserves the logic of the original source code.
  • Offers guaranteed functionality.
Back To Top

Q. How does recovery compare with other options?

A. Organizations that are missing source code have only three options:

  1. Scrapping or replacing the application.
  2. Rewriting the code.
  3. 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.
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.

Recovering code.
Source code recovery costs less than other options, takes less time, preserves the original logic of the program and offers many other benefits.

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

Q. Are 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.

    Examples include:

  • Fixing audit violations
  • Migration or conversion of applications or systems
  • 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 special project;
  • An archival tape is discarded too early;
  • A backup is never saved;
  • A key employee leaves without documenting a program;
  • A project is reassigned and libraries are not completely transferred.
  • HDA Crash
Back To Top


Q. Can 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