The program pthread-ext/41_FreeBSD_abd_kbd_sliced is labeled as true. However there should be a feasible counterexample trace (which Ultimate Automizer also found).
One thread can simply call akbd_read_char(1) and therefore execute the trace:
For this error trace to be feasible we need to set COND to 1 before the assume_abort_if_not and back to 0 after it. This can be achieved, if other threads call adb_kbd_receive_packet() and akbd_read_char(1) respectivitely (since the mutex is not locked there).
Therefore it seems that this example should be labeled as false (unreach-call).
The program
pthread-ext/41_FreeBSD_abd_kbd_sliced
is labeled astrue
. However there should be a feasible counterexample trace (which Ultimate Automizer also found). One thread can simply callakbd_read_char(1)
and therefore execute the trace:For this error trace to be feasible we need to set
COND
to 1 before the assume_abort_if_not and back to 0 after it. This can be achieved, if other threads calladb_kbd_receive_packet()
andakbd_read_char(1)
respectivitely (since the mutex is not locked there). Therefore it seems that this example should be labeled asfalse (unreach-call)
.