An instrumentation technique for online analysis of multithreaded programs: Research Articles

  • Authors:
  • Grigore Roşu;Koushik Sen

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, U.S.A.;Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, U.S.A.

  • Venue:
  • Concurrency and Computation: Practice & Experience - Parallel and Distributed Systems: Testing and Debugging (PADTAD)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents an automatic code instrumentation technique, based on multithreaded vector clocks, for extracting the causal partial order on relevant state update events from a running multithreaded program. This technique is used in a formal testing environment, not only to detect, but especially to predict safety errors in multithreaded programs. The prediction process consists of rigorously analyzing other potential executions that are consistent with the causal partial order: some of these can be erroneous despite the fact that the particular observed execution was successful. The technique has been implemented as part of a Java program analysis tool. Copyright © 2006 John Wiley & Sons, Ltd.