Habib Saissi, Stefan Winter, Oliver Schwan, Karthik Pattabiraman, and Neeraj Suri, IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2020. (Acceptance Rate: 16.5%). [PDF | Talk] (Code)
Abstract: Modern computing systems typically relax execution determinism, for instance by allowing the CPU scheduler to inter-leave the execution of several threads. While beneficial for performance, execution non-determinism affects programs’ execution traces and hampers the comparability of repeated executions. We present TraceSanitizer, a novel approach for execution trace comparison in Error Propagation Analyses (EPA) of multi-threaded programs. TraceSanitizer can identify and compensate for non-determinism caused either by dynamic memory allocation or by non-deterministic scheduling. We formulate a condition under which TraceSanitizer is guaranteed to achieve a 0% false positive rate and automate its verification using Satisfiability Modulo Theory (SMT) solving techniques. TraceSanitizer is comprehensively evaluated using execution traces from the PARSEC and Phoenix benchmarks. In contrast with other approaches, TraceSanitizer eliminates false positives without increasing the false negative rate (for a specific class of programs), with reasonable performance overheads.
Contact
email: karthikp@ece.ubc.ca
Phone: 604-827-4245 (please email first)Address: Rm. 4048, Fred Kaiser Building, 2332 Main Mall, Vancouver, BC V6T1Z4.
-
Recent Papers
- ThingsMigrate: Platform-Independent Migration of Stateful JavaScript IoT Applications
- An Empirical Study of the Impact of Single and Multiple Bit-Flip Errors in Programs
- New Wine in an Old Bottle: N-Version Programming for Machine Learning Components
- Stealthy Attacks Against Robotic Vehicles Protected by Control-based Intrusion Detection Techniques
- How Far Have We Come in Detecting Anomalies in Distributed Systems? An Empirical Study with a Statement-level Fault Injection Method
- TensorFI: A Flexible Fault Injection Framework for TensorFlow Applications
- GPU-TRIDENT: Efficient Modeling of Error Propagation in GPU Programs
- How Effective are Smart Contract Static Analysis Tools ? Evaluating Smart Contract Static Analysis Tools Using Bug Injection
- TraceSanitizer – Eliminating the Effects of Non-determinism on Error Propagation Analysis
- Improving the Accuracy of IR-Level Fault Injection
Meta