Runtime Predictive Analysis

From FSL
Jump to: navigation, search

Runtime Predictive Analysis is a technique to detect potential concurrency errors in a system by observing its execution traces; the analyzed execution traces may not necessarily hit the errors directly. Typical concurrency errors that can be predictively detected include dataraces and deadlocks, both notoriously hard to find by just ordinary testing. We also have techniques that can predict general safety property violations, expressed using any formalism that permits monitor sythesis, including temporal logics and regular patterns. The predictive capability comes from the fact that the analysis is performed on a non-linear abstract model extracted online from the observed execution, which admits several other possible runs besides the observed one. The appealing aspect of predictive runtime analysis is that it scales relatively well without losing soundness. An abstract counter example will be produced if a violation is predicted. Combined with our concurrent test generation technique, we may also generate concrete traces that manifest the detected violation.

Related research area: Monitoring, Runtime Analysis and Testing

Related Project

  • jPredictor: A runtime predictive analysis tool for Java based on sliced causality

Related Publications

Maximal Causal Models for Sequentially Consistent Systems 
Traian Florin Serbanuta, Feng Chen and Grigore Rosu
RV'12, LNCS. 7687, pp 136-150. 2013
PDF, Slides(PDF), BIB
Efficient, Expressive, and Effective Runtime Verification 
Patrick Meredith
PhD Thesis, University of Illinois, August 2012
PDF, Slides(KEY), Slides(PDF), JavaMOP Project, BusMOP Project, RV-Predict Project, BIB
A Rewriting Approach to Concurrent Programming Language Design and Semantics 
Traian Florin Serbanuta
PhD Thesis, University of Illinois, December 2010
PDF, Slides (PDF), K-Maude, TR@UIUC, BIB
Runtime Verification with the RV System 
Patrick Meredith and Grigore Rosu
RV'10, LNCS 6418, pp 136-152. 2010
PDF, Slides(PDF), Slides(PPT), Slides(KEY), RV'10, BIB
jPredictor: A Predictive Runtime Analysis Tool for Java 
Feng Chen and Traian Florin Serbanuta and Grigore Rosu
ICSE'08, ACM, pp. 221-230. 2008
PDF, Slides(PDF), DOI, ICSE'08, BIB
Effective Predictive Runtime Analysis Using Sliced Causality and Atomicity 
Feng Chen, Traian Florin Serbanuta and Grigore Rosu
Technical report UIUCDCS-R-2007-2905, October 2007
PDF, TR@UIUC, BIB
Parametric and Sliced Causality 
Feng Chen and Grigore Rosu
CAV'07, LNCS 4590, pp 240 - 253, 2007
PDF, CAV'07 slides, CAV'07, TR@UIUC, BIB
Parametric and Termination-Sensitive Control Dependence - Extended Abstract 
Feng Chen and Grigore Rosu
SAS'06, LNCS 4134, pp 387-404. 2006.
PDF, LNCS, SAS'06, BIB
Parametric and Termination-Sensitive Control Dependence 
Feng Chen and Grigore Rosu
Technical report UIUCDCS-R-2006-2712, April 2006
PDF, TR@UIUC, BIB
Predicting Concurrency Errors at Runtime using Sliced Causality 
Feng Chen and Grigore Rosu
Technical report UIUCDCS-R-2006-2965, 2006.
PDF, TR@UIUC, BIB
Predicting Concurrency Errors at Runtime using Sliced Causality 
Feng Chen and Grigore Rosu
Technical report UIUCDCS-R-2005-2660, 2005.
PDF, TR@UIUC, BIB


Personal tools
Namespaces

Variants
Actions
Navigation