• Home
  • Search
  • Zing: Exploiting Program Structure for Model Checking Concurrent Software
  • Cite Icon72
  • https://doi.org/10.1007/978-3-540-28644-8_1Copy DOI Icon

Zing: Exploiting Program Structure for Model Checking Concurrent Software

  • Jan 1, 2004
  • Tony Andrews +4 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Abstract Model checking is a technique for finding bugs in systems by systematically exploring their state spaces. We wish to extract sound models from concurrent programs automatically and check the behaviors of these models systematically. The zing project is an effort to build a flexible infrastructure to represent and model check abstractions of large concurrent software.To support automatic extraction of models from programs written in common programming languages, zing’s modeling language supports three facilities present in modern programming languages: (1) procedure calls with a call-stack, (2) objects with dynamic allocation, and (3) processes with dynamic creation, using both shared memory and message passing for communication. We believe that these three facilities capture the essence of model checking modern concurrent software.Building a scalable model-checker for such an expressive modeling language is a huge challenge. zing’s modular architecture provides a clear separation between the expressive semantics of the modeling language, and a simple view of zing programs as labeled transition systems. This separation has allowed us to decouple the design of efficient model checking algorithms from the complexity of supporting rich constructs in the modeling language. zing’s model checking algorithms have been designed to exploit existing structural abstractions in concurrent programs such as processes and procedure calls. We present two such novel techniques in the paper: (1) compositional checking of zing models for message-passing programs using a conformance theory inspired by work in the process algebra community, and (2) a new summarization algorithm, which enables zing to reuse work at procedure boundaries by extending interprocedural data-flow analysis algorithms from the compiler community to analyze concurrent programs.KeywordsModel CheckModeling LanguageProcedure CallLabel Transition SystemConcurrent ProgramThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Similar Papers
  • Research Article
  • Citations4

Model checking CML: tool development and industrial applications

  • Sep 07, 2015
  • Formal Aspects of Computing
  • A Mota +3
  • Conference Article
  • Citations1

Semantic on PROMELA dynamic process creation in concurrent systems

  • Aug 01, 2016
  • Sheila Nurul Huda
  • Book Chapter
  • Citations26

Towards a Model Checker for NesC and Wireless Sensor Networks

  • Jan 01, 2011
  • Manchun Zheng +4
  • PDF
  • Research Article
  • Citations1

Analysis of the experience of teaching modern programming languages in higher education institutions of Ukraine

  • Jun 30, 2018
  • Ukrainian Journal of Educational Studies and Information Technology
  • Sergei Dovgopol
  • Conference Article
  • Citations1

Model Checking in Concurrent Programming Teaching

  • Jan 01, 2007
  • Artur Krystosik
  • Book Chapter
  • Citations1

The Role of Abstraction in Model Checking

  • Jan 01, 2023
  • María-Del-Mar Gallardo +2
  • Research Article
  • Citations114

Automated formal verification of visual modeling languages by model checking

  • May 01, 2004
  • Software & Systems Modeling
  • Dániel Varró
  • Book Chapter
  • Citations8

Pairwise Reachability Analysis for Higher Order Concurrent Programs by Higher-Order Model Checking

  • Jan 01, 2014
  • Kazuhide Yasukata +2
  • Research Article
  • Citations4

Debugging Tools for Concurrent Logic Programming

  • Apr 01, 1992
  • The Computer Journal
  • T Conlon +1
  • Research Article
  • Citations8

Model checking lattices: using and reasoning about information orders for abstraction

  • May 01, 1999
  • Logic Journal of IGPL
  • S Hazelhurst
  • Book Chapter
  • Citations34

Alvis – Modelling Language for Concurrent Systems

  • Jan 01, 2011
  • Marcin Szpyrka +2
  • Research Article
  • Citations136

Model Checking Complete Requirements Specifications Using Abstraction

  • Jan 01, 1999
  • Automated Software Engineering
  • Ramesh Bharadwaj +1
  • Book Chapter
  • Citations41

A space-efficient on-the-fly algorithm for real-time model checking

  • Jan 01, 1996
  • Thomas A Henzinger +2
  • Research Article
  • Citations10

Combining static analysis and case-based search space partitioning for reducing peak memory in model checking

  • Nov 01, 2003
  • Journal of Computer Science and Technology
  • Wenhui Zhang
  • Book Chapter
  • Citations45

Formal Verification for Nonlinear Analog Systems: Approaches to Model and Equivalence Checking

  • Jan 01, 2004
  • Walter Hartong +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.