Abstract:As a lightweight and highly reliable embedded database, SQLite3 has been widely used in many security-critical areas such as aerospace and operating systems. It provides rich and flexible API functions to support users to quickly construct projects. However, an incorrect API function call sequence can cause serious consequences, including runtime errors, memory leaks, orprogram crashes. In order to efficiently and accurately monitor the correct call of SQLite3 database API functions, this paper presents a parallel runtime verification approachfor multi-core machines. This approach first analyzes API function documents, automatically mines API call specification descriptions, and assists humans to formalize them as propositional projection temporal logic formulaswith the full regular expressiveness. Then, while the program is running, the multi-task scheduling strategy is employed to divide the generatedstate sequence into several segments and achieve the parallel verification for different segments. Experimental results show that the proposed approachis able to find that among the 30 programs invoking SQLite3 database API functions, there are 16 violations of the API call sequence specifications, with a violation rate of 53%. In addition, with comparative experiments of traditional sequential runtime verification approaches,it is shown that the proposed parallel runtime verification in this study can effectively improve the verification efficiency in a multi-core system.