TY - CHAP
T1 - Online efficient predictive safety analysis of multithreaded programs
AU - Sen, Koushik
AU - Roşu, Grigore
AU - Agha, Gul
PY - 2004
Y1 - 2004
N2 - An automated and configurable technique for runtime safety analysis of multithreaded programs is presented, which is able to predict safety violations from successful executions. Based on a user provided safety formal specification, the program is automatically instrumented to emit relevant state update events to an observer, which further checks them against the safety specification. The events are stamped with dynamic vector clocks, enabling the observer to infer a causal partial order on the state updates. All event traces that are consistent with this partial order, including the actual execution trace, are analyzed on-line and in parallel, and a warning is issued whenever there is a trace violating the specification. This technique can be therefore seen as a bridge between testing and model checking. To further increase scalability, a window in the state space can be specified, allowing the observer to infer the most probable runs. If the size of the window is 1 then only the received execution trace is analyzed, like in testing; if the size of the window is oo then all the execution traces are analyzed, such as in model checking.
AB - An automated and configurable technique for runtime safety analysis of multithreaded programs is presented, which is able to predict safety violations from successful executions. Based on a user provided safety formal specification, the program is automatically instrumented to emit relevant state update events to an observer, which further checks them against the safety specification. The events are stamped with dynamic vector clocks, enabling the observer to infer a causal partial order on the state updates. All event traces that are consistent with this partial order, including the actual execution trace, are analyzed on-line and in parallel, and a warning is issued whenever there is a trace violating the specification. This technique can be therefore seen as a bridge between testing and model checking. To further increase scalability, a window in the state space can be specified, allowing the observer to infer the most probable runs. If the size of the window is 1 then only the received execution trace is analyzed, like in testing; if the size of the window is oo then all the execution traces are analyzed, such as in model checking.
UR - http://www.scopus.com/inward/record.url?scp=33749420474&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33749420474&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-24730-2_9
DO - 10.1007/978-3-540-24730-2_9
M3 - Chapter
AN - SCOPUS:33749420474
SN - 354021299X
SN - 9783540212997
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 123
EP - 138
BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
A2 - Jensen, Kurt
A2 - Podelski, Andreas
PB - Springer
ER -