Abstract

Active random testing is a powerful technique to find concurrency bugs through predicting the potential buggy inter-leaves. It helps improve the effectiveness of random testing such that the buggy scenarios are selected actively from trivial ones. However, applying active random testing to find null pointer dereference (NPD) still faces a strong challenge in that these NPDS are usually caused by the nontrivial data races, and therefore it is insufficient to adopt a general dynamic prediction approach to find them. In this paper, we propose a race-driven active random testing approach, RADIATE, to detect NPDs. The essential idea of RADIATE is to perform a race-driven prediction of the original trace for obtaining the potential NPD scenarios, and then use active random testing technique to actively control the thread schedules for exposing the real NPDs. We have implemented our RADIATE approach, and evaluated it over 7 benchmark programs. The evaluation results show that RADIATE can effectively find the indiscoverable NPDs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call