Premium
An instrumentation technique for online analysis of multithreaded programs
Author(s) -
Roşu Grigore,
Sen Koushik
Publication year - 2007
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.1066
Subject(s) - computer science , instrumentation (computer programming) , java , programming language , process (computing) , code (set theory) , multithreading , state (computer science) , software engineering , thread (computing) , set (abstract data type)
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.