[Openmcl-devel] Static Program Analysis
bfulg at pacbell.net
Thu Jan 11 16:42:54 EST 2007
If I remember correctly, Stalin is a Scheme compiler -- so it falls into the CMUCL/SBCL optimization camp.
I'm curious if any tools exist to perform analysis on Lisp code so that a user could the review the program to deal with specific coding errors.
----- Original Message ----
From: Hamilton Link <helink at sandia.gov>
To: Brent Fulgham <bfulg at pacbell.net>; openmcl-devel <openmcl-devel at clozure.com>
Sent: Thursday, January 11, 2007 1:27:05 PM
Subject: Re: [Openmcl-devel] Static Program Analysis
I don't know about lisp, but there are such things for scheme... Stalin
is one that springs to mind, if I am recalling correctly what it does.
Brent Fulgham wrote:
> I was reading that the Common Lisp standard supports various type declarations that may be used by the compiler to perform some optimizations. I also know I've seen various messages from the OpenMCL compiler that it performs some type of analysis, since it identifies unreferenced variables, undeclared functions, etc.
> I'm curious if any tools exist in Common Lisp (or perhaps are already part of the compiler) that perform static analysis, along the lines of the Erlang Dialyzer (http://www.it.uu.se/research/group/hipe/dialyzer/) or even DrScheme's MrSpidey (http://www.cs.brown.edu/~sk/Publications/Papers/Published/ffkwf-mrspidey/).
> These tools can identify cases where a user attempts to execute non-functions, perform math on non-numbers, etc.
> The only thing a Google search turned up for me was an ancient (circa mid-80's) reference to an internal HP project called "MicroScope". I don't see much else that is more recent. The concensus on the #lisp IRC channel was that some static analysis is done in SBCL/CMUCL, but no one knew of any external tools.
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel