Generics

Lex Spoon lex at cc.gatech.edu
Mon Sep 29 14:54:48 UTC 2003


goran.krampe at bluefish.se wrote:
> Alexandre Bergel <bergel at iam.unibe.ch> wrote:
> > Hello Goran!
> > 
> > > There have been at least one major investigation that (if my memory serves)
> > > showed that only 3% of the errors that the developers made when developing a
> > > system was found by the compiler using static type checking. I would guess that
> > > the overhead of maintaining that static type system in the code took much more
> > > time than it was worth.
> > 
> > Where did you get this value of 3%? Is there any paper which describe this experiment?
> 
> Unfortunately I can't seem to find that report anywhere on the net. It
> was a long time ago. Sorry for mentioning something that I have no
> source for. :-) I think it was some kind of report from EDS, but I am
> not sure at all.
> 

I'd love to know about it, as well.

By the way, there is a lightweight experiment that anyone can do for
themselves, if you have a bug log available.  Go through the last n bugs
(50, 100, 200, whatever your patience allows), and mark whether they
would be have been solvable through a static type checker, i.e. the
error involved treating an Apple as a Banana.

I tried this once and went through the 40 most recent Squeak [FIX]
reports, and indeed found that there are quite few type errors.  At the
top of the list, IIRC, were things like:

	- sending messages no nil, i.e. uninitialized variables

	- the program simply does the wrong thing.  It doesn't crash.


40 is too few to publish, and I never have free time to do a better job,
so I didn't share the "result" very widely.  But try it yourself.  It's
nice having a feel for the things that go wrong.


-Lex



More information about the Squeak-dev mailing list