TraceVis
From BP Wiki
= 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.