https://www.stefan-winter.net/presentations/test_interference_c.html
Research focus: Software Dependability, Software Tests, Research Software
Test interference:
libkdumpfile
#! /bin/sh
name=xlatmap
resultfile="out/${name}.result"
expectfile="$srcdir/$name.expect"
echo -n "Checking... "
./xlatmap >"$resultfile"
Excerpt from:
https://github.com/ptesarik/libkdumpfile/blob/c54a90c2756e0ca7f9b45662ad3c987403ee7360/tests/xlatmap-check
libkdumpfile
#! /bin/sh
name=xlatmap
resultfile="out/${name}.result"
expectfile="$srcdir/$name.expect"
mkdir -p out
echo -n "Checking... "
./xlatmap >"$resultfile"
Excerpt from accepted fix:
https://github.com/ptesarik/libkdumpfile/blob/e6c5fde6ac7201185292539bef7203c9618ac773/tests/xlatmap-check
Goal: How common is test interference in C projects?
Subjects:
libkdumpfile
has 184 testslibkdumpfile
Insight: No shared resource access → no interference
Idea: Run every test once and record reads/writes on possibly shared resources
Insight: No shared resource access → no interference
Idea: Run every test once and record reads/writes on possibly shared resources
Language |
Interf. Root Cause | ||
---|---|---|---|
Order | Concurrency | ||
Java (Luo et al. 2014) |
|
|
|
Python (Gruber et al. 2021) |
|
|
|
JavaScript (Hashemi, Tahir, and Rasheed 2022) |
|
|
|
C |
|
|
libkdumpfile
:
33672 test pair runs and > 2h
→
4 test pair runs and < 1s
Findings:
Contributions:
Paper:
Artifact: