Affiliation:
1. Shanghai Jiao Tong University Shanghai, China
2. Università della Svizzera italiana (USI), Switzerland
Abstract
Runtime verification validates the correctness of a program’s execution trace. Much work has been done on improving the expressiveness and efficiency of runtime verification. However, current approaches require static deployment of the verification logic and are often restricted to a limited set of events that can be captured and analyzed, hindering the adoption of runtime verification in production systems. A popular system for runtime verification in Java, JavaMOP (Monitor-Oriented Programming in Java), suffers from the aforementioned limitations due to its dependence on AspectJ, which supports neither dynamic weaving nor an extensible join-point model. In this article, we extend the JavaMOP framework with a dynamic deployment API and a new MOP specification translator, which targets the domain-specific aspect language DiSL instead of AspectJ; DiSL offers an open join-point model that allows for extensions. A case study on lambda expressions in Java8 demonstrates the extensibility of our approach. Moreover, in comparison with JavaMOP using load-time weaving, our implementation reduces runtime overhead by 32%, and heap memory usage by 13%, on average.
Publisher
World Scientific Pub Co Pte Lt
Subject
Artificial Intelligence,Computer Graphics and Computer-Aided Design,Computer Networks and Communications,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Trace contracts;Journal of Functional Programming;2023
2. Capturing Inter-process Communication for Runtime Verification on Android;Lecture Notes in Computer Science;2018
3. Multi-Process Runtime Verification for Android;2017 24th Asia-Pacific Software Engineering Conference (APSEC);2017-12
4. ADRENALIN-RV: Android Runtime Verification Using Load-Time Weaving;2017 IEEE International Conference on Software Testing, Verification and Validation (ICST);2017-03
5. Extended Code Coverage for AspectJ-Based Runtime Verification Tools;Runtime Verification;2016