

Although Python is one of the most widely used programming languages, and it is a foundation for a variety of parallel and distributed computing frameworks, it still lacks an applicable and reliable software transactional memory. In this paper, we present an approach to formal verification of a Python Software Transactional Memory (PSTM) solution using UPPAAL tool. The aims are (i) to apply a formal verification process to a real STM implementation in order to derive a faithful STM model based on a PSTM design and (ii) to use developed PSTM model for automated machine-checked formal verification of core system properties such as safety and liveness using a model checker tool. Firstly, an architecture of PSTM solution is introduced. Secondly, formalization and a PSTM system model are analyzed. Finally, core PSTM system's properties are verified, namely safety, liveness, and reachability. Utilizing a UPPAAL's model checker tool it is successfully verified that the PSTM system model satisfies each of the three formerly mentioned properties. © 2017 ACM.
| Engineering controlled terms: | Computer programmingComputer softwareDistributed computer systemsHigh level languagesModel checkingSafety engineeringStorage allocation (computer)Verification |
|---|---|
| Engineering uncontrolled terms | Automated machinesModel-based OPCParallel and distributed computingPythonSoftware transactional memorySystem modelingUPPAALVerification process |
| Engineering main heading: | Formal verification |
| Funding sponsor | Funding number | Acronym |
|---|---|---|
| 114-451-1074/2014-03 | ||
| Ministarstvo Prosvete, Nauke i Tehnološkog Razvoja | III044006,ON174026,TR32031 | MPNTR |
This work was partially supported by the Ministry of Education, Science and Technological Development of the Republic of Serbia, under grant no. TR32031, ON174026, III044006, and by the Secretary of Science and Technology Development of the Province of Vojvodina under Grant 114-451-1074/2014-03.
Kordic, B.; Faculty of Technical Sciences, University of Novi Sad, Trg Dositeja Obradovica 6, Novi Sad, Serbia;
© Copyright 2018 Elsevier B.V., All rights reserved.