TypeInference: File based way of thinking
Alexandre Bergel
Alexandre.Bergel at cs.tcd.ie
Thu Jul 6 10:56:35 UTC 2006
Thanks Lex!
Alexandre
Am Jul 4, 2006 um 3:45 PM schrieb Lex Spoon:
> Info on my type inference work is here:
>
> http://www.lexspoon.org/ti
>
>
> This includes documentation and a demo image that you can download and
> play with. You can also install my inferencer from SqueakSource, but
> I have not tested it with anything newer than Squeak 3.7.
>
> The main selling point of my inferencer is that it has a serious
> attempt at being sound. I worked out a formal semantics of Smalltalk,
> and my analyzer generates correct results (upper bounds on the types)
> so long as you stay within the assumptions of the system.
>
> Garau's inferencer includes an unrealistic assumption that you do not
> have aliases, i.e. that you never have two different variables
> pointing to the same object. Wutz's SOUL-based inferencer is very
> fast but is based entirely on heuristics.
>
> I'd guess you would want to use Wutz's inferencer for browsers in
> contexts where you do not *really* need the result to be correct, and
> mine in curcumstances where an error in the inferencer is more costly.
>
>
> To return to the initial query, Damien is discussing the initial state
> of the heap. By default my inferencer assumes an initially empty
> heap--or equivalently, that the code you ask about does not use things
> in the initial heap. Often this is enough. For other cases, you
> would have to have the system consider the initial heap in some
> fashion. This is possible with my inferencer--look through the
> methods of class Inferencer--but I have not worked with it much and so
> it is immature.
>
>
> Finally, there are limits to how far any analyzer can go. For
> example, no system can allow the programmer to add and remove
> arbitrary methods and classes as the program runs. All (sound) static
> analyzers make some assumptions about the program and then find out
> what is possible given those assumptions.
>
>
> -Lex
>
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.cs.tcd.ie/Alexandre.Bergel
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
More information about the Squeak-dev
mailing list
|