1 / 10

Visualization of Reachability Graphs: Some Ideas by Amin Alipour Software Design Lab

Visualization of Reachability Graphs: Some Ideas by Amin Alipour Software Design Lab malipour@mtu.edu. Outline. What is a Reachability Graph (RG)? Some Characteristics of RG Points of interests. What is RG. Program State: a unique valuation to variables and program counter

lionel
Télécharger la présentation

Visualization of Reachability Graphs: Some Ideas by Amin Alipour Software Design Lab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visualization of Reachability Graphs: Some Ideas by Amin Alipour Software Design Lab malipour@mtu.edu

  2. Outline • What is a Reachability Graph (RG)? • Some Characteristics of RG • Points of interests

  3. What is RG • Program State: a unique valuation to variables and program counter • Reachability Graph (RG): • A node represents a state • An arc denotes a transition • RG is a directed graph generated by exploring all reachable states by program actions from some initial states

  4. What is RG • Each arc corresponds to one program statement (in a thread/process) • A program statement includes a set of arcs • Each path represents a trace of program execution • The number of nodes is often huge

  5. Points of Interests • Node/State: represents a special property of program state • E.g.: Data race, deadlock, terminating state, etc. • Set of Nodes/States: A common property for a set of states • E.g.: set of deadlock states, set of states where data race occurs • Set of transitions belonging to a specific statement

  6. Points of Interests • Set of paths that lead to a special state • Paths show the ordering and liveness of threads • Paths that lead to starvation of one threads. • Paths that has certain property that is usually <>p • E.g., eventually a trying thread enters its critical section

  7. Some Queries • What are the cycles? • Which transitions form the cycle? • What are the path that satisfy progress properties? • What are the paths that includes specific transitions, or special ordering?

  8. Some Queries- cont’d • What are the paths that satisfy LTL property <>p, []p • Given a path, what is the trace predicate • Can we encode trace predicate of path on it visually? • Is the specific correspondence exists between RNA and two threaded programs

  9. Some Queries- cont’d • Visualizing the subgraph that has no synchronization • The state change according to projection of states

  10. Some notes • The visualization need not to be static, it could be animated as the program runs and explores new states.

More Related