Using Bidirectional Data Flow Analysis To Support Software Reuse

C. Michael Overstreet, R. Cherinka, Randy J. Sparks · 1994

Ripple analysis, a form of program slicing, can be used to identify those parts of an existing system which provide specifiic functionality, thus supporting code reuse and other software development /maintenance activities. If a functional requirement is completely met by an identified set of input and output statements, forward ripple analysis for all input statements combined with backward ripple analysis for all output statements can identify all parts of the code related to that functionality. This paper describes a prototype static code analysis system for Pascal code that can be used to identify bi-directional ripples (based on data flow analysis). This system utilizes data flow analysis techniques to collect flow insensitive information about the variables in each source statement and build a database containing a call, control flow, and dead graph. This data base can then be used to identify forward and backward ripples of all appropriate input and output statements and thus th...

Read the paper · More papers on PaperTik