Date: Thu, 07 Nov 1996 19:07:37 GMT Server: NCSA/1.5 Content-type: text/html Last-modified: Tue, 24 Sep 1996 21:36:54 GMT Content-length: 37011 Thomas W. Reps's Home Page

Thomas W. Reps

Professor
Computer Sciences Department
University of Wisconsin-Madison
1210 West Dayton Street
Madison, WI 53706-1685
USA

E-mail: reps@cs.wisc.edu
Telephone: (608) 262-2091
Secretary: (608) 262-0017
Department: (608) 262-1204
Fax: (608) 262-9777

Ph.D., Cornell University, 1982 (Curriculum Vitae)

Research Interests:

(See also the home page of the Wisconsin Program Slicing Project .)


Contents


Research Summary

My research is aimed at creating tools to support the development of complex software systems. The objective is to create tools that provide powerful language-specific program-manipulation operations. In particular, my work has explored how program slicing can serve as the basis for such program-manipulation operations.

The slice of a program with respect to a set of program elements S is a projection of the program that includes only program elements that might affect (either directly or transitively) the values of the variables used at members of S. Slicing allows one to find semantically meaningful decompositions of programs, where the decompositions consist of elements that are not textually contiguous.

Program slicing is a fundamental operation that can aid in solving many software-engineering problems. For instance, it has applications in program understanding, maintenance, debugging, testing, differencing, specialization, reuse, and merging.

The projects that my co-workers and I are carrying out are aimed at

(Click here for the home page of the Wisconsin Program Slicing Project.)

Recently, we established some unexpected connections between interprocedural dataflow analysis and our previous work on interprocedural program slicing. In particular, we showed that a large class of interprocedural dataflow-analysis problems can be solved by transforming them into a special kind of graph-reachability problem. This graph-reachability problem can be solved precisely in polynomial time by the algorithm originally developed for interprocedural slicing.

I am also interested in the subject of incremental algorithms. By an incremental algorithm, I mean an algorithm that makes use of the solution to one problem instance to find the solution to a ``nearby'' problem instance.


Categorized Index to Publications

Program Slicing, Differencing, Merging, etc.

Overview

Slicing

Chopping

Differencing

Merging

Algebra of slices (and applications to program merging)

Semantics and slicing

Other applications of slicing

Implemented slicing system

Miscellaneous

Ph.D. Theses

Interprocedural Dataflow Analysis

Demand IDFA via bottom-up logic programming and the magic-sets transformation

Exhaustive and Demand IDFA via graph reachability

IDFA using more than graph reachability

PTIME completeness of IDFA

Alias Analysis, Pointer Analysis, and Shape Analysis

Language-Based Program-Development Environments

Incremental Computing

Attribute Grammars


List of Publications

Books

Journal Publications

Invited Papers

Book Chapters

Conference Publications

Software

Patents

Pending Submissions

Other Publications and Reports

Visitors, Post-Docs, and Students

Visitors

Post-Doctoral Associates

Students