A Four Russians algorithm for regular expression pattern matching
Journal of the ACM (JACM)
Specification-based test oracles for reactive systems
ICSE '92 Proceedings of the 14th international conference on Software engineering
Rewriting extended regular expressions
Theoretical Computer Science
Partial derivatives of regular expressions and finite automaton constructions
Theoretical Computer Science
Journal of the ACM (JACM)
An Improved Algorithm for the Membership Problem for Extended Regular Expressions
MFCS '02 Proceedings of the 27th International Symposium on Mathematical Foundations of Computer Science
The Temporal Rover and the ATG Rover
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Synthesizing Monitors for Safety Properties
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Freedom, Weakness, and Determinism: From Linear-Time to Branching-Time
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
Automata-Based Verification of Temporal Properties on Running Programs
Proceedings of the 16th IEEE international conference on Automated software engineering
Monitoring Programs Using Rewriting
Proceedings of the 16th IEEE international conference on Automated software engineering
An Overview of the Runtime Verification Tool Java PathExplorer
Formal Methods in System Design
Rewriting-Based Techniques for Runtime Verification
Automated Software Engineering
Regular Strategies as Proof Tactics for CIRC
Electronic Notes in Theoretical Computer Science (ENTCS)
Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP
Electronic Notes in Theoretical Computer Science (ENTCS)
An effective algorithm for the membership problem for extended regular expressions
FOSSACS'07 Proceedings of the 10th international conference on Foundations of software science and computational structures
Succinctness of the Complement and Intersection of Regular Expressions
ACM Transactions on Computational Logic (TOCL)
Regular expression sub-matching using partial derivatives
Proceedings of the 14th symposium on Principles and practice of declarative programming
Efficient dynamic access analysis using JavaScript proxies
Proceedings of the 9th symposium on Dynamic languages
Hi-index | 0.00 |
In this paper we present lower bounds and rewriting algorithms for testing membership of a word in a regular language described by an extended regular expression. Motivated by intuitions from monitoring and testing, where the words to be tested (execution traces) are typically much longer than the size of the regular expressions (patterns or requirements), and by the fact that in many applications the traces are only available incrementally, on an event by event basis, our algorithms are based on an event-consumption idea: a just arrived event is "consumed" by the regular expression, i.e., the regular expression modifies itself into another expression discarding the event. We present an exponential space lower bound for monitoring extended regular expressions and argue that the presented rewriting-based algorithms, besides their simplicity and elegance, are practical and almost as good as one can hope. We experimented with and evaluated our algorithms in Maude.