Home | DMP | Project | Journal | Contact Relevant Java Classes | Delete Call Site | Template Call Graph | Research | Final Report Previous (Type Inference Algorithms and Call Graph Construction) Next (Reaching Definitions)
In type inference, assignments are considered to be non-destructive. They do not overwrite the former type of the assigned variable; instead, types continue to accumulate in the variable's concrete type set. For example, if a variable
The additional power provided by flow-sensitive systems can be vital when adding a type system to an existing body of code. The precision of type inference relates inversely to the relative number of templates; less precise types are more general (concrete types have higher cardinality), which in turn makes the Cartesian products larger, increasing the number of templates generated. There are several approaches to typing variable accesses, including static single assignment and the elimination of dead initializers, but the approach most relevant to the current research is the use of reaching definitions.
Home | DMP | Project | Journal | Contact Relevant Java Classes | Delete Call Site | Template Call Graph | Research | Final Report Previous (Type Inference Algorithms and Call Graph Construction) Next (Reaching Definitions) ©2002, Katie Heise |