Newsgroups: comp.lang.smalltalk,comp.object
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!news.mathworks.com!news.kei.com!nntp.coast.net!harbinger.cc.monash.edu.au!news.cs.su.oz.au!tmx!news.tmx.com.au!news
From: Philip Haynes <p.haynes@oose.com.au>
Subject: Re: Static analysis of Smalltalk
Message-ID: <31004F7F.574@oose.com.au>
Nntp-Posting-Host: 203.5.19.199
Sender: news@online.tmx.com.au (System Administrator)
Mime-Version: 1.0
X-Mailer: Mozilla 2.0b4 (WinNT; I)
Content-Type: text/plain; charset=us-ascii
Organization: Object Oriented Pty Ltd
Date: Sat, 20 Jan 1996 02:12:15 GMT
References: <DKx1sC.EI4@cf.ac.uk> <yf3ybrbxnz3.fsf@sabi.demon.co.uk>
		<agesen.821726405@CS.Stanford.EDU> <yf3ka2r36v1.fsf@sabi.demon.co.uk>
		<30FD8174.6312@oose.com.au> <yf3n37lszix.fsf@sabi.demon.co.uk>
Content-Transfer-Encoding: 7bit
Lines: 52
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:33664 comp.object:43874

Piercarlo Grandi wrote:
 
> p.haynes> Here I have found type inferencing is *actually* as opposed to
> p.haynes> *potentially* useful. I have been able to infer about 90%-100%
> p.haynes> of all message sends (depending on the method)
> 
> It's not clear to me what you mean here: perhaps that given a number of
> procedure call ("message send" to some) you can guess right the type of
> the distinguished argument(s) statically in 90-100% of the cases?

I am type inferencing the receiver of the message so that I can create call
graphs and hence examine the structures in the system.


> p.haynes> I have to say I must agree with the statement. The use of type
> p.haynes> checking also introduces more complexity into the language,
> p.haynes> which can of course decrease reliability. Have you seen an
> p.haynes> papers demonstrating the reliability of a system improves with
> p.haynes> type constraints?
> 
> Frankly, yes: but the demonstration is that it *can only increase*, but
> the gain is not quantified.

Do you have a reference for this? I would be interested in the experimental
method they used to make such a claim.

 
> p.haynes> I am thus looking to implementing a type checking component as
> p.haynes> a prelude to unit testing, so I can spend more time finding
> p.haynes> other kinds of bugs.
> 
> That's not a bad idea -- it is a bit like the 'lint' idea for C. One
> tool tries to run the code as fast as possible, another is a support to
> the programmer in doing lots of otherwise tedious checks.

The need for better 'lint' type tools was also identified during the
Smalltalk testing workshop held at OOPSLA 95. 


> p.haynes> Has any one else done such a defect analysis?
> 
> I have seen, for ``Smalltalk'', some reports here on News, and I'll try
> to look them up in my archives. I also remember some paper that studied
> the incidence of errors in program in Lisp & similars, and the incidence
> of dynamic type errors in delivered applications was relatively a second
> order effect, more or less for the reason you give: it's easy to make
> them, but also to find them.

If you find them, I would be interested in reading them.

Regards
Phil Haynes
