A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Design and validation of computer protocols
Design and validation of computer protocols
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Handbook of theoretical computer science (vol. B)
Data flow analysis of concurrent systems that use the rendezvous model of synchronization
TAV4 Proceedings of the symposium on Testing, analysis, and verification
A toolbox for the verification of LOTOS programs
ICSE '92 Proceedings of the 14th international conference on Software engineering
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
TAOS: Testing with Analysis and Oracle Support
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Oracles for checking temporal properties of concurrent systems
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Analyzing the communication topology of concurrent programs
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Semantic analysis of shared-memory concurrent languages using abstract model-checking
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Structural specification-based testing with ADL
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Constructing abstract models of concurrent real-time software
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Specification-based testing of reactive software: tools and experiments: experience report
ICSE '97 Proceedings of the 19th international conference on Software engineering
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
A practical method for verifying event-driven software
Proceedings of the 21st international conference on Software engineering
Model checking
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Symbolic Model Checking
Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem
Protocol Verification as a Hardware Design Aid
ICCD '92 Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer & Processors
Validating SDL Specifications: an Experiment
Proceedings of the IFIP WG6.1 Ninth International Symposium on Protocol Specification, Testing and Verification IX
Abstract Interpretation of the pi-Calculus
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
Model Checking in Practice: An Analysis of the ACCESS.bus Protocol using SPIN
FME '96 Proceedings of the Third International Symposium of Formal Methods Europe on Industrial Benefit and Advances in Formal Methods
Using On-The-Fly Verification Techniques for the Generation of test Suites
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Verification of the Futurebus+ Cache Coherence Protocol
CHDL '93 Proceedings of the 11th IFIP WG10.2 International Conference sponsored by IFIP WG10.2 and in cooperation with IEEE COMPSOC on Computer Hardware Description Languages and their Applications
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Formal validation of virtual finite state machines
WIFT '95 Proceedings of the 1st Workshop on Industrial-Strength Formal Specification Techniques
Computer-assisted assume/guarantee reasoning with VeriSoft
Proceedings of the 25th International Conference on Software Engineering
Recovery of PTUIE Handling from Source Codes through Recognizing Its Probable Properties
IEEE Transactions on Knowledge and Data Engineering
Automating comprehensive safety analysis of concurrent programs using verisoft and TXL
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Software Model Checking: The VeriSoft Approach
Formal Methods in System Design
Software and the Concurrency Revolution
Queue - Multiprocessors
Experience applying the SPIN model checker to an industrial telecommunications system
Proceedings of the 30th international conference on Software engineering
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
From Model Driven Engineering to Verification Driven Engineering
SEUS '08 Proceedings of the 6th IFIP WG 10.2 international workshop on Software Technologies for Embedded and Ubiquitous Systems
MODIST: transparent model checking of unmodified distributed systems
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
ACM Computing Surveys (CSUR)
Source Transformation for Concurrency Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Analysis of a session-layer protocol in MCRL2: verification of a real-life industrial implementation
FMICS'07 Proceedings of the 12th international conference on Formal methods for industrial critical systems
Run-time verification of networked software
RV'10 Proceedings of the First international conference on Runtime verification
Automated verification and testing of user-interactive undo features in database applications
Software Testing, Verification & Reliability
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Robust synthesis for real-time systems
Theoretical Computer Science
Hi-index | 0.00 |
We present an application of software model checking to the analysis of a large industrial software product: Lucent Technologies' CDMA call-processing library. This software is deployed on thousands of base stations in wireless networks world-wide, where it sets up and manages millions of calls to and from mobile devices everyday. Our analysis of this software was carried out using VeriSoft, a tool developed at Bell Laboratories that implements model-checking algorithms for systematically testing concurrent reactive software.VeriSoft has now been used for over a year for analyzing several releases and versions of the CDMA call-processing software. Although we started this work with a fairly robust version of the software, the application of model checking exposed several problems that had escaped traditional testing. Model checking also helped developers maintain a high degree of confidence in the library as it evolved through its many releases and versions.To our knowledge, software model checking has rarely been applied to software systems of this scale. In this paper, we describe our experience in applying this technology in an industrial environment.