IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Dynamic software testing of MPI applications with umpire
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Dynamic partial-order reduction for model checking software
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated, scalable debugging of MPI programs with Intel® Message Checker
Proceedings of the second international workshop on Software engineering for high performance computing system applications
An instrumentation technique for online analysis of multithreaded programs: Research Articles
Concurrency and Computation: Practice & Experience - Parallel and Distributed Systems: Testing and Debugging (PADTAD)
Mutation Operators for Concurrent Java (J2SE 5.0)
MUTATION '06 Proceedings of the Second Workshop on Mutation Analysis
Formal Verification of Simulation Traces Using Computation Slicing
IEEE Transactions on Computers
Predictive runtime verification of multi-processor SoCs in SystemC
Proceedings of the 45th annual Design Automation Conference
A graph based approach for MPI deadlock detection
Proceedings of the 23rd international conference on Supercomputing
Efficient dynamic verification of concurrent programs
Efficient dynamic verification of concurrent programs
MPIRace-check: detection of message races in MPI programs
GPC'07 Proceedings of the 2nd international conference on Advances in grid and pervasive computing
Debugging support tool for MCAPI applications
Proceedings of the 8th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
CRI: symbolic debugger for MCAPI applications
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Concurrency-oriented verification and coverage of system-level designs
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Detecting errors in multithreaded programs by generalized predictive analysis of executions
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Detecting temporal logic predicates on distributed computations
DISC'07 Proceedings of the 21st international conference on Distributed Computing
LLVMVF: A Generic Approach for Verification of Multicore Software
Journal of Electronic Testing: Theory and Applications
Hi-index | 0.00 |
We describe verification and coverage methods for multicore software that uses message passing libraries for communication. Specifically, we provide techniques to improve reliability of software using the new industry standard MCAPI by the Multicore Association. We develop dynamic predictive verification techniques that allow us to find actual and potential errors in a multicore software. Some of these error types are deadlocks, race conditions, and violation of temporal assertions. We complement our verification techniques with a mutation-testing-based coverage metric. Coverage metrics enable measuring the quality of verification tests. We implemented our techniques in tools and validated them on several multicore programs that use the MCAPI standard. We implement our techniques in tools and experimentally show the effectiveness of our approach. We find errors that are not found using traditional dynamic verification techniques and we can potentially explore execution schedules different than the original program with our coverage tool. This is the first time such predictive verification and coverage metrics have been developed for MCAPI.