Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Theses
M.Theses
PhD Theses
Go Abroad
Misc
Talks
Library
Gallery
Links
Search
Webmaster
|
Program Slicing
- What is Program Slicing?
- User Interface of the Slicer (including some screen-shots)
- Features of our Program Slicing Tool
- Download the Oberon Slicing Tool
- Publications
- Links
What is Program Slicing?
Program slicing is a program analysis technique. It is mainly used during debugging and reengineering. It tries to eliminate all parts from the program that are not currently of interest to the programmer. Therefore, the programmer clicks on a statement (which is of interest to him, e.g. because the value of a variable is wrong) and the program slicer highlights all program statements that might have produced the erroneous value. Relationships between program entities like variable definitions and variable usages are visualized.
Features of the Oberon Slicing Tool
- It computes program slices of Oberon-2 programs
(no restrictions on the programs, i.e. they may use structured
types (records and arrays), global variables of any type, objects
on the heap; functions may have arbitrary side-effects; procedures
may be nested; there may be recursion and dynamic binding due to
type-bound procedures (methods) and procedure variables (function
pointers); and the program can consist of modules).
- It is extremely fast (slicing information is computed
within a few seconds, slices are computed without any delay at all).
- It uses static slicing (which produces bigger slices
than dynamic slicing but is much more efficient)
- It can compute intraprocedural, interprocedural and
intermodular slices.
- It can handle procedural and object-oriented programs.
- It does so in an expression-oriented way (finer
grained than statement-oriented slicing).
- It uses user-feedback to restrict the effects of
aliases and dynamic binding.
- It uses a repository to store the computed slicing
information which can be re-used later when importing already
sliced modules.
- It implements the Model-View-Controller concept
(i.e. it is possible to have multiple views of the same slice
that are kept consistent).
Download the Oberon Slicing Tool
The Oberon Slicing Tool (OST) is published under the Oberon Slicing Tool License.
OST is the property of Christoph Steindl and bears Christoph Steindl's copyright. Any use you make of OST must respect Christoph Steindl's proprietary rights.
Download the Oberon Slicing Tool via this link
In order to run the Program Slicing Tool, you need a current version of the Oberon System!
Publications
Refereed Publications
-
Christoph Steindl:
Benefits of a Data Flow-Aware Programming Environment.
PASTE'99,
September 6, 1999, Toulouse, France.
-
Christoph Steindl:
Static Analysis of Object-Oriented Programs.
9th ECOOP Workshop for PhD Students in Object-Oriented Programming,
Lisbon, Portugal, June 14-15, 1999.
-
Christoph Steindl:
Program Slicing.
The 8th
Workshop for PhD Students in Object-Oriented Systems,
Brussels, Belgium, July 20 - 24, 1998.
-
Christoph Steindl:
Intermodular Slicing of Object-Oriented Programs.
CC'98,
Lisbon, Portugal, March/April 1998.
-
Christoph Steindl:
Program Slicing for Large Systems.
ReTIS'97,
Klagenfurt, Austria, December 1997.
Other Publications
-
Christoph Steindl:
Flow-Sensitive Programming Environments.
Demonstration at the ESEC'99,
Toulouse, France, September 6-10, 1999.
-
Christoph Steindl:
The Oberon Slicing Tool.
Demonstration
at the ECOOP'99, Lisbon, Portugal, June 1999.
-
Christoph Steindl:
The Oberon Program Slicing Tool
Poster
at the ECOOP'99, Lisbon, Portugal, June 1999.
-
Christoph Steindl:
Program Slicing of Object-Oriented Programming Languages.
Dissertation, Johannes Kepler University Linz, Austria, April 1999.
-
Christoph Steindl:
Program Slicing (2) - Computation of Data Flow Information.
Technical Report 12, March 1998.
-
Christoph Steindl:
Program Slicing (1) - Data Structures and Computation of Control Flow
Information.
Technical Report 11, March 1998.
Links
The Oberon Webring Navigator
[Skip Prev]
[Prev]
[Next]
[Skip Next]
[Random]
[Next 5]
[List Sites]
[Join]
|