---++++ 7. SUMMARY A decompiler model has been described which was implemented and which achieved a relatively high figure of merit. There are, however, many fundamental problems which remain to be solved before decompilation can be considered as a generally accepted method of conversion. Why has there been no solution to these problems? Admittedly, they are very complex, but there has been very little visible evidence of any concerted effort to solve them. A glance at the attached bibliography contains only a few expositions on the techniques. No published account of a commercial decompiler is to be found within the last ten years [21]. The most recent survey of conversion techniques [13] indicates that a general solution for decompilation, will not be seen within five years (from 1978). This seems optimistic considering the amount of published material on the subject. The problems remaining cannot be solved without a firm foundation which goes far beyond that which now exists. The problems which remain to be solved are not unique to decompilation as a conversion tool. They appear in all aspects of software development from definition and design through maintenance and evolution of systems. With the explosion of hardware technology during the last decade and that predicted for the next, and with the predicted shortage of software professionals, conversion aids and portability will become increasingly important, if not imperative, for the advancement of software development. Innovation by major computer vendors is seriously threatened by the monumental conversion process required of its customer base that new hardware and software systems have been canceled short of implementation or release. All the while, more machine dependent software is produced by computer vendors, users, and software houses. The cost of a solution is high -- the cost to do business without a solution is even higher. ---++++ BIBLIOGRAPHY 1. Allen, F.E., Cocke, J. _A Program Data Flow Analysis Procedure_. CACM 19,3, (Mar 1976) pp 137-147. 2. Baird, G.N. and Johnson, A.L. _System for Efficient Program Portability_. Proc. AFIPS Natl. Comp. Conf. Expo. Vol. 43 (1974) p 423-429. 3. Barbe, Penny. _Techniques for Automatic Program Translation_. Software Engineering, Vol. 1, 1970, p 151-165. (CR21549). 4. Boulton, P.I.P. and Goguen, J.R. _A Machine Description Language_. Computing Journal (CB) 22,2, p 132-135, 1979. 5. Boyce, Raymond F. _Topological Reorganization as an Aid to Program Simplification_. PhD Thesis, Purdue University, June 1972. 6. Brown P.J. (Ed) _Theory of Program Portability_. Software portability: An Advanced Course, Cambridge Press, 1977, p 7-19. 7. Buck, B.W., Evans, D.J. (Ed). _Conversion - a Doddle or a Disaster?_ Software World, Software 73, 1974, p 149-153. 8. Cartmell, D.J. _The Intermediate Language (IL) Table_. TM-555/050/009. Systems Development Corp., Santa Monica, California, 1972. 9. Dahlstrand, I; Cowell, W. (Editor) _A Study of Portability in Technical and Scientific Computing_. Portability of Numerical Software, Springer-Verlag-Hill, p 529-539. 10. Dellert, G. _A Use of Macros in Translation of Symbolic Assembly Language of One Computer to Another_. CACM 8,12 (Dec 1963) p 742-748 (CR9336). 11. Frailey, Dennis J. _A Study of Code Optimization Using a General Purpose Optimizer_. PhD Thesis, Purdue University, Jan 1971. 12. Friedman, Frank L. _Inverse Compilation Feasibility_. Proc. ACM'74, San Diego, (Nov 1974) p 750. 13. Fry, James P., et al. _Assessment of the Technology for Data and Program Related Conversion_. Proc. AFIPS Natl. Computer Conf. Expo., Vol 47, 1978, p 887-907. 14. Gaines, R. Stockton. _On the Translation of Machine Language Programs_. CACM 8,12 (1965) p 736-741. 15. Gordon W.L. _Liberator, The Concept and the Hardware_. ACM Symp. Reprogramming Problem, Princeton, New Jersey, June, 1965. 16. Graham S. _The Semi-Automatic Computer Conversion System (SACCS)_. ACM Symp. Reprogramming Problem, Priceton, New Jersey, June, 1965. 17. Gunn J.H. _Problems in Programming Interchangeability_. Symbolic Languages in Data Processing, Gordon and Breach Science Publ., New York, 1962, p 770-790. 18. Halstead, Maurice H. _Elements of Software Science_. Operating and Programming Systems Series, Elsevier, 1977. 19. -------. _Machine Independence and Third Generation Hardware_. Proc. Spring Joint Computer Conference, 1967, p 587-592. 20. -------. _Machine Independent Computer Programming_. Chapter 11, Decompiling. Spartan Books, Washington D.C., 1962. 21. -------. _Using the Computer for Program Conversion_. Datamation (May 1970) p 125-129. 22. Halstead, Maurice H. and Bayer, Rudolf. _Algorithm Dynamics_. Purdue University, May, 1972. 23. Hollander, Clifford R. _Decompilation of Object Programs_. PhD Thesis, Stanford University, Jan 1973. 24. -------. _A Syntax-Directed Approach to Inverse Compilation_. Proc. ACM'74, San Diego, Nov 1974, p 750. 25. Heacox, H.C. _RDL: A Language for Software Development_. ACM SIGPLAN Notices 12,12 (Dec 1979). 26. Hopwood, Cregory L. _Inverse Compiling for Program Documentation_. Proc. ACM'74, San Diego, Nov 1974, p 751. 27. -------. _Decompilation_, PhD Dissertation, Dept. of Information & Computer Science. U of Calif., Irvine, March 1978. 28. Housel Barron C. _A Study of Decompiling Machine Languages into High Level Machine Independant Languages_. PhD Thesis, Purdue University, August 1973. 29. -------. _A Unified Approach to Program and Data Conversion_. Proc, Intl. Conf. on Very Large Data Bases, Oct 1977, p 327-335. 30. -------. _On Inverse Translation of Machine Language_, Proc. ACM'74, San Diego, Nov 1974, p 752. 31. Housel, Barren C. and Halstead, M.H. _A Methodology for Machine Language Decompilation._ IBM Research Report #RJ1316, Dec 1973. 32. IBM. _1400 Autocoder to COBOL Conversion Aid Program._ (360 A-SE-19x), Version 2 Application Description Manual, (GH29-1352-2), White Plains, N.Y. IBM 1967. 33. Lichstein, Henry A. _When Should You Emulate?_ Datamation. November, 1969, P 205-210. 34. Lowry, Edward S. and Medlock, C.W. _Object Code Optimization._ CACM, January 1969, p 13-23. 35. McEwan, A. _An Atlas Autocode to Algol 60 Translator._ Computer Journal 9,4 (Feb 1967) p 353-359, (CR12746). 36. McKeeman, W.M. _Peephole Optimization._ CACM 8 (July 1965), p 443-444. 37. Mendicino, Sam F.; Hughes Robert A; Martin, Jeanne T.; McMahon, Frank H.; Ranelletti, John E.; and Swakenburg, Richard G. _The LRLTRAN Compiler._ CACM, Nov 1968, p 747-755. 38. Mock O.; Olsztyn, J.; Steel,T.; Teitter,A,; and Wegstein,J. _The Problem of Programming Communications with Changing Machines: A Proposed Solution._ CACM 1,8 p 12-18; 1,9 p 9-15, (1958). 39. Morenoff, E. _The Transferability of Computer Programs and the Data on Which They Operate._ Proc. AFIPS Spring Joint Computer Conf., 1969, p 609-610, AFIPS Press, Montvale, New Jersey, 1969. 40. Morenoff E. and McLean, J.B. _An Approach to Standardizing Computer Systems._ Proc. Natl. ACM Conf., Washington, D.C., 1967, p 527-535, MOI Publ., 1969. 41. Nunamaker, J.F.,Jr. Nylin, W.C.,Jr.; and Konsynski, Benn, Jr. _Processing Systems Optimization Through Automatic Design and Reorganization of Program Modules._ Purdue University, 1972. 42. -------. _A Methodology for the Design and Optimization of Information Processing Systems_, Proc, Spring Joint Comp. Conf. 1971, p 238-294, 43. Nylin, William C., Jr. _Structural Reorganization of Multipass Computer Programs._ PhD Thesis, Purdue University, June, 1972. 44. Oliver, Paul. _Guidelines to Software Conversion._ Proc. AFIPS Natl. Computer Conf. Expo., Vol 47, 1978, p 877-886. 45. Olsen, T. _Philco/IBM Translation at Problem-Oriented, Symbolic and Binary Levels._ ACM Symp. Reprogramming Problem, Princeton, New Jersey, June, 1965. 46. Opler, A. _Automatic Program Translation._ Datamation, 9,5 (1963) pp 45-48. 47. Opler, A., et al. _Automatic Translation of Programs from One Computer to Another._ Information Processing, 1962, North-Holland Publishing Co., Amsterdam, 1963. p 550-553. 48. Pazel, D.P. _Mathematical Construct for Program Reorganization._ IBM Journal of R&D., 19,6 (Nov 1975) p 575-581. 49. Sassaman, W.A. _A Computer Program to Translate Machine Language into FORTRAN._ Proc. Spring Joint Computer Conf. 1966. p 235-239. 50. Su, Stanley Y.W. _Applications Program Conversion due to Data Base Changes._ Proc. 2nd Intl. Conf. on Very Large Data Bases, 1977. p 143-157. 51. Teichroew, D. and Hershey, E.A. _PSL/PSA: A Computer Aided Technique for Structured Documentation and Analysis of Information Processing Systems._ IEEE Trans. Soft. Eng. 3,1 (1977), p 41-48. 52. Weller, Maria F. _A Pragmatic Look at Decompilation._ Proc. ACM'74, San Diego, Nov 1974, p 753. 53. Williams, Douglas A. _Conversion at Lockheed Missiles and Space._ Datamation, January 1967, p 39-45. 54. Wilson, Donald J. and Mossr David J. _CAT; A 7090-3600 Computer-Aided Translation._ CACM 8,12 (1965) p 777-781. 55. Wolberg, J.R.; Rafal, M. _CONVERT - A Language for Program and Data File Conversions._ Software Practice and Exp. 8,2 (Mar-Apr 1978) p 187-198. ----- Copyright © 1998 Bill Caudle, All Rights Reserved.
CategoryDecompilation