Using Static Analysis to Reduce Dynamic Analysis Overhead
Suan Hsi Yong and Susan Horwitz
Dynamic analysis (instrumenting programs with code to detect and
prevent errors during program execution) can be an effective approach
to debugging, as well as preventing harm from being caused by
malicious code. One problem with this approach is the runtime overhead
introduced by the instrumentation. We define several techniques that
involve using the results of static analysis to identify some cases
where instrumentation can safely be removed. While we have designed
the techniques with a specific dynamic analysis in mind (that used by
the Runtime Type-Checking tool), the ideas may be of more general
applicability.
Keywords: Static Analysis, Dynamic Debugging, Runtime Types.