DA-BMC: A Tool Chain Combining Dynamic Analysis and Bounded Model Checking
This paper presents the DA-BMC tool chain that allows one to combine dynamic analysis and bounded model checking for finding synchronisation errors in concurrent Java programs. The idea is to use suitable dynamic analyses to identify executions of a program being analysed that are suspected to contain synchronisation errors. Some points in such executions are recorded, and then the executions are reproduced in a model checker, using its capabilities to navigate among the recorded points. Subsequently, bounded model checking in a vicinity of the replayed execution is used to confirm whether there are some real errors in the program and/or to debug the problematic execution of the program.
KeywordsModel Check Synchronisation Error Data Race Bound Model Check Recorded Point
Unable to display preview. Download preview PDF.
- 1.Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press (2008)Google Scholar
- 2.Edelstein, O., Farchi, E., Goldin, E., Nir, Y., Ratsaby, G., Ur, S.: Framework for Testing Multi-threaded Java Programs. Concurrency and Computation: Pract. and Exp. 15(3-5) (2003)Google Scholar
- 5.Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Automated Software Engineering Journal 10(2) (2003)Google Scholar
- 6.Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: A Dynamic Data Race Detector for Multi-threaded Programs. In: Proc. of SOSP 1997. ACM Press (1997)Google Scholar