Software model checking with spin

Pdf using spin model checking for flight software verification. The paper presents a good overview of the state of the art in software model checking. Pdf software model checking with spin gerard holzmann. It is often considered the most widely used formal verification tool. The spin workshop is a forum for researchers interested in the subject of automatabased, explicitstate model checking technologies for the analysis and veri. Spin, developed by bell labs formal methods and verification group, is a freelyavailable software package that supports the formal verification of distributed systems. Model checking software 17th international spin workshop, enschede, the netherlands, september 2729, 2010. Software verification, model checking, model extraction, software. This paper presents a new technique to implement sound abstract. The spin model checker metodi di verifica del software andrea corradini lezione 1 20 slides liberamente adattate da logic model checking, per gentile concessione di gerard j.

Spin is a general tool for the logical verification of concurrent software in a. The 19th international spin workshop on model checking of software spin 2012 will be held in oxford from 2324 july 2012. Robust software engineering software model checking. Spin 2012 is the latest in a successful series of workshops for practitioners and researchers interested in state spacebased techniques for the validation and analysis of software systems.

Model checking software 11th international spin workshop, barcelona, spain, april, 2004, proceedings. M k where b is the property automaton for the negation of an ltl formula that should be satisfied, and where x indicates synchronous. For the love of physics walter lewin may 16, 2011 duration. Model checking is a technique for software verification that can detect concurrency defects that are otherwise difficult to discover. Although modelchecking algorithms include ingenious ways to reduce this state space, the model checker may still take too long to verify a given property or give up during this task. Practical application of model checking in software. The aim of this chapter is to give an overview of the theoretical foundation and the practical application of logic model checking techniques for the verification of multithreaded software rather than hardware systems. Spin 2008 is a forum for practitioners and researchers interested in model checking based techniques for the validation and analysis of communication protocols and software systems. Current research in software model checking explores new techniques to handle the storage of visited states usually called the heap. An online course in software verification and logic model checking is. The aim of this chapter is to give an overview ofthe theoretical foundation and the practical application of logic model checking techniques for the verification of multithreaded software rather than hardware systems. This book constitutes the refereed proceedings of the 18th international spin workshop on model checking software, spin 2011, held in snowbird, ut, usa, in july 2011. Explicitstate model checking, partialorder reduction.

In the hardware domain, the introduction of symbolic model checking has been. In this chapter we provide a synopsis of the model checking procedure as it applies to the verification of distribute software systems, and summarize the progress that has been made in. This book constitutes the refereed proceedings of the 26th international symposium on model checking software, spin 2019, held in beijing, china, in july 2019. The 25th edition of the spin symposium aims at bringing together researchers and practitioners interested in automated toolbased techniques for the analysis of software as well as models of software, for the purpose of verification and validation. Software model checking can detect resources race in concurrent program without running, although the. An online course in software verification and logic model checking is available password required. The workshop will focus on topics including theoretical and algorithmic foundations and tools for software model checking, techniques for dealing with large and. Invited lecture at the 23rd international spin symposium on model checking of software, 8 april 2016, eindhoven university of technology, eindhoven, the netherlands. Section 9 relates model checking to software testing and type systems, and section 10 presents a general conclusion. One approach consists in saving only parts or representations of the states in the heap. The treatment is focused on the logic model checker spin, which was designed for this specific domain of application.

The verification of concurrent software predominantly employs explicitstate model checkers, such as spin, that use partialorder reduction as a main technique to deal with large state spaces efficiently. The colocation of spin workshops with conferences has proven to be very successful and has helped to disseminate spin model checking technology to wider audiences. The spin symposium aims at bringing together researchers and practitioners interested in automated toolbased techniques for the analysis of software as well as models of software, for the purpose of verification and validation. This year, spin 2002 was held as a satellite event of etaps 2002, the european joint conferences on theory and practice of software. In addition to model checking, spin can also operate as a simulator, following one possible execution path through the system and presenting the resulting execution trace to the user. The treatment is focused on the logic model checker spin. Model checking software 11th international spin workshop. Spin 2008 is a forum for practitioners and researchers interested in modelchecking based techniques for the validation and analysis of communication protocols and software systems. Model checking software 9th international spin workshop. Software model checking can detect resources race in concurrent program without running, although the program had. The spin workshop series brings together researchers and practitioners int ested in explicit state model checking technology as it is applied to the veri. Citeseerx abstract matching for software model checking. Since 2011, the model checking contest mcc compare performances of model checking tools designed to analyze highly concurrent systems.

The spin symposium originated as a workshop focusing on explicit state model checking, specifically as related to the spin model checker. It has been used to detect design errors in applications ranging from highlevel descriptions of distributed algorithms to detailed code for controlling telephone exchanges. Spin 2019 26th international symposium on model checking of software beijing, china, july 1519, 2019 colocated. In promela, the specification language used by spin, message send and. The software has been available freely since 1991, and continues to evolve to keep pace with new developments in the field. It has been used to detect design errors in applications ranging from highlevel. Basic fixpoint theory, symbolic model checking, abstraction, bounded model checking, interpolation and its variants, symmetry reduction, assumeguarantee reasoning, learning finite automata, checking simulation and bisimulation, infinitestate model checking. Software model checking with spin complexity and user friendliness. The 17th international spin workshop on model checking of software spin 2010 will be held at the university of twente, enschede the netherlands in the last week of september 2010, along with several satellite events. Citeseerx document details isaac councill, lee giles, pradeep teregowda. The 27th edition of the spin symposium aims at bringing together researchers and practitioners interested in automated toolbased techniques for the analysis of software as well as models of software, for the purpose of verification and validation. It has been used to detect design errors in applications ranging from highlevel descriptions of distributed alg.

In such cases the user has to put in more work, such as verifying parts of the model separately or reducing the state space by reducing domains of variables. Pdf model checking has for years been advertised as a way of ensuring the correctness of complex software systems. This volume contains the proceedings of the 16th international spin workshop on model checking of software spin 2009. Spin 2006 th international spin workshop on model checking of software march 30 april 1, 2006, vienna, austria a satellite workshop of etaps 2006. The model checker spin ieee transactions on software. This volume contains the proceedings of the 12th international spin wo shop on model checking of software, held in san francisco, usa, on august 2224,2005. Gerard explains how spin works, and what types of errors it can help you find. Spin is a general tool for verifying the correctness of concurrent software models in a rigorous and mostly automated fashion. Jun 22, 2018 spin 2018 25th international symposium on model checking of software malaga, spain, june 2022, 2018. Jul 14, 2017 the spin symposium originated as a workshop focusing on explicit state model checking, specifically as related to the spin model checker. University of twente, enschede, the netherlands 27 september 29 september, 2010. Spin is an efficient verification system for models of distributed software systems.

Spin is an opensource software verification tool that was originally developed starting in 1980 in the computing science research center of bell labs the unix group. Apr 27, 2020 spin an efficient logic model checker for the verification of multithreaded code. International spin symposium on model checking of software. This book constitutes the refereed proceedings of the 23rd international symposium on model checking software, spin 2016, held in eindhoven, the netherlands, in april 2016. Model checking is a popular formal verification technique for both software and hardware. Pdf experience applying the spin model checker to an industrial. In order to investigate the challenges that software poses for model checking, we have applied the java pathfinder jpf, a recently developed java to spin translator, in the verification of a chinese chess game server application l. Spin an efficient logic model checker for the verification of multithreaded code. There are a total 15 short lectures covering the automatatheoretic verification method, the basic use of spin, model extraction from c source code, abstraction methods, and swarm verification techniques. Holzmann and others in the original unix group of the computing sciences research center at bell labs, beginning in 1980. Using spin model checking for flight software verification. Section 8, liveness and termination, briefly offers some hints for working in this area. Flavio lerda, willem visser, addressing dynamic issues of program model checking, proc. Apr, 2016 invited lecture at the 23rd international spin symposium on model checking of software, 8 april 2016, eindhoven university of technology, eindhoven, the netherlands.

Spin 2005is a forum for practitionersand researchersinterested in model checking based techniques for the validation and analysis of communi tion protocols and software systems. This book constitutes the refereed proceedings of the 22nd international symposium on model checking software, spin 2015, held in stellenbosch, south. Since 1995, when the spin workshop series was instigated, spin workshops have been held. However, over the years it has evolved to a broadly scoped symposium for software analysis using any automated techniques, including model checking, automated theorem proving, and symbolic execution. Practical application of model checking in software verification. Furthermore, the promela models have been tested by using the model checker, spin. Model checking is a method for formally verifying finitestate concurrent systems. In this chapter we provide a synopsis of the model checking procedure as it applies to the verification of distribute software systems, and summarize the progress that has been made in diminishing the effects of these last two limitations. Unlike many model checkers, spin does not actually perform model checking itself, but instead generates c sources for a problemspecific model checker. Spin 2005is a forum for practitionersand researchersinterested in modelchecking based techniques for the validation and analysis of communi tion protocols and software systems. Software model checking improving security of a billion computers, spin2009 invited talk.

602 1634 773 698 331 1358 105 1320 604 1055 200 1340 263 892 1110 18 1547 501 139 483 101 387 83 284 806 1667 765 1542 803 796 932 19 1255 439 651 91 1078 536 1247 560 585 643 1163 973 1123 859 1478 261 1145