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.
More information about the Squeak-dev