paperbot · PL 论文追踪

全部论文 待读 收藏

P2 TraceMOP: An Explicit-Trace Runtime Verification Tool for Java

TraceMOP:一种面向Java的显式轨迹运行时验证工具
FSE Proceedings of the 33rd ACM International Conference on the Foundations of Software Engineering2025匹配度 3/10 · 该论文属于运行时验证(RV)领域,聚焦于Java程序动态监控轨迹的显式跟踪以降低开销,与用户关注的静态分析、LLM/Agent与程序分析/形式化验证的交叉、浮点程序分析及贝叶斯程序分析均无直接关联。尽管涉及形式化规约和工程落地,但方法不涉及AI/LLM,且为动态分析而非静态分析。引用 4 inbox
Kevin Guan, Owolabi Legunsen
crossref: 2026-09-12

AI 速览

一句话:提出TraceMOP,通过显式跟踪运行时监控轨迹,降低Java运行时验证开销并辅助调试flaky违规。

运行时验证(RV)在程序执行时监控事件轨迹是否违反形式规约,但现有工具常在测试中重复监控大量相同轨迹,导致开销浪费,且发现的违规往往具有flaky特性。TraceMOP面向Java提出显式轨迹运行时验证:在逐个事件监控的同时显式记录和维护受监控轨迹,从而支持轨迹去重、复用与flaky违规调试。论文介绍了其设计、实现以及Maven插件和GitHub Actions集成,并在105个开源项目上评估。结果显示TraceMOP保留了成熟RV工具的监控功能,相比此前原型最高快11倍,并最多节省231.7GB内存;作者还用其调试了四个flaky违规。工具已开源并提供演示。

问题
现有运行时验证工具在测试中会重复监控大量相同执行轨迹,造成开销浪费,且运行时违规常具有flaky特性,难以调试。
方法
TraceMOP在逐事件监控的同时显式记录受监控轨迹,并实现为Java工具,提供Maven插件与GitHub Actions集成。
评估
在105个开源项目上评估,保持成熟RV工具监控功能,相比原型最高加速11倍并减少最多231.7GB内存,并用于调试四个flaky违规。
原文摘要(Abstract)

We present TraceMOP, an explicit-trace runtime verification (RV) tool. RV monitors if execution traces—sequences of events, e.g., method calls—violate formal specifications. TraceMOP monitors each event as it occurs, but unlike prior RV tools, it also tracks monitored traces explicitly. So, TraceMOP can help researchers address several challenges of using RV in testing, e.g., (i) RV overhead is mostly wasted: 99.87% of monitored traces are duplicates of the other 0.13%; and (ii) RV violations are often flaky. We describe TraceMOP's design, implementation and use via a Maven plugin and GitHub Actions. We evaluate TraceMOP on 105 open-source projects. TraceMOP preserves the monitoring functions of a mature RV tool; it is up to 11x faster and uses up to 231.7GB less memory than our previous prototype. We use TraceMOP to debug four flaky violations; it is open sourced (https://github.com/SoftEngResearch/tracemop) and a demo is at https://tracemop.gkevin.com/demo.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot9146,
  title = {TraceMOP: An Explicit-Trace Runtime Verification Tool for Java},
  author = {Kevin Guan and Owolabi Legunsen},
  booktitle = {FSE},
  year = {2025},
  doi = {10.1145/3696630.3728613}
}