Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Using production grammars in software testing
Proceedings of the 2nd conference on Domain-specific languages
ACM Transactions on Information and System Security (TISSEC)
JML (poster session): notations and tools supporting detailed design in Java
OOPSLA '00 Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
Introduction to Automata Theory, Languages and Computability
Introduction to Automata Theory, Languages and Computability
Generating Test Data with Enhanced Context-Free Grammars
IEEE Software
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Using attributed grammars to test designs and implementations
ICSE '81 Proceedings of the 5th international conference on Software engineering
Verification of an Algol 68 implementation
Proceedings of the Strathclyde ALGOL 68 conference
Java-MaC: A Run-Time Assurance Approach for Java Programs
Formal Methods in System Design
abc: an extensible AspectJ compiler
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
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Interface grammars for modular software model checking
Proceedings of the 2007 international symposium on Software testing and analysis
Mop: an efficient and generic runtime verification framework
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Making trace monitors feasible
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Efficient Monitoring of Parametric Context-Free Patterns
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Automatic generation of test cases
IBM Systems Journal
Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP
Electronic Notes in Theoretical Computer Science (ENTCS)
Efficient Formalism-Independent Monitoring of Parametric Properties
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Instrumenting C programs with nested word monitors
Proceedings of the 14th international SPIN conference on Model checking software
A staged static program analysis to improve the performance of runtime monitoring
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Garbage collection for monitoring parametric properties
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Monitoring finite state properties: algorithmic approaches and their relative strengths
RV'11 Proceedings of the Second international conference on Runtime verification
TreeDroid: a tree automaton based approach to enforcing data processing policies
Proceedings of the 2012 ACM conference on Computer and communications security
A case for "Piggyback" Runtime Monitoring
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
A unified approach for static and runtime verification: framework and applications
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
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.