Program analysis tries to automatically determine properties of the run-time behavior of a program. Conventional analyses commonly fail to deal with complex (e.g. non-linear) expressions with unknowns, to compare symbolic expressions, to express analysis information as a function over program problem sizes, to analyze non-linear terms in subscript expressions, and to determine under which condition the control flow reaches a certain program point. Ineffective approaches to gather and propagate sufficient data and control flow information through the program continues to have a detrimental impact on many compiler analyses and optimizations. As a consequence worst case assumptions are frequently made or program analysis is shifted to run-time which increases the execution overhead. Sophisticated symbolic analysis that can cope with program unknowns, evaluate symbolic expressions, deal with complex symbolic expressions, determine variable values and control flow conditions, and propagate symbolic data and control flow information through a program can simplify many compiler deficiencies.
KeywordsComputer Algebra System Symbolic Expression Program Point Symbolic Analysis Program Context
Unable to display preview. Download preview PDF.