作者: Bohuslav Krena , Zdenek Letko , Rachel Tzoref , Shmuel Ur , Tomáš Vojnar
关键词:
摘要: Testing of concurrent software is extremely difficult. Despite all the progress in testing and verification technology, bugs, most common which are deadlocks races, make it to field. This paper describes a set techniques, implemented tool called ConTest, allowing programs self-heal at run-time. Concurrent bugs have very desirable property for healing that some interleaving produce correct results while others manifest. Healing concurrency problems about limiting, or changing probability interleaving, such will be seen less. When programs, if deadlock does not result from limiting we sure healed program could been original therefore no new functional bug has introduced. In this initial work deals with different types data suggest three mechanisms: (1) by introducing sleep yield statements thread priorities, (2) removing using synchronisation commands like locking unlocking certain mutexes waits notifies, (3) "bad interleaving" replacing value variables one "should" taken. We also classify races according relevant strategies apply.