LOLA:: Runtime monitoring of synchronous systems

被引:180
作者
D'Angelo, B [1 ]
Sankaranarayanan, S [1 ]
Sánchez, C [1 ]
Robinson, W [1 ]
Finkbeiner, B [1 ]
Sipma, HB [1 ]
Mehrotra, S [1 ]
Manna, Z [1 ]
机构
[1] Stanford Univ, Dept Comp Sci, Stanford, CA 94305 USA
来源
12TH INTERNATIONAL SYMPOSIUM ON TEMPORAL REPRESENTATION AND REASONING, PROCEEDINGS | 2005年
关键词
D O I
10.1109/TIME.2005.26
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We present a specification language and algorithms for the online and offline monitoring of synchronous systems including circuits and embedded systems. Such monitoring is useful not only for testing, but also under actual deployment The specification language is simple and expressive; it can describe both correctness/failure assertions along with interesting statistical measures that are useful for system profiling and coverage analysis. The algorithm for online monitoring of queries in this language follows a partial evaluation strategy: it incrementally constructs output streams from input streams, while maintaining a store of partially evaluated expressions for forward references. We identify a class of specifications, characterized syntactically, for which the algorithm's memory requirement is independent of the length of the input streams. Being able to bound memory requirements is especially important in online monitoring of large input streams. We extend the concepts used in the online algorithm to construct an efficient offline monitoring algorithm for large traces. We have implemented our algorithm and applied it to two industrial systems, the PCI bus protocol and a memory controller. The results demonstrate that our algorithms are practical and that our specification language is sufficiently expressive to handle specifications of interest to industry.
引用
收藏
页码:166 / 174
页数:9
相关论文
共 15 条
[1]  
Barringer H, 2004, LECT NOTES COMPUT SC, V2937, P44
[2]  
Berry G, 2000, FOUNDAT COMPUT, P425
[3]  
Drusinsky D, 2000, LECT NOTES COMPUT SC, V1885, P323
[4]  
Eisner C, 2003, LECT NOTES COMPUT SC, V2725, P27
[5]  
GAUTIER T, 1987, P C FUNCT PROGR LANG, P257
[6]   THE SYNCHRONOUS DATA FLOW PROGRAMMING LANGUAGE LUSTER [J].
HALBWACHS, N ;
CASPI, P ;
RAYMOND, P ;
PILAUD, D .
PROCEEDINGS OF THE IEEE, 1991, 79 (09) :1305-1320
[7]   An overview of the runtime verification tool Java']Java PathExplorer [J].
Havelund, K ;
Rosu, G .
FORMAL METHODS IN SYSTEM DESIGN, 2004, 24 (02) :189-215
[8]  
Havelund K, 2002, LECT NOTES COMPUT SC, V2280, P342
[9]  
HAVELUND K, 2001, SER ENTCS, V55
[10]  
HAVELUND K, 2002, SER ENTCS, V70