[Prev][Next][Index][Thread]

Re: Question about Bugs in Executor and what Ardi does about them



>>>>> "Andreas" == Andreas Sikkema <a.t.sikkema@student.utwente.nl> writes:
In article <314EA718.3FF3@student.utwente.nl> Andreas Sikkema <a.t.sikkema@student.utwente.nl> writes:


    Andreas> Hi, I'm not that an Executor user, but I have seen it
    Andreas> many times.  Still, I'm interested in all this so I read
    Andreas> this newsgroup alot.

We're glad we can hold your interest.

    Andreas> My question is, everytime a bug is discovered and Ardi
    Andreas> fixes it, is this bug just removed so that only one
    Andreas> program has been helped or are more structual measures
    Andreas> being taken.

It depends on the nature of the bug.  In theory, any time we fix a bug
the fix could help out other programs.  In reality bugs largely fall
into two categories: application specific and penetrating.

Application specific "bugs" often are due to applications being
programmed incorrectly, but just happening to work on real Macs.  An
example is a program that calls the OS call "GetTrapAddress" with the
contents of memory location 0xA198 and then calls GetTrapAddress with
the contents of memory location 0xA89F and then compares the two
addresses returned.  This is a bug in the program in question -- they
should be passing the literal values 0xA198 and 0xA89F to the
GetTrapAddress calls, but instead they are passing the contents of
these addresses.  Memory is laid out on a real Mac in such a way that
their incorrect calls still yields values that work.  Executor has
been modified so that the right thing happens under it, too.  If you
don't program a Mac, it won't be obvious that what they're doing is a
bug, but trust me, it is, *and* it's incredibly unlikely that any
other programs are going to have this same bug.

Penetrating bugs are ones that potentially affect many programs, such
as Executor using a different algorithm for mapping wdef part codes to
FindWindow result codes.  Once we realize what we were doing wrong we
make the appropriate change and then all the programs that had
problems with our old way of doing things will suddenly work.

    Andreas> If not structual measures have been taken, Executor
    Andreas> should grow larger than necessary I think.

If I understand what you are saying, you're correct, but we *do* make
structural changes as appropriate.

    Andreas> Thanx and keep up the good work

Thank you for your interest.

    Andreas> Andreas Sikkema a.t.sikkema@student.utwente.nl

--Cliff
ctm@ardi.com


References: