First IEEE International Workshop on Source Code Analysis and Manipulation
Type Infeasible Call Chains
Florence, Italy
November 10-December 10
ISBN: 0-7695-1387-5
While some software engineering applications perform static analysis over the whole program call graph, others are more interested in specific call chains within a program's call graph. It is thus important to identify when a particular static call chain for an object-oriented program may not be executable, or feasible, such that there is no input for which the chain will be taken. This paper examines type infeasibility of call chains, which is the infeasibility caused by inherently polymorphic call sites and sometimes also due to imprecision in call graphs. The problem of determining whether a call chain is type infeasible is defined and exemplified, a key property characterizing type infeasible call chains is described, empirical results from examining the call graphs for a set of Java programs are described, and two approaches to automatically deciding the type infeasibility of a call chain due to object parameters are presented.
Index Terms:
Call chains, Type Infeasibility
Citation:
Amie L. Souter, Lori L. Pollock, "Type Infeasible Call Chains," scam, pp.0196, First IEEE International Workshop on Source Code Analysis and Manipulation, 2001