Abstraction and specification in program development
Abstraction and specification in program development
Trace Specifications: Methodology and Models
IEEE Transactions on Software Engineering
In transition from global to modular temporal reasoning about programs
Logics and models of concurrent systems
Automated Analysis of Concurrent Systems with the Constrained Expression Toolset
IEEE Transactions on Software Engineering
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Verification of the Futurebus+ cache coherence protocol
Formal Methods in System Design - Special issue on symbolic model checking
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Verification of communication protocols using data flow analysis
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Filter-based model checking of partial systems
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Expressing interesting properties of programs in propositional temporal logic
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
Evaluating Deadlock Detection Methods for Concurrent Software
IEEE Transactions on Software Engineering
Formal Development of Reactive Systems - Case Study Production Cell
Formal Development of Reactive Systems - Case Study Production Cell
Protocol Verification as a Hardware Design Aid
ICCD '92 Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer & Processors
Staging Static Analyses Using Abstraction-Based Program Specialization
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Hi-index | 0.00 |
Model checking techniques have been successfully applied to the verification of correctness properties of complex hardware systems and communication protocols. This success has fueled the application of these techniques to software systems. To date, those efforts have been targeted at concurrent software whose complexity lies, primarily, in the large number of possible execution orderings of asynchronously executing program actions. In this paper, we apply existing model checking techniques to parameterizable implementations of container data structures. In contrast to most of the concurrent systems that have been studied in the model checking literature, the complexity of these implementations lies in their data structures and algorithms. We report our experiences model checking specifications of correctness properties of queue, stack and priority queue data structures implemented in Ada