Implementing protocols via declarative event patterns
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
An expressive aspect language for system applications with Arachne
Proceedings of the 4th international conference on Aspect-oriented software development
Event-based runtime verification of java programs
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Adding trace matching with free variables to AspectJ
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Relational queries over program traces
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Semantics of static pointcuts in aspectJ
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making trace monitors feasible
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Temporal Assertions using AspectJ
Electronic Notes in Theoretical Computer Science (ENTCS)
Java-MOP: a monitoring oriented programming environment for java
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Runtime monitoring composite web services through stateful aspect extension
Journal of Computer Science and Technology
Collaborative runtime verification with tracematches
RV'07 Proceedings of the 7th international conference on Runtime verification
Runtime verification of service-oriented systems: a well-rounded survey
International Journal of Web and Grid Services
Hi-index | 0.00 |
Trace monitor specifications consist of a pattern that is matched against the trace of events of a subject system. We investigate the design choices in defining the semantics of matching patterns against traces. Some systems use an exact-match semantics (where every relevant event must be matched by the pattern), while others employ a skipping semantics (which allows any event to be skipped during matching). The semantics of exact-match is well established; here we give a semantics to skipping by providing a translation to exact-match. It turns out the translation is not surjective: a pattern language with skipping semantics is strictly less expressive than one with exact-match semantics. That proof suggests the addition of a novel operator to a skipping language that makes it equivalent to exact-match. Another design decision concerns the atoms in patterns: are these unique runtime events, or can multiple atoms match the same runtime event? Many implementations have chosen predicates for atoms, and then overlap is natural. There are some exceptions, however, and we examine the consequences of that design choice in some depth.