CCMOP: A Runtime Verification Tool for C/C++ Programs.

Yongchao Xing,Zhenbang Chen,Shibo Xu,Yufeng Zhang
DOI: https://doi.org/10.1007/978-3-031-44267-4_18
2023-01-01
Abstract:Runtime verification (RV) is an effective lightweight formal method for improving software’s reliability at runtime. There exist no RV tools specially designed for C++ programs. This paper introduces the first one, i.e. , CCMOP, which implements an AOP-based RV approach and supports the RV of general properties for C/C++ program. CCMOP provides an AOP language specially designed for C++ program to define the events in RV. The instrumentation of RV monitor is done at AST-level, which improves the efficiency of compilation and the accuracy of RV. CCMOP is implemented based on JavaMOP and an industrial-strength compiler. The results of extensive experiments on 100 real-world C/C++ programs (5584.3K LOCs in total) indicate that CCMOP is robust and supports the RV of real-world C/C++ programs.
What problem does this paper attempt to address?