TraceVis

From BP Wiki
Revision as of 09:34, 5 August 2013 by Assaf (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

= Debugging and visualizing behavioral Java programs with TraceVis

The TraceVis tools provides visualization for the concurrent execution of multiple b-threads, with indications of the events that are requested, waited-for and blocked at each synchronization point, providing insights into why a certain event is triggered and others are not.

This can be used for general program comprehension and for debugging specific flows.

TraceVis Setup

  • Add the following parameter in run configuration -> arguments -> vm arguments:
-DgeneVisTrace=true
  • Run the program as usual. The input to the trace visualization will be stored in <BProgram name>_log.xml.
  • Open the file TraceVis.htm with the FIREFOX browser.
  • In the BPJ Trace Visualization Menu browse and select the file <BProgram name>_log.xml.
  • Choose the type of b-threads you want to display. B-threads are classified into 4 types, based on their actions in the traced run:
    • Non-Active: b-threads that did not block or request anything, and did not advance; they waited for event sequences that did not occur.
    • Active-follower: b-threads that advanced when certain events occurred, but did not block or request events.
    • Active: b-threads that requested or blocked events, but didn’t lead the run, i.e., none of their requests affected the run.
    • Active-leader: b-threads that contributed to driving the run, i.e., at least one of their requests was chosen for triggering.