...
首页> 外文期刊>International journal of software engineering and knowledge engineering >Flexible and Extensible Runtime Verification for Java (Extended Version)
【24h】

Flexible and Extensible Runtime Verification for Java (Extended Version)

机译:灵活且可扩展的Java运行时验证(扩展版)

获取原文
获取原文并翻译 | 示例
           

摘要

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.
机译:运行时验证可验证程序执行跟踪的正确性。在提高运行时验证的表现力和效率方面,已经做了很多工作。但是,当前的方法需要静态部署验证逻辑,并且通常限于可以捕获和分析的一组有限事件,从而阻碍了生产系统中运行时验证的采用。 Java的一种流行的Java运行时验证系统JavaMOP(Java的面向监视器的编程)由于其对AspectJ的依赖而遭受了上述限制,它既不支持动态编织也不支持可扩展的连接点模型。在本文中,我们使用动态部署API和新的MOP规范翻译器扩展了JavaMOP框架,该翻译器针对特定领域的方面语言DiSL而不是AspectJ。 DiSL提供了允许扩展的开放连接点模型。对Java8中的lambda表达式进行的案例研究证明了我们方法的可扩展性。而且,与使用加载时编织的JavaMOP相比,我们的实现平均将运行时开销减少了32%,并将堆内存使用量平均减少了13%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号