TY - GEN
T1 - Predicting null-pointer dereferences in concurrent programs
AU - Farzan, Azadeh
AU - Madhusudan, P.
AU - Razavi, Niloofar
AU - Sorrentino, Francesco
PY - 2012/12/24
Y1 - 2012/12/24
N2 - 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.
AB - 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.
KW - SMT
KW - concurrency
KW - data-races
KW - null-pointers
KW - testing
UR - http://www.scopus.com/inward/record.url?scp=84871335126&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84871335126&partnerID=8YFLogxK
U2 - 10.1145/2393596.2393651
DO - 10.1145/2393596.2393651
M3 - Conference contribution
SN - 9781450316149
T3 - Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012
BT - Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012
T2 - 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, FSE 2012
Y2 - 11 November 2012 through 16 November 2012
ER -