Treffer: Zing: Exploiting program structure for model checking concurrent software

Title:
Zing: Exploiting program structure for model checking concurrent software
Source:
CONCUR 2004 : concurrency theory (London, 31 August - 3 September 2004)Lecture notes in computer science. :1-15
Publisher Information:
Berlin: Springer, 2004.
Publication Year:
2004
Physical Description:
print, 21 ref
Original Material:
INIST-CNRS
Subject Terms:
Computer science, Informatique, Sciences exactes et technologie, Exact sciences and technology, Sciences appliquees, Applied sciences, Informatique; automatique theorique; systemes, Computer science; control theory; systems, Logiciel, Software, Génie logiciel, Software engineering, Abstraction, Abstracción, Algèbre processus, Process algebra, Algebra proceso, Allocation dynamique, Dynamic allocation, Asignación dinámica, Analyse algorithme, Algorithm analysis, Análisis algoritmo, Analyse structurale, Structural analysis, Análisis estructural, Appel procédure, Procedure call, Llamada procedimiento, Architecture modulaire, Modular architecture, Arquitectura modular, Compilateur, Compiler, Compilador, Complexité algorithme, Algorithm complexity, Complejidad algoritmo, Dynamique processus, Process dynamics, Dinámica proceso, Envoi message, Message passing, Espace état, State space, Espacio estado, Flot donnée, Data flow, Flujo datos, Langage programmation, Programming language, Lenguaje programación, Modèle comportement, Behavior model, Modelo comportamiento, Mémoire partagée, Shared memory, Memoria compartida, Méthode espace état, State space method, Método espacio estado, Pile mémoire, Stack, Pila, Programme concurrent, Concurrent program, Programa competidor, Programme contrôle, Checking program, Programa control, Réutilisation, Reuse, Reutilización, Simultanéité informatique, Concurrency, Simultaneidad informatica, Structure programme, Program structure, Estructura programa, Sémantique, Semantics, Semántica, Vérification programme, Program verification, Verificación programa, Extraction programme, Program extraction, Extracción programa, Système transition, Transition system, Sistema transición, Vérification modèle, Model checking, Verificación modelo
Document Type:
Konferenz Conference Paper
File Description:
text
Language:
English
Author Affiliations:
Microsoft Research
Stanford University, United States
ISSN:
0302-9743
Rights:
Copyright 2004 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems
Accession Number:
edscal.16107733
Database:
PASCAL Archive

Weitere Informationen

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 inter procedural dataflow analysis algorithms from the compiler community to analyze concurrent programs.