IPA: Error Propagation Analysis of Multi-threaded Programs Using Likely Invariants

Abraham Chan, Stefan Winter, Habib Saissi, Karthik Pattabiraman and Neeraj Suri. Proceedings of the IEEE International Conference on Software Testing, Verification and Validation (ICST), 2017. (Acceptance Rate: 27%) [PDF | Talk]

Abstract: Error Propagation Analysis (EPA) is a technique for understanding how errors affect a program’s execution and result in program failures. For this purpose, EPA usually compares the traces of a fault-free (golden) run with those from a faulty run of the program. This makes existing EPA approaches brittle for multithreaded programs, which do not typically have a deterministic golden run. In this paper, we study the use of likely invariants generated by automated approaches as alternatives for golden run based EPA in multithreaded programs. We present IPA, an approach and a framework for automatically deriving invariants for multithreaded programs, and using the invariants for EPA. We evaluate the invariants derived by IPA in terms of their coverage for different fault types across six different programs through fault injection experiments. We find that stable invariants can be inferred in all six programs, although their coverage of faults depends on the application and the fault type.