Error Propagation Analysis for Multithreaded Programs: An Empirical Approach
CoRR(2023)
摘要
Fault injection is a technique to measure the robustness of a program to
errors by introducing faults into the program under test. Following a fault
injection experiment, Error Propagation Analysis (EPA) is deployed to
understand how errors affect a program's execution. EPA typically compares the
traces of a fault-free (golden) run with those from a faulty run of the
program. While this suffices for deterministic programs, EPA approaches are
unsound for multithreaded programs with non-deterministic golden runs. In this
paper, we propose Invariant Propagation Analysis (IPA) as the use of
automatically inferred likely invariants ("invariants" in the following) in
lieu of golden traces for conducting EPA in multithreaded programs. We evaluate
the stability and fault coverage of invariants derived by IPA through fault
injection experiments across six different fault types and six representative
programs that can be executed with varying numbers of threads. We find that
stable invariants can be inferred in all cases, but their fault coverage
depends on the application and the fault type. We also find that fault coverage
for multithreaded executions with IPA can be even higher than for traditional
singlethreaded EPA, which emphasizes that IPA results cannot be trivially
extrapolated from traditional EPA results.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要