My Account Log in

2 options

Dynamic slicing in higher-order programming languages.

Online

Available online

View online

Dissertations & Theses @ University of Pennsylvania Available online

View online
Format:
Book
Thesis/Dissertation
Author/Creator:
Biswas, Sandip Kumar.
Contributor:
Gunter, Carl A., advisor.
University of Pennsylvania.
Language:
English
Subjects (All):
Computer science.
0984.
Penn dissertations--Computer and information science.
Computer and information science--Penn dissertations.
Local Subjects:
Penn dissertations--Computer and information science.
Computer and information science--Penn dissertations.
0984.
Physical Description:
147 pages
Contained In:
Dissertation Abstracts International 58-11B.
System Details:
Mode of access: World Wide Web.
text file
Summary:
Dynamic slicing is a technique for isolating segments of a program that (potentially) contribute to the value computed at a point of interest. Dynamic slicing for restricted first-order imperative languages has been extensively studied in literature. In contrast, little research has been done with regard to the slicing of higher-order programs. Most first-order imperative programming languages are statement-based while most higher-order programming languages are expression-based. Unlike first-order programs, higher-order programs have no simple concept of static control flow: control flow depends on the binding of formal parameters to actuals. Because of these differences, formalising a definition of slicing for higher-order programs involves some novel concepts.
The aim of the work, presented here, is to extract 'executable' slices of higher-order programs solely from the execution trace. In the absence of assignments, i.e. in purely functional programs, dynamic slices satisfying very strong criteria can be extracted. This is because purely functional languages have a demand-driven evaluation strategy. A realistic higher-order programming language, like Standard ML (SML), uses imperative features like assignments and exceptions. We provide algorithms to compute dynamic slices of programs containing such features.
It is shown that, just like first-order programs, higher-order programs can be instrumented to collect data, regarding its dynamic slice, during execution. We have implemented a tool which performs such instrumentation on core SML programs. Experiments conducted, with the tool, throw light on the utility and limitations of dynamic slicing as technique for analysing higher-order programs.
Notes:
Thesis (Ph.D. in Computer and Information Science) -- University of Pennsylvania, 1997.
Source: Dissertation Abstracts International, Volume: 58-11, Section: B, page: 6051.
Supervisor: Carl A. Gunter.
Local Notes:
School code: 0175.
ISBN:
9780591659702
Access Restriction:
Restricted for use by site license.

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account