Computer Science and Information Systems 2023 Volume 20, Issue 1, Pages: 307-327
https://doi.org/10.2298/CSIS210908058P
Full text ( 2828 KB)


Complete formal verification of the PSTM transaction Scheduler

Popović Miroslav ORCID iD icon (University of Novi Sad, Faculty of Technical Sciences, Novi Sad, Serbia), miroslav.popovic@rt-rk.uns.ac.rs
Popović Marko ORCID iD icon (University of Novi Sad, Faculty of Technical Sciences, Novi Sad, Serbia), marko.popovic@rt-rk.uns.ac.rs
Kordić Branislav (University of Novi Sad, Faculty of Technical Sciences, Novi Sad, Serbia), branislav.kordic@rt-rk.uns.ac.rs
Zhu Huibiao (East China Normal University, Shanghai Key Laboratory of Trustworthy Computing, Shanghai, China), hbzhu@sei.ecnu.edu.cn

State of the art formal verification is based on formal methods and its goal is proving given correctness properties. For example, a PSTM scheduler was modeled in CSP in order to prove deadlock-freeness and starvation-freeness. However, as this paper shows, using solely formal methods is not sufficient. Therefore, in this paper we propose a complete formal verification of trustworthy software, which jointly uses formal verification and formal model testing. As an example, we first test the previous CSP model of PSTM transaction scheduler by comparing the model checker PAT results with the manually derived expected results, for the given test workloads. Next, according to the results of this testing, we correct and extend the CSP model. Finally, using PAT results for the new CSP model, we analyze the performance of the PSTM online transaction scheduling algorithms from the perspective of the relative speedup.

Keywords: Formal Verification, Process Algebra, Transaction Scheduling, Python, Software Transactional Memory

Project of the Serbian Ministry of Education, Science and Technological Development, Grant no. 451-03-68/2020-14/200156


Show references