Re: Debuggers

<harvard!rutgers!spam!ames!ucbcad!ucbvax!decvax!virgin!jbd>
Fri Mar 13 04:58:33 1987

          From comp.compilers

Related articles
Debuggers think!cullvax!drw%eddie.mit.edu (1987-03-07)
Re: Debuggers harvard!rutgers!sri-unix!ctnews!mitisft!markb (1987-03-12)
Re: Debuggers harvard!rutgers!spam!ames!ucbcad!ucbvax!decvax!vir (1987-03-15)
Re: Debuggers decvax!decwrl!mips!himel (1987-03-23)
Debuggers fabio@dcs.edinburgh.ac.uk (1991-08-08)
Re: debuggers zstern@adobe.com (1993-11-11)
Re: debuggers shyamal@seas.smu.edu (1993-11-11)
Re: debuggers wjw@eb.ele.tue.nl (1993-11-11)
debuggers ssimmons@convex.com (1993-11-11)
[4 later articles]
| List of all articles for this month |

From: <harvard!rutgers!spam!ames!ucbcad!ucbvax!decvax!virgin!jbd>
Date: Fri Mar 13 04:58:33 1987
In-Reply-To: <509@ima.UUCP>
Organization: Virgin Software Ltd. Nashua, NH

About 7 years ago I did some very preliminary studies involving the
BLISS-32 code generator while I was at Digital. I managed to convince
myself that it was possible to derive source code from the optimized
object code, however, one would have to make extensive use of
heuristics.


Unfortunately, I was unable to convince management that there was
sufficient payback to warrant a project. (I used the concept of filtering
optimized object code through a source generator, and then filtering
that back through the optimizer. They weren't interested: the existing
optimizations were good enough, and I was proposing orders of
magnitude more time to do a compile.)


The heuristics would only be good for a certain class of compilers
and their code generators. The peephole optimizers and cross jumping
done by different compilers would create an enormous explosion of
possible source codes.


I eventually came to the conclusion that there are two possible uses
of 'compiling object into source'. 1) As a study in a given compiler's
effectiveness at handling particular classes of programs. and 2)
as an analysis tool to see how a computer would execute a program.
The original thought of increasing code optimization would turn out
to be an impractical use; with a good optimizer in the first place,
you would not obtain practical results after the second iteration.


If you're interested, I'll try to dig up my notes.


--Bruce Dawson
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.