kirancodes.me
To Proof Maintenance & Beyond!

Predicting null-pointer dereferences in concurrent programs

Azadeh Farzan, P. Madhusudan, Niloofar Razavi, Francesco Sorrentino

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 null-pointer dereferences by using only a single test run as the prediction seed for each benchmark.

BibTeX
@inproceedings{Farzan-al:FSE12,
  author    = {Azadeh Farzan and
               P. Madhusudan and
               Niloofar Razavi and
               Francesco Sorrentino},
  title     = {Predicting null-pointer dereferences in concurrent programs},
  booktitle = {FSE},
  pages     = {47},
  publisher = {{ACM}},
  year      = {2012},
}

Related papers