Potential improvements to Yvette
This page documents potential improvements that might be made to Yvette. If you're
interested in contributing, you should probably be on one of the
mailing lists which talk about Yvette itself.
Dealing with multiple versions
One of the most troublesome aspects of Yvette is handling multiple versions. If release
1.0 of some package has been released, and reviews have accumulated at various points of
its code, how do we deal with the release of version 2.0?
Several options are apparent:
- Do not move any reviews from the old release to the new release. In essence, this
throws them away, since it's presumed that most people will look only at the newest
release available.
- Try to move reviews from one release to another. This has its own set of problems:
- Moving a review from any region (line, subroutine, file, or tree of files) to
a region which is not identical is clearly questionable.
- Even moving a review from a region in the old release to a region in the new
release which has not changed is questionable---perhaps the review(s)
of that region said what they did because of that region's context. For
example, if a function is known to be called in a particular safe way, and
nothing that that function does can make it become unsafe, it may have a
review that says, "Looks okay like this." But if its caller suddenly changes
its behavior, that review may no longer apply.
- Don't move reviews, but somehow link them, so that analogous regions
in one release somehow point to the previous release, in way that makes it obvious
that this is going on. Of course, even if we do this, one question is what
analogous means: only for regions which are byte-for-byte identical? Does this
mean line numbers, or actual subroutines, even if they're moved around in the file?
What about regions that are merely close---how close is close, and what should we
do?
- What tools would make this easier? Perhaps some way of making it easy for someone
who has reviewed an old region to move a review to the new release? Such a review
would presumably still have to go through the process of getting it signed, which is
a fair amount of work; would people do this? How else could we manage the process?
Anyone with good ideas about how to deal with this situation is urged and exhorted to
discuss it on the Yvette discussion mailing list, and to
contribute code implementing this idea. If you've got a particularly good idea and sample
implementation, we'll probably buy you dinner or something as a reward...
Lenny Foner
Last modified: Sat Mar 27 16:22:09 EST 1999