* reverse engineering
@ 1996-11-05 0:00 William Frye
1996-11-07 0:00 ` Art Schwarz
0 siblings, 1 reply; 8+ messages in thread
From: William Frye @ 1996-11-05 0:00 UTC (permalink / raw)
I am currently interested in doing reverse engineering on a sizable system,
does anyone know of a program that enables one to pull off the logical
constructs (if-then else, case etc.) from an Ada program and write them to
a test case matrix? Can YAC or Bison be used for this purpose?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: reverse engineering
1996-11-05 0:00 reverse engineering William Frye
@ 1996-11-07 0:00 ` Art Schwarz
1996-11-08 0:00 ` Stephen Leake
0 siblings, 1 reply; 8+ messages in thread
From: Art Schwarz @ 1996-11-07 0:00 UTC (permalink / raw)
In article <55ndb9$t02@news1.mnsinc.com>, wfrye@mnsinc.com (William Frye) writes:
>I am currently interested in doing reverse engineering on a sizable system,
>does anyone know of a program that enables one to pull off the logical
>constructs (if-then else, case etc.) from an Ada program and write them to
>a test case matrix? Can YAC or Bison be used for this purpose?
With respect to YACC(Bison)/LEX: It is possible to construct a parser
for Ada and pick out the constructs desired. There are copies of the
Ada syntax in various repositories - tho' I don't have their names.
However, it is probably 'cheaper' to look towards an existing toolset
for this capability. As a start, there is a Ada Static Code Analyser
at "Home of the Brave Ada Programmers" at http://www.adahome.com. You
can modify the code (I think that it's available) and change the reporting
requirements from an 'analysis' to whatever you want.
The rationale behind suggesting that a static code analyser be used is that
these analysers typically construct flow-graphs of programs and these flow-graphs
naturally partition using branch statements (goto's, conditionals, case statements,
looping constructs, etc.). It would then seem to be a good fit for your
application.
art schwarz
schwarza@gdls.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: reverse engineering
1996-11-07 0:00 ` Art Schwarz
@ 1996-11-08 0:00 ` Stephen Leake
0 siblings, 0 replies; 8+ messages in thread
From: Stephen Leake @ 1996-11-08 0:00 UTC (permalink / raw)
In article <55ndb9$t02@news1.mnsinc.com>, wfrye@mnsinc.com (William
Frye) writes:
>I am currently interested in doing reverse engineering on a sizable system,
>does anyone know of a program that enables one to pull off the logical
>constructs (if-then else, case etc.) from an Ada program and write them to
>a test case matrix? Can YAC or Bison be used for this purpose?
A commercial tool that writes test drivers for Ada is available from:
** Vector Software Inc. 401-295-5855
1130 Ten Rod Road
Suite E-307
North Kingstown, Rhode Island 02852
fax: 401-295-5856
http://www.vectors.com
AdaCast test framework builder
(note that there is a very different company at http://www.vector.com !)
A flow analysis tool is available from:
** McCabe Associates 800-638-6316
http://www.mccabe.com
Neither writes the test cases for you; Vector builds the test framework
and stubs, McCabe provides a flow graph and a path coverage tool.
Testing is hard work!
--
- Stephe
^ permalink raw reply [flat|nested] 8+ messages in thread
* Reverse Engineering
@ 2004-09-08 10:31 Kelvin_K
2004-09-08 16:43 ` Brian Catlin
0 siblings, 1 reply; 8+ messages in thread
From: Kelvin_K @ 2004-09-08 10:31 UTC (permalink / raw)
Does anyone know of a program that will reverse engineer .exe files compiled
with ada back into ada source code?
With out going into detail, I have legitimate and legal reasons for doing
this.....
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Reverse Engineering
2004-09-08 10:31 Reverse Engineering Kelvin_K
@ 2004-09-08 16:43 ` Brian Catlin
2004-09-08 17:33 ` tmoran
0 siblings, 1 reply; 8+ messages in thread
From: Brian Catlin @ 2004-09-08 16:43 UTC (permalink / raw)
"Kelvin_K" <Kelvin_K@hotmail.com> wrote in message
news:BcB%c.39735$cb5.21132@hydra.nntpserver.com...
> Does anyone know of a program that will reverse engineer .exe files compiled
> with ada back into ada source code?
>
> With out going into detail, I have legitimate and legal reasons for doing
> this.....
Going from Ada (or any other high-level language) to an executable file,
involves a loss of information on a large scale. So, trying to go from the
executable back to the Ada source isn't possible.
It is similar to trying to convert a load of hamburger back into a cow
-Brian
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Reverse Engineering
2004-09-08 16:43 ` Brian Catlin
@ 2004-09-08 17:33 ` tmoran
0 siblings, 0 replies; 8+ messages in thread
From: tmoran @ 2004-09-08 17:33 UTC (permalink / raw)
>Going from Ada (or any other high-level language) to an executable file,
>involves a loss of information on a large scale. So, trying to go from the
>executable back to the Ada source isn't possible.
Such a tool is called a "decompiler". It does not, of course, go back
to the original source code, but it can generate source code which is
equivalent. Given the symbol table (also used by debuggers), it can
generally use the correct names. You can think of a debugger generated
assembly listing as a sort of mini decompilation. Things like jump
vectors can be difficult, because they make it hard to distinguish data
and code.
I helped on a decompiler project in my very first programming job, some
time ago. The intent was to take existing executables, whose source had
been lost, or which were programmed in assembly for a particular machine,
decompile them, and then maintain and/or port the resulting source code.
It was do-able, but the results were less than stellar.
I don't know of any decompiler to Ada. The last time I googled for
"decompiler" there was some more recent info, including, IIRC, a PhD
thesis project.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Reverse engineering
@ 1996-10-28 0:00 David Tannen
1996-11-07 0:00 ` Ken Nelson
0 siblings, 1 reply; 8+ messages in thread
From: David Tannen @ 1996-10-28 0:00 UTC (permalink / raw)
I am looking for a tool that will reverse engineer Ada source
code and create a procedure calling sequence. I have access to
Cadre Teamwork (and reverse engineering) which I don't think will
do this. Also I have access to Rational Apex, which I think might
be able to do this with a custom script.
Any help would be appreciated.
David Tannen Prime Email: p26332@case3.geg.mot.com
Motorola-SSTG Backup Email: p26332@gegpo11.geg.mot.com
MS: H1218 Member: SERC, TeamAda and TeamOS/2
8201 E. McDowell Rd. Phone: (602) 675-1074
Scottsdale, Arizona 85252 Beeper: (602) 310-9188
----------------------------------------------------------------------
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Reverse engineering
1996-10-28 0:00 Reverse engineering David Tannen
@ 1996-11-07 0:00 ` Ken Nelson
0 siblings, 0 replies; 8+ messages in thread
From: Ken Nelson @ 1996-11-07 0:00 UTC (permalink / raw)
Hi David,
In article <1996Oct28.215921.18820@schbbs.mot.com>, p26332@case3.geg.mot.com
wrote:
>I am looking for a tool that will reverse engineer Ada source
>code and create a procedure calling sequence. I have access to
>Cadre Teamwork (and reverse engineering) which I don't think will
>do this. Also I have access to Rational Apex, which I think might
>be able to do this with a custom script.
>
>Any help would be appreciated.
Our company offers a few ways to handle this question, one
as an adjuct to Teamwork/Ada, others as stand-alone tools.
Adjunct to Teamwork/Ada
====================
We wrote the revAda tool that you are probably using
for ASG reverse-engineering into Teamwork/Ada. Recently
we've introduced a companion product called AdaNotes, which
reverse-engineers Ada back into Teamwork/Ada Note fields.
One of the Notes reverse-engineered is "Invocation Tree". Once
in the Teamwork/Ada note it can be used with the Teamwork documentation
generation tools.
Email me if you would like more info about this, or contact your Cayenne
(formerly Cadre) salesperson.
Stand-Alone
==========
If you want this textually then our ADADL Ada static analyzer produces this
and a couple dozen other trees, cross-references, pretty-prints, etc....
If you want this graphically, then our GrafBrowse tool provides call-by
and/or invocation tree (interactive or in postscript form) as well as
Booch-Buhr style ASGs. It is also integrated with Teamwork/Ada.
For examples of this see http://www.scitools.com
Hope this helps.
Regards,
Ken N.
------------
Ken Nelson
nelson@scitools.com
(603) 448-6960
(603) 448-6961 (fax)
http://www.scitools.com
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2004-09-08 17:33 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-11-05 0:00 reverse engineering William Frye
1996-11-07 0:00 ` Art Schwarz
1996-11-08 0:00 ` Stephen Leake
-- strict thread matches above, loose matches on Subject: below --
2004-09-08 10:31 Reverse Engineering Kelvin_K
2004-09-08 16:43 ` Brian Catlin
2004-09-08 17:33 ` tmoran
1996-10-28 0:00 Reverse engineering David Tannen
1996-11-07 0:00 ` Ken Nelson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox