Title
Probe-based Syscall Tracing for Efficient and Practical File-level Test Traces
Abstract
Efficiently collecting per-test execution traces is a common prerequisite of dynamic regression test optimization techniques. However, as these test traces are typically recorded through language-specific code instrumentation, non-code artifacts and multi-language source code are usually not included. In contrast, more complete test traces can be obtained by instrumenting operating system calls and thereby tracing all accessed files during a test’s execution. Yet, existing test optimization techniques that use syscall tracing are impractical as they either modify the Linux kernel or operate in user space, thus raising transferability, performance, and security concerns. Recent advances in operating system development provide versatile, lightweight, and safe kernel instrumentation frameworks: They allow to trace syscalls by instrumenting probes in the operating system kernel. Probe-based Syscall Tracing (ProST), our novel technique, harnesses this potential to collect file-level test traces that go beyond language boundaries and consider non-code artifacts. To evaluate ProST’s efficiency and the completeness of obtained test traces, we perform an empirical study on 25 multi-language open-source software projects and compare our approach to existing language-specific instrumentation techniques. Our results show that most studied projects use source files from multiple languages (22/25) or non-code artifacts during testing (22/25) that are missed by language-specific techniques. With the low execution time overhead of 4.6% compared to non-instrumented test execution, ProST is more efficient than language-specific instrumentation. Furthermore, it collects on average 89% more files on top of those collected by language-specific techniques. Consequently, ProST paves the way for efficiently extracting valuable information through dynamic analysis to better understand and optimize testing in multi-language software systems. CCS CONCEPTS • Software and its engineering → Software testing and debugging.
Year
DOI
Venue
2022
10.1145/3524481.3527239
2022 IEEE/ACM International Conference on Automation of Software Test (AST)
Keywords
DocType
ISBN
software testing,dynamic program analysis,multi-language software,non-code artifacts
Conference
978-1-6654-5205-2
Citations 
PageRank 
References 
0
0.34
40
Authors
4
Name
Order
Citations
PageRank
Daniel Eisner100.34
Roland Wuersching200.68
Markus Schnappinger332.41
Alexander Pretschner41585137.50