Missing Source Code?greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread
I read some time ago that many organizations do not have complete source code listings for their systems and applications. Also, I understand that large systems are built upon many different computer languages.
These facts lead to several questions:
1. Does anyone know the approximate percentages of missing source code in the public and private sectors?
2. Since so many languages have been used over the decades, have the compilers for the various languages been kept up-to-date?
3. If remedial programmers must resort to disassembled code rather than working with documented source code, how much more difficult is their job?
Thanks in advance for any answers!
-- Ken Davis (firstname.lastname@example.org), August 20, 1998
I have worked for a mainframe shop in the UK (well-known US company) where they had 'mismatched' the source and object code. You normally have test libraries and production libraries for source and object. There should be a foolproof procedure to implement test versions into production when required. Version control is essential. This company had managed, through lax or inappropriate release procedures to get themselves in a situation where they did not know whether the production source matched the object, a similar problem to losing it. This had happened on quite a substantial number of programs which although rarely changed in the normal course of program maintenance when y2k came along obviously this situation changed. When I was there they did not have a solution, there may be a way of reconstructing the source by using a de-compiler, though that would produce incomprehensible source code. I'm not sure what products were available and how good they may be. They were talking about reconstructing the source by taking what they thought was the latest version then going through all the change specifications over a period of time. This would take AGES to just get a source program, could be days/weeks, then you could never be sure you had reconstructed the correct version. You would also have to test the program for its full functionality as if you were implementing a brand new module. This company did not have a testbed either, I left shortly afterwards.
-- Richard Dale (email@example.com), August 21, 1998.
1. I doubt there are any good numbers available for missing and inaccurate code because these problems are often not discovered up front. A company knows it has 8,000 programs to fix, but it doesn't discover until it's already into the repair effor tthat it no longer has good source code for 427 of them. I'm guessing that there are still a lot of instances of this problem waiting to be discovered.
2. No, compilers have not always been kept up to date. Furthermore, many programs that were compiled years ago using previous releases of complilers and never changed may not compile under the new compielrs that do exist.
3. Darned close to impossible, given the time frames. (Actually, I would imagine it to be darned close to impossible anyway.) Also, how are you going to get the "disassembled" listings? In this situation it may be far easier and more effective to either write a complete replacement or, when possible, buy a replacement from somebody else. This doesn't always work, of course, but it might for some.
-- Paul Neuhardt (firstname.lastname@example.org), August 21, 1998.
I worked for a major Wall Street firm several years ago. I had to work on code which had been 'decompiled', via a software tool. While the resulting source code was 'readable', it was almost impossible to perform maintenance on it. People assign names to variables and procedures that have rhyme and reason- machine code which has been reconstituted has nothing like that. No frame of reference. It was like reading a book in which there were chapters and pages, but the sentences where jumbled up and strewn on pages.
-- ed condron (email@example.com), August 21, 1998.
In computers since 1965. We kept the programs on cards in file cabinets. There are very few card readers now. We also kept the listings of the source codes in files. Most of those compilers do not exist today. Every time a new system was written, it had to be in another language. I have had experience with 127 languages. First learn them and then try to write in them. When I stored the programs on disk it was the 5.25 disk on a Polymorphic 8813 computer. I still have the disks, but the computer is in a Museum - CMA in San Diego... The reason is that I cannot find a working computer. This was written in Polymorphic Basic unlike any other basic existing. The compiled programs were in Pascal. Where does this exist? NO - you will not be able to decompile all the programs in a year! NO - I have not been able to locate a POLYMORPHIC system... NO - the disks are not readable on any other system. Think that is bad---many of the dates are kept in the bios of the chips and they are sealed at the factory!!!!!!!!!!!
-- Jerry McGovern (firstname.lastname@example.org), August 27, 1998.
I found an interesting article about this problem:
-- Ken Davis (email@example.com), September 01, 1998.