Skip to main content
Erschienen in: International Journal of Parallel Programming 2/2015

01.04.2015

User-Guided Dynamic Data Race Detection

verfasst von: Markus Metzger, Xinmin Tian, Walfred Tedeschi

Erschienen in: International Journal of Parallel Programming | Ausgabe 2/2015

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Multi-threaded programming is part of mainstream software development. It adds several issues not present on serial applications. Among the issues an important one is data races, i.e. the unsynchronized access of data by multiple threads. They are particularly hard to debug since they typically occur sporadically and often invisibly corrupt the internal state. Generally, the tool used to identify those kinds of issues is a data race analyzer. Due to the subtlety of data race bugs, the user at this point would already have tried to understand the problem using an application debugger. Debuggers offer a variety of features to analyze and modify the execution state of programs. Such features are typically not offered by data race analyzers. Integrating a data race analyzer into a debugger would improve the user workflow. This is usually prohibited by the huge performance overhead of a whole-program data race analysis. We propose in this work a method to reduce the overhead by allowing the user to define the scope of the analysis. A sufficiently narrow scope reduces the performance overhead to less than 5\(\times \), thus allowing its integration into a debugger. Defining the analysis scope fits naturally into the debugger workflow of focusing on one problem at a time. The work here presented has been implemented in a commercial debugger product.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A theory of data race detection. In: Proceedings of the 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD ’06, pp. 69–78. ACM, New York, NY, USA (2006) Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A theory of data race detection. In: Proceedings of the 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD ’06, pp. 69–78. ACM, New York, NY, USA (2006)
2.
Zurück zum Zitat Emrath, P.A., Padua, D.A.: Automatic detection of nondeterminacy in parallel programs. SIGPLAN Not. 24(1), 89–99 (1988)CrossRef Emrath, P.A., Padua, D.A.: Automatic detection of nondeterminacy in parallel programs. SIGPLAN Not. 24(1), 89–99 (1988)CrossRef
3.
Zurück zum Zitat Flanagan, C., Freund, S.N.: Fasttrack: efficient and precise dynamic race detection. Commun. ACM 53, 93–101 (2010)CrossRef Flanagan, C., Freund, S.N.: Fasttrack: efficient and precise dynamic race detection. Commun. ACM 53, 93–101 (2010)CrossRef
4.
Zurück zum Zitat Jannesari, A., Tichy, W.F.: On-the-fly race detection in multi-threaded programs. In: Proceedings of the 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, PADTAD ’08, pp. 6:1–6:10. ACM, New York, NY, USA (2008) Jannesari, A., Tichy, W.F.: On-the-fly race detection in multi-threaded programs. In: Proceedings of the 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, PADTAD ’08, pp. 6:1–6:10. ACM, New York, NY, USA (2008)
5.
Zurück zum Zitat Lamport, L.: Time clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)CrossRefMATH Lamport, L.: Time clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)CrossRefMATH
7.
Zurück zum Zitat Mühlenfeld, A., Wotawa, F.: Fault detection in multi-threaded c++ server applications. Electron. Notes Theor. Comput. Sci. 174, 5–22 (2007)CrossRef Mühlenfeld, A., Wotawa, F.: Fault detection in multi-threaded c++ server applications. Electron. Notes Theor. Comput. Sci. 174, 5–22 (2007)CrossRef
8.
Zurück zum Zitat Netzer, R.H.B., Miller, B.P.: Improving the accuracy of data race detection. In: Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP ’91, pp. 133–144. ACM, New York, NY, USA (1991) Netzer, R.H.B., Miller, B.P.: Improving the accuracy of data race detection. In: Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP ’91, pp. 133–144. ACM, New York, NY, USA (1991)
10.
Zurück zum Zitat Patil, H., Pereira, C., Stallcup, M., Lueck, G., Cownie J.: Pinplay: a framework for deterministic replay and reproducible analysis of parallel programs. In: Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO ’10, pp. 2–11. ACM, New York, NY, USA (2010) Patil, H., Pereira, C., Stallcup, M., Lueck, G., Cownie J.: Pinplay: a framework for deterministic replay and reproducible analysis of parallel programs. In: Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO ’10, pp. 2–11. ACM, New York, NY, USA (2010)
11.
Zurück zum Zitat Pozniansky, E., Schuster, A.: Efficient on-the-fly data race detection in multithreaded c++ programs. SIGPLAN Not. 38, 179–190 (2003)CrossRef Pozniansky, E., Schuster, A.: Efficient on-the-fly data race detection in multithreaded c++ programs. SIGPLAN Not. 38, 179–190 (2003)CrossRef
13.
Zurück zum Zitat Ronsse, M., De Bosschere, K.: Recplay: a fully integrated practical record/replay system. ACM Trans. Comput. Syst. 17, 133–152 (1999)CrossRef Ronsse, M., De Bosschere, K.: Recplay: a fully integrated practical record/replay system. ACM Trans. Comput. Syst. 17, 133–152 (1999)CrossRef
14.
Zurück zum Zitat Sack, P., Bliss, B.E., Ma, Z., Petersen, P., Torrellas J.: Accurate and efficient filtering for the intel thread checker race detector. In: Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, ASID ’06, pp. 34–41. ACM, New York, NY, USA (2006) Sack, P., Bliss, B.E., Ma, Z., Petersen, P., Torrellas J.: Accurate and efficient filtering for the intel thread checker race detector. In: Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, ASID ’06, pp. 34–41. ACM, New York, NY, USA (2006)
15.
Zurück zum Zitat Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15, 391–411 (1997)CrossRef Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15, 391–411 (1997)CrossRef
Metadaten
Titel
User-Guided Dynamic Data Race Detection
verfasst von
Markus Metzger
Xinmin Tian
Walfred Tedeschi
Publikationsdatum
01.04.2015
Verlag
Springer US
Erschienen in
International Journal of Parallel Programming / Ausgabe 2/2015
Print ISSN: 0885-7458
Elektronische ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-013-0296-z

Weitere Artikel der Ausgabe 2/2015

International Journal of Parallel Programming 2/2015 Zur Ausgabe