Next: MrSpidey Type Display Preferences
Up: Preferences
Previous: Preferences
The MrSpidey Analysis preferences window configures MrSpidey's
analysis of programs. An example of this window is shown in
figure 3.1, and the controls are described
below.
Figure 3.1: MrSpidey Analysis preferences window
-
Accurate constant types: When this button is off (default),
then character, symbolic and numeric constants are given the types
char, sym or num respectively. If the button is on,
then these constants are typed accurately, i.e. the number 4 is
assigned the type 4, etc.
-
Constant merge size:
Large quoted values in Scheme can yield large types that significantly
increase the analysis time. To overcome this problem, MrSpidey
generates approximate types for such constants. The
Constant merge size slider controls how large constants can
get before MrSpidey starts to approximate their type.
-
If splitting: If this button is on (default), MrSpidey is
smart about conditional expressions such as
(if (number? x) ...).
MrSpidey only propagates numeric values for x in the
then-part, and non-numbers in the else-part.
-
Flow sensitivity: If this button is on (default), then
after an expression such as
(car x)
,
MrSpidey knows that the value of x must be a pair. -
Accurate analysis of numeric operations:
When this button is off (default), then numeric operations such as
+ simply return the type num. If the button is on, then
the numeric operations are typed more accurately, as described in
subsection 5.1.
-
Polymorphism:
This radio box controls how polymorphic expressions are
analyzed.
-
No polymorphism:
polymorphic annotation is ignored;
-
Simplify constraints:
The constraint system for the polymorphic expression is simplified
(see below); and
-
Reanalyze:
The polymorphic expression is re-analyzed for each polymorphic
reference.
-
Polymorphism simplification algorithms:
This radio box controls which constraint simplification algorithm is
used to simplify the constraint system of polymorphic expression,
provided the Polymorphism control is set to Simplify
constraints. These constraint simplification algorithms are
described
in [4].
-
Save .za files in:
MrSpidey generates and saves constraint (.za) files during the
analysis of multi-file programs. This radio box controls where these
constraint files are stored, either in the same directory as the
corresponding source file (default), or in a temporary directory.
Next: MrSpidey Type Display Preferences
Up: Preferences
Previous: Preferences
PLT