Skip to main content
ACM International Conference Proceeding SeriesVolume Part F130524, 31 August 2017, Article number a135th European Conference on the Engineering of Computer-Based Systems, ECBS 2017; Larnaca; Cyprus; 31 August 2017 through 1 September 2017; Code 130524

An approach to formal verification of python software transactional memory(Conference Paper)

  Save all to author list
  • Faculty of Technical Sciences, University of Novi Sad, Trg Dositeja Obradovica 6, Novi Sad, Serbia

Abstract

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.

Author keywords

Formal verificationPythonSoftware transactional memoryUPPAAL

Indexed keywords

Engineering controlled terms:Computer programmingComputer softwareDistributed computer systemsHigh level languagesModel checkingSafety engineeringStorage allocation (computer)Verification
Engineering uncontrolled termsAutomated machinesModel-based OPCParallel and distributed computingPythonSoftware transactional memorySystem modelingUPPAALVerification process
Engineering main heading:Formal verification

Funding details

Funding sponsor Funding number Acronym
114-451-1074/2014-03
Ministarstvo Prosvete, Nauke i Tehnološkog RazvojaIII044006,ON174026,TR32031MPNTR
  • 1

    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.

  • ISBN: 978-145034843-0
  • Source Type: Conference Proceeding
  • Original language: English
  • DOI: 10.1145/3123779.3123788
  • Document Type: Conference Paper
  • Volume Editors: Rysavy O.,Vranic V.
  • Sponsors: Austrian Airlines,Republic of Cyprus,University of Cyprus
  • Publisher: Association for Computing Machinery

  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.

Cited by 8 documents

Liu, A. , Zhu, H. , Popovic, M.
Formal analysis and verification of the PSTM architecture using CSP
(2020) Journal of Systems and Software
Popovic, M. , Popovic, M. , Kordic, B.
A Solution of Python Distributed STM Based on Data Replication
(2019) 27th Telecommunications Forum, TELFOR 2019
Popovic, M. , Popovic, M. , Ghilezan, S.
Formal verification of python software transactional memory serializability based on the push/pull semantic model
(2019) ACM International Conference Proceeding Series
View details of all 8 citations
{"topic":{"name":"Transactional Memory; Storage Allocation (Computer); Parallel Programming","id":9595,"uri":"Topic/9595","prominencePercentile":50.31553,"prominencePercentileString":"50.316","overallScholarlyOutput":0},"dig":"2388eb06d6f9c7ffb19bec931b140ecb1a9b2ca657215ba2f0b1d4f6a9a523a0"}

SciVal Topic Prominence

Topic:
Prominence percentile: