|
Utility
Performs Exact Match
of Object and Source. |
SourceFind,
which can be set to run system-wide,
solves the common problem of determining which of several
source members corresponds to the currently running program
object.
If
there is a match, SourceFind
identifies the correct source member, along with the source
file and library in which it resides.
SourceFind
2.0 ABSTRACT
DESCRIPTION
For
a variety of reasons, a system may have multiple source
versions of a compiled program object. Determining which
of these versions matches the program can be an extremely
difficult task. If a source has a last change date and
time exactly matching the program's "source file change
date and time," then a match is almost certain. Otherwise,
it can only be achieved through compilation and then exhaustive
testing.
Problems
in trying to locate a matching source through some shortcut
are not very trustworthy. Some common methods and their
relative problems follow:
- Compiling
a source and then comparing the size of the program
it generates to the original program size leaves two
problems. First, program sizes may not match even
if the source is correct because of changes to the
compiler from release to release. Second, even if
the programs do match in size, changes could have
been made which do not affect size (e.g. ADD TAXTOT
TOTNET and SUB TAXTOT TOTNET generate the same amount
of machine code).
- Using
the latest source that has been changed also is very
risky. That version might have been a very old one,
but was simply changed by the addition of a comment,
which would update the change date and time.
SourceFind
is a programmer's utility designed to resolve the problem
of matching a program to the copy of the source which
produced it. The utility combines features of two of JuggerSoft's
other licensable utilities: SourceMatch,
which locates all copies of sources whose name matches
that of the programs on a systemwide basis, and the JGSTM
RPG Decompiler, which translates machine code
back into source.
SourceFind
is a utility that locates all potential source matches.Then
it:
- Builds
the correct library list necessary to compile the source
into QTEMP;
- Matches
the source to the decompiled source of the original
program.
(The
process continues through each of the source versions
until a match is found, or until all source version have
been processed.)
- Finally,
a report is generated, listing the matches found.
Machine
Requirements
AS/400
ENVIRONMENT: The JGS utility will run on all models of
the AS/400 system. Version 3 Release 2 or above of OS/400
is required.
Highlights
Enhances/increases
user programmer productivity in several problem solving
areas:
- Determines
which of several source members corresponds to currently
running object programs.
- Allows
correct version, with comments, to be the version to
which subsequent changes are to be made.
- Allows
a system wide sweep of source for insertion into a change
management tool.
- Simplifies
migration to new platforms.
Security
Each
copy of SourceFind
is tied to a particular CPU via the system's unique
serial number to prevent unauthorized duplication of the
software. In order to decompile a program object, the
user must have *ALLOBJ authority over the objects to be
used, copied or compiled.