Analyzing partially-implemented real-time systems
ICSE '97 Proceedings of the 19th international conference on Software engineering
Automatically closing open reactive programs
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Verification of time partitioning in the DEOS scheduler kernel
Proceedings of the 22nd international conference on Software engineering
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Transformations for model checking distributed Java programs
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Model checking Java programs using structural heuristics
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Domain partitioning for open reactive systems
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Model-Checking Multi-threaded Distributed Java Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Atomizer: a dynamic atomicity checker for multithreaded programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analyzing Interaction Orderings with Model Checking
Proceedings of the 19th IEEE international conference on Automated software engineering
jMock: supporting responsibility-based design with mock objects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Application of design for verification with concurrency controllers to air traffic control software
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Model checking large network protocol implementations
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Using model checking to find serious file system errors
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Learning assumptions for compositional verification
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Generalized symbolic execution for model checking and testing
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
SPIN'03 Proceedings of the 10th international conference on Model checking software
Parallel Randomized State-Space Search
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Combining environment generation and slicing for modular software model checking
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Automated Construction of Reasonable Environment for Java Components
Electronic Notes in Theoretical Computer Science (ENTCS)
A QoS test-bed generator for web services
ICWE'07 Proceedings of the 7th international conference on Web engineering
Extraction of component-environment interaction model using state space traversal
Proceedings of the 2010 ACM Symposium on Applied Computing
Automatic generation of model checking scripts based on environment modeling
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
BALLERINA: automatic generation and clustering of efficient random unit tests for multithreaded code
Proceedings of the 34th International Conference on Software Engineering
An object-oriented framework for improving software reuse on automated testing of mobile phones
TestCom'07/FATES'07 Proceedings of the 19th IFIP TC6/WG6.1 international conference, and 7th international conference on Testing of Software and Communicating Systems
Hi-index | 0.00 |
Model checking can be an effective technique for detecting concurrency-related errors in software systems. However, due to scalability issues, to handle industrial-strength software, model checking needs to be combined with powerful reduction techniques. In this work, we applied modular model checking to detect errors in Interstage Business Process Management (I-BPM) software, a Java client-server application spanning more than 500,000 lines of code. To model check a separate module, one needs to represent its context of execution, i.e., its environment. Environment generation is a significant challenge, since the environment is to be general enough to uncover the module's errors, yet restrictive enough to allow tractable model checking.In this paper, we present an experimental study that demonstrates the effectiveness of environment generation as a reduction technique in general and the effectiveness of automated environment generation in particular. Since model checking of the original application was intractable, we compared performance of automatically generated environments to environments written previously by hand. Automatic environments were obtained using Bandera Environment Generator (BEG). We present results of modular verification for both manual and automatic environments. The results show that automatically generated environments produce systems with a smaller state space, yet, for faulty modules, uncover the errors and, for error-free modules, produce coverage similar to manual environments.