Static Slicing of First-Order Functional Language based on Operational Semantics

Joonseon Ahn, Taisook Han · 2000

We have formally defined static slice of a first-order functional language based on a operational semantics and presented a method to analyze static slice. We have used a technique very similar to the abstract interpretation to approximate the infinite value space for dynamic executions, and proved the soundness of our method. 1 Introduction Program slice means a set of parts of a program that affect the values computed at a designated program point referred to as a slicing criterian[Wei84, Bis98]. Dynamic slicing finds program slice of a program for a specific input to the program. On the other hand, static slicing isolates parts of a program that potentially affect the values computed at a slicing criterian over some possible inputs. Program slicing can be used for debugging and program optimization such as dead code elimination and parallelization of sequential programs. Following the seminal work of Weiser, dynamic or static slicing of imperative languages has been extensively stu...

Read the paper · More papers on PaperTik