[[Concurrency Tool Comparison]] == Model Description == The model manifests a data race when a set of thread reads from a shared variable while another thread is writing to the same object. Classes: 3 SLOC: 66 Parameters: (numOfThreads) == Summary Results Table == {| align=center | border=1 |- bgcolor="white" | | colspan=5 align="center" | accountException (5) |- bgcolor="lightblue" ! Tool ! Trials (successful) ! Time ! Transition (paths) ! Max Depth (error depth) |- | JPF "Randomized DFS" | 5047 (4495) 0.89 | align="right"| 686.37s | 10536186.70 (0.00) | 197.68 (190.32) |- | JPF Stateless Random Walk | 10120 (5555) 0.55 | align="right"| NA | NA (NA) | NA (NA) |} ''''*'''' Deterministic implementation ''''na'''' Data not output by tool (not available) '''blank''' Not yet run ===Hardness=== Hardness in a non-deterministic algorithm is the number of trials that find an error divided by the total number of trials where a trial is an independent run of the algorithm. For example, if 100 trials are run and 50 of those are successful in finding an error, then the hardness is reported as 0.50 or 50%. For deterministic algorithms(or tools) hardness is either 1 (easy) or 0 (hard). The time, transitions, and depth are the average over the successful experiments for non-deterministic algorithms. ===Transitions=== * CHESS: computed as the number of paths times the depth * JPF: computed as the number of states plus the number of revisited states ==Chess== * ChessBound=2 * ChessMonitorVolatiles=true {| align=center | border=1 | -bgcolor=grey ! Account Params !! Tests !! Found Error !! Time Taken !! Steps (Depth) |} * ChessMonitorVolatiles=false {| align=center | border=1 | -bgcolor=grey ! Account Params !! Tests !! Found Error !! Time Taken !! Steps (Depth) |} ==Java PathFinder== ===Stateless Random Walk=== {| align="center" | border=1 |- bgcolor="lightblue" ! Parameters ! Trials (successful) ! Time ! Transition (paths) ! Max Depth (error depth) ! abs time (ms) ! rel. time (ms) ! search depth ! errorDepth ! new states ! revisited states ! end states ! backtracks ! processed states ! restored states ! total memory (kB) ! max total memory ! free memory (kB) ! heap objects ! Max heap objects |- |(5) | 10120 (5555) 54.89% | align="right"| 0.77s | 191.92 (0.00) | 0.00 (0.00) | align="right" | 771.03 | align="right" | 771.03 | align="right" | 0.00 | align="right" | 0.00 | align="right" | 191.92 | align="right" | 0.00 | align="right" | 0.00 | align="right" | 0.00 | align="right" | 0.00 | align="right" | 0.00 | align="right" | 12249.84 | align="right" | 932096.00 | align="right" | 0.00 | align="right" | 176.00 | align="right" | 176.00 |} ===Stateful Randomized Depth-first search=== {| align="center" | border=1 |- bgcolor="lightblue" ! Parameters ! Trials (successful) ! Time ! Transition (paths) ! Max Depth (error depth) ! abs time (ms) ! rel. time (ms) ! search depth ! errorDepth ! new states ! revisited states ! end states ! backtracks ! processed states ! restored states ! total memory (kB) ! max total memory ! free memory (kB) ! heap objects ! Max heap objects |- |(5) | 5047 (4495) 89.06% | align="right"| 686.37s | 10536186.70 (0.00) | 197.68 (190.32) | align="right" | 686374.56 | align="right" | 3958.51 | align="right" | 197.68 | align="right" | 190.32 | align="right" | 2152801.11 | align="right" | 8383385.59 | align="right" | 1.74 | align="right" | 10536185.70 | align="right" | 2152264.23 | align="right" | 2152264.23 | align="right" | 297339.23 | align="right" | 932096.00 | align="right" | 130452.48 | align="right" | 196.00 | align="right" | 196.00 |} ==ConTest== * 1000 independent trials * The ratio of the error discovery trials over the total number of trials is the path error density. {| align=center | border=1 | -bgcolor=grey ! Account Params !! Path Error Density |- | 4 || 0.000 |- | 5 || 0.000 |}