-
Notifications
You must be signed in to change notification settings - Fork 15
Debugging with DebugPilot
Clone the Microbat and go to branch stepwiseProp:
git clone https://github.com/llmhyy/microbat.git
cd microbat
git checkout stepwiseProp
Set up Microbat following the instruction in Microbat
Before running Tregression as Eclipse Plugin, please set up the user directory for VM runner.
In Run Configuration -> Eclipse Application -> Arguments -> VM Arguments, please add the following argument:
-Duser.dir=<path to microbat>
<path to microbat> should be the absolute path of git\microbat\microbat
Then you can run Microbat as Eclipse Application
Configuration of DebugPilot can be found in Window -> Preference -> Debug Pilot Setting
Determine how the probability of correctness is propagated
| Probability Propagation Method | Description |
|---|---|
| None | Do not perform probability propagation |
| SPP_RANDOM | Step-wise probability propagation with random factor |
| SPP_COST | Step-wise probability propagation with factor based on computational cost |
| SPP_CF (Default) * | Step-wise probability propagation with factor based on computational cost and user feedback |
Determine how the suggested path is constructed
| Path Finding Method | Description |
|---|---|
| RANDOM | Construct random path. If use RANDOM, probability propagation is not needed so that it can be set to None
|
| Greedy | Construct path based on greedy strategy |
| Dijkstra | Construct path based on dijkstra algorithm |
| DijkstraExp (Default) | Combination of greedy and dijkstra which give the most reasonable path |
Determine how to locate the root cause
| Root Cause Locator | Description |
|---|---|
| PROBINFER | Used when ProbInfer is selected in probability propagation method |
| SPP | Used when SPP series are selected in probability propagation method |
Generate the trace by following regular Tregression process
Select the output of the program, which is assumed to be wrong:
| Situation | Selection |
|---|---|
![]() |
If a wrong variable is found, then check the output variable and then click the Outputs button to indicate the selected variables are wrong |
![]() |
If the last step is already in a wrong branch, you may click the control button and then click the output button to indicate that the step is in wrong branch |
After selecting the outputs, you may click the debug pilot button on tool bar to construct a path
In the path view, you can observer the suggested path.
Please follow the path one by one to check is the feedback accurate. If an inaccurate feedback is given, you can give the ground truth feedback.
Debugpilot will assume the step user giving feedback is the first wrong prediction, such that every step before the target step will be considered as accurate.
Please give the feedback in Step Property View and then click the Feedback button to submit the feedback:
Continue the process until the root cause is found. Then click this end button to end the debugging process

