Runtime Predictive Analysis
From FSL
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

