My Account Log in

2 options

State-space tool: Understanding concurrent programs through state-space.

Online

Available online

Connect to full text

Dissertations & Theses @ University of Pennsylvania Available online

Dissertations & Theses @ University of Pennsylvania
Format:
Book
Thesis/Dissertation
Author/Creator:
Shin, Jangwoo.
Contributor:
Sokolsky, Oleg, advisor.
Prywes, Norah S., 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:
116 pages
Contained In:
Dissertation Abstracts International 63-02B.
System Details:
Mode of access: World Wide Web.
text file
Summary:
We investigate the use of state-transition diagrams to facilitate understanding of the behavioral aspects of concurrent programs. The approach consists of developing an interactive tool to process Java source code with guidances from a user and displaying the subgraphs of state-space with corresponding source code and details on the selected states and transitions.
Based on examples processed in our prototype State-Space Tool, we demonstrate that it is possible to overcome the program scalability and state-transition graph size, which have been a primary reason why state-transition diagrams have not been used in the past as means of understandability analysis. The tool makes it natural to answer functionality questions through investigation using respective reachability paths.
The methodology consists of the following four stages. In the first stage, the State-Space Tool processes Java program files and locates all candidate events and predicate expressions containing the events. The interactive GUI tool helps user reduce data domain for state variables in the predicate expressions and respective operations.
In the second stage, the tool generates state-machines from the reduced source code per each active thread. Based on the program simplification, unnecessary details such as non state variables are eliminated altogether.
In the third stage, the tool constructs a state-space by exploring all possible interleaving of the designated events. We present an algorithm to capture Java concurrency and synchronization in a static data structure.
Finally, the tool user composes queries and interactively submits them through GUI, and the state-space subgraphs are visualized. Using the proposed query language (SIL) the user defines groups of nodes and edges that reflect his interest. The user eliminates infeasible paths by inspecting those edges which are not resolved in the previous stages.
The novelty of this research lies in: (i) providing methodology to process concurrent Java programs to construct state-space which exposes the temporal properties under analysis, (ii) providing intuitive state-space retrieval language to visualize subgraphs to enhance understanding of concurrent software through visualizing event interleaving, deadlocks, etc. To our knowledge, these have not been attained to date. We consider this research to be important to the concurrent program life cycle.
Notes:
Thesis (Ph.D. in Computer and Information Science) -- University of Pennsylvania, 2002.
Source: Dissertation Abstracts International, Volume: 63-02, Section: B, page: 0883.
Supervisors: Noah S. Prywes; Oleg Sokolsky.
Local Notes:
School code: 0175.
ISBN:
9780493578514
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.

We want your feedback!

Thanks for using the Penn Libraries new search tool. We encourage you to submit feedback as we continue to improve the site.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account