Program Slicing

Christoph Steindl
Johannes Kepler University Linz
Institute for Practical Computer Science
Altenbergerstraße 69, A-4040 Linz


We describe a program slicing tool for object-oriented programs. Program slicing uses control flow and data flow information to visualise dependences and assist the programmer in debugging and in program understanding. Object-oriented programs exploit features like dynamic binding which complicate interprocedural alias analysis. Two distinctive features of our Slicer are the support for intermodular slicing and the usage of user-feedback during the computation of data flow information. To cope with the problem of alias analysis in the presence offunction pointers (which is NP-hard), we decided to first use a conservative approach leading to less precise data flow information, but then use the user's expertise to restrict the effects of dynamic binding at polymorphic call sites to get more precise solutions which should still be safe.

Paper at The 8th Workshop for PhD Students in Object-Oriented Systems, Brussels, Belgium, July 20 - 24, 1998.
Published in the ECOOP'98 Workshop Reader, Lecture Notes in Computer Science 1543 (pp. 10-12), ISBN 3-540-65460-7, Springer-Verlag, 1998.
The copyright for this publication is held by Springer.
You can download the position paper in rtf or an abstract in html or click here to browse the slides of the presentation online.