TY - JOUR
T1 - Efficient monitoring of parametric context-free patterns
AU - Meredith, Patrick O.Neil
AU - Jin, Dongyun
AU - Chen, Feng
AU - Roşu, Grigore
N1 - Funding Information:
This is an extended version of Meredith et al. (2008), which has been supported in part by NSF grants CCF-0448501, CNS-0509321 and CNS-0720512, by NASA contract NNL08AA23C, by the Microsoft/Intel funded Universal Parallel Computing Research Center at UIUC, and by several Microsoft gifts.
PY - 2010/6
Y1 - 2010/6
N2 - Recent developments in runtime verification and monitoring show that parametric regular and temporal logic specifications can be efficiently monitored against large programs. However, these logics reduce to ordinary finite automata, limiting their expressivity. For example, neither can specify structured properties that refer to the call stack of the program. While context-free grammars (CFGs) are expressive and well-understood, existing techniques for monitoring CFGs generate large runtime overhead in real-life applications. This paper demonstrates that monitoring parametric CFGs is practical (with overhead on the order of 12% or lower in most cases). We present a monitor synthesis algorithm for CFGs based on an LR(1) parsing algorithm, modified to account for good prefix matching. In addition, a logic-independent mechanism is introduced to support matching against the suffixes of execution traces.
AB - Recent developments in runtime verification and monitoring show that parametric regular and temporal logic specifications can be efficiently monitored against large programs. However, these logics reduce to ordinary finite automata, limiting their expressivity. For example, neither can specify structured properties that refer to the call stack of the program. While context-free grammars (CFGs) are expressive and well-understood, existing techniques for monitoring CFGs generate large runtime overhead in real-life applications. This paper demonstrates that monitoring parametric CFGs is practical (with overhead on the order of 12% or lower in most cases). We present a monitor synthesis algorithm for CFGs based on an LR(1) parsing algorithm, modified to account for good prefix matching. In addition, a logic-independent mechanism is introduced to support matching against the suffixes of execution traces.
KW - Context-free languages
KW - Monitoring
KW - Runtime verification
UR - http://www.scopus.com/inward/record.url?scp=77952094141&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77952094141&partnerID=8YFLogxK
U2 - 10.1007/s10515-010-0063-y
DO - 10.1007/s10515-010-0063-y
M3 - Article
AN - SCOPUS:77952094141
SN - 0928-8910
VL - 17
SP - 149
EP - 180
JO - Automated Software Engineering
JF - Automated Software Engineering
IS - 2
ER -