ACM Transactions on Software Engineering and Methodology (TOSEM)
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
Proceedings of the 22nd 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
Evaluating Deadlock Detection Methods for Concurrent Software
IEEE Transactions on Software Engineering
Automated Software Engineering
The Temporal Rover and the ATG Rover
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
Experimental Design for Comparing Static Concurrency Analysis
Experimental Design for Comparing Static Concurrency Analysis
Comparing Finite-State Verification Techniques for Concurrent Software
Comparing Finite-State Verification Techniques for Concurrent Software
Experiments with test case generation and runtime analysis
ASM'03 Proceedings of the abstract state machines 10th international conference on Advances in theory and practice
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Combining test case generation and runtime verification
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Racer: effective race detection using aspectj
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Model-Based Quality Assurance of Automotive Software
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Verification and semantic parallelization of goal-driven autonomous software
Autonomics '08 Proceedings of the 2nd International Conference on Autonomic Computing and Communication Systems
ACM Computing Surveys (CSUR)
An Empirical Study of Structural Constraint Solving Techniques
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Combined Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Detection of deadlock potentials in multithreaded programs
IBM Journal of Research and Development
Synthesizing a specification-based monitor for safety requirements
Iranian Journal of Science and Technology, Transaction B: Engineering
Java replay for dependence-based debugging
Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Dynamic deadlock analysis of multi-threaded programs
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
Proceedings of the 2012 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Formal passive testing of timed systems: theory and tools
Software Testing, Verification & Reliability
HCI'13 Proceedings of the 15th international conference on Human-Computer Interaction: human-centred design approaches, methods, tools, and environments - Volume Part I
Hi-index | 0.00 |
We report on a study to determine the maturity of different verification and validation technologies (V&V) applied to a representative example of NASA flight software. The study consisted of a controlled experiment where three technologies (static analysis, runtime analysis and model checking) were compared to traditional testing with respect to their ability to find seeded errors in a prototype Mars Rover controller. What makes this study unique is that it is the first (to the best of our knowledge) controlled experiment to compare formal methods based tools to testing on a realistic industrial-size example, where the emphasis was on collecting as much data on the performance of the tools and the participants as possible. The paper includes a description of the Rover code that was analyzed, the tools used, as well as a detailed description of the experimental setup and the results. Due to the complexity of setting up the experiment, our results cannot be generalized, but we believe it can still serve as a valuable point of reference for future studies of this kind. It confirmed our belief that advanced tools can outperform testing when trying to locate concurrency errors. Furthermore, the results of the experiment inspired a novel framework for testing the next generation of the Rover.