Publication: Predicting Null-Pointer Dereferences in Concurrent Programs at FSE2012
New publication: Predicting Null-Pointer Dereferences in Concurrent Programs,
by Azadeh Farzan, P. Madhusudan, Niloofar Razavi, Francesco Sorrentino
20th ACM SIGSOFT Int'l Symp on Foundations of Software Engineering (FSE), 2012.
Abstract: We propose null-pointer dereferences as a target for finding bugs in concurrent programs using testing. A null-pointer dereference prediction engine observes an execution of a concurrent program under test and predicts alternate interleavings that are likely to cause null-pointer dereferences. Though accurate scalable prediction is intractable, we provide a carefully chosen novel set of techniques to achieve reasonably accurate and scalable prediction. We use an abstraction to the shared-communication level, take advantage of a static lock-set based pruning, and finally, employ precise and relaxed constraint solving techniques that use an SMT solver to predict schedules.We realize our techniques in a tool, ExceptioNULL, and evaluate it over 13 benchmark programs and find scores of nullpointer dereferences by using only a single test run as the prediction seed for each benchmark.
Click here to access paper: http://www.cs.uiuc.edu/~madhu/fse12.pdf