ABSTRACT

This chapter introduces the basic concepts of data flow analysis through a contemporary optimization. It describes common properties of program analyses at an abstract level and instantiate them for data flow analysis. Data flow analysis is a process of deriving information about the run time behaviour of a program. The chapter presents a contemporary optimization that demonstrates the importance of the aspects of data flow analysis. The data flow information within a function is influenced by interprocedural effects arising out of function calls. Data flow information is required to represent all possible executions on all possible inputs. Hence the concept of approximation depends on the intended use of the data flow information. The goal of data flow analysis is to compute the most exhaustive safe information. The data flow information reaching at a program point along different contexts will have to be merged.