Project: Unravel Program Slicing Tool

Project LeadersDr. James R. Lyle at jlyle@nist.gov and Dolores R. Wallace at dwallace@nist.gov

Goals
The goal of the Unravel project is to provide (free of charge) a prototype program slicing tool that can be used to statically evaluate ANSI C source code.

Brief Description
Program slicing is a static analysis technique that extracts all statements relevant to the computation of a given variable. Program slicing (general references) is useful in program debugging, software maintenance and program understanding. Program slices can be used to reduce the effort in examining software by allowing allowing someone to focus attention on one computation at a time.  The tool was developed in C with a user interface written using the MIT Athena Widgets and the X Window System.  Unravel  should compile and run on most UNIX systems that have the MIT X Window System X11R5 or later.

Mark Harmon (UK) has a list of people interested in program slicing and Jens Krinke has a list of slicing projects and other resources.

Staff
Dr. James R. Lyle, Dolores R. Wallace, Dr. David W. Binkley, Dr. Alan Goldfine

Participants
United States Nuclear Regulatory Agency & United States Department of Defense

Products
The Unravel FTP directory contains the source code, a technical report and other publications.

Reports
A two volume technical report (NISTIR 5691) is available in postscript. NISTIR 5691 Volume 1  covers the requirements, design and evaluation of unravel while  NISTIR 5691 Volume 2 is the unravel user manual.
An HTML version can be browsed:  Volume 1  Volume 2.

Papers

J. R. Lyle and D. W. Binkley, Application of the Pointer State Subgraph to Static Program Slicing, to appear in the Journal of Systems and Software during the fourth quarter of 1997 or the first quarter of 1998.

Conferences

J. R. Lyle and D. W. Binkley, Program Slicing in the Presence of Pointers, Proceedings of the 3RD Annual Software Engineering Research Forum,  Orlando, FL, November 11--12,  1993.  Postscript  Talk Overheads.

L. Beltracchi and J. R. Lyle and D. R. Wallace, Using a Program Slicing CASE Tool for Evaluating High Integrity Software Systems,  Proceedings of NPIC & HMIT 96, The 1996 American   Nuclear Society International Topical Meeting on  Nuclear Plant Instrumentation, Control, and Human-Machine  Interface Technologies,  American Nuclear Society,  The Nittany Lion Inn, The Pennsylvania State University,  USA,  1033-1039,  May 6-9, 1996. Postscript  Talk Overheads.

J. R. Lyle and D. R. Wallace, Using the Unravel Program Slicing Tool to Evaluate High Integrity Software, Proceedings of  Software Quality Week 1997. San Francisco USA,  May 1997. Postscript  Talk Overheads.

Tools
 Download the  unravel  source code.
Unravel Demo

Who Benefits

Current Work

Next Milestones


Revised NISTIR and version 3.0 of the tool.