Question

We have a very important application, but so far no source code. The application was written in COBOL and a compiled version is in our production system and is running.

However, we need to migrate to a new server, and new cobol compiler. We're under the impression that we need to recompile the code to get it to work on the new server. Running the exising compiled program gave runtime memory errors.

We have some source code for the program, but it is old. Not sure what the diff is between it and the compiled program.

Okay, so the question -- what should we do?

Time is not on our side, since we have to send our old server back to get credit for it. Ideas, suggestions, crazy or otherwise? (source control is obvious and its not up to me to do it, so save the lectures)

Was it helpful?

Solution

In the short run it would probably be cheaper to arrange to keep the old server. In the semi-long run, you need to make time and budget to reengineer the program, either re-write it or see how much effort it would be to hack the old code into shape doing what the program currently does.

OTHER TIPS

Create an image of your old server. Then run the old server as a virtual machine on your new server.

However, I agree a better option is probably to keep your production server.

It's sadly. You should consult the Source Recovery Company

If your source code is relatively close to the compiled version, try this:

  • decompile new version into assembler
  • compile the old source code into assembler
  • compare
  • reconcile as best you can the differences from new version with old version, into the old souce code
  • repeat

To augment this, and probably as a second step, as it will bring the source code farther from the new compiled version, test with input data and just try reverse-engineering based on the output what would be needed to create that output. The more test input data you have the better this could work.

Good luck!

(I'm not a COBOL programmer but..) If you know what version the compiler was that compiled the original program, you could at least compile the old cobol source; if the compiled versions is identical you know the source actually is the current version.

If they differ, you could try to (somehow) decompile, or at least disassemble, the working compiled version and the freshly compiled version and use a diff tool to get an idea of how big difference there is.

crazy sugestion: COBOL DECOMPILER --> SOURCE --> NEW COBOL COMPILER...?

(edit: http://juggersoft.com - PAID cobol decompiler)

if you have the .int (intermediate) binary files you can just run on the new server, if not, them you musto to recompile.

The program could have been produced by an external resource and that person or software house or organisation could have the latest source in their repository. It may be held by your parent organisation if you have recently merged, or may be in a different or backup computer installation in your organisation. There may be a copy on the developer's user account and may not have been sent to the production or live site or someone from head office has a copy to assess and try to resolve the situation. You may have success if phone those people or you could always talk to the installation computer operator or support staff and see if they have one on mag tape, CDROM or other backup storage.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top