Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
}
TY - GEN
T1 - TrEKer
T2 - Tracing error propagation in operating system kernels
AU - Coppik, N.
AU - Schwahn, O.
AU - Winter, S.
AU - Suri, Neeraj
AU - G., Rosu
AU - M., Di Penta
A2 - T.N., Nguyen
PY - 2017/10/30
Y1 - 2017/10/30
N2 - Modern operating systems (OSs) consist of numerous interacting components, many of which are developed and maintained independently of one another. In monolithic systems, the boundaries of and interfaces between such components are not strictly enforced at runtime. Therefore, faults in individual components may directly affect other parts of the system in various ways. Software fault injection (SFI) is a testing technique to assess the resilience of a software system in the presence of faulty components. Unfortunately, SFI tests of OSs are inconclusive if they do not lead to observable failures, as corruptions of the internal software state may not be visible at its interfaces and, yet, affect the subsequent execution of the OS beyond the duration of the test. In this paper we present TREKER, a fully automated approach for identifying how faulty OS components affect other parts of the system. TREKER combines static and dynamic analyses to achieve efficient tracing on the granularity of memory accesses. We demonstrate TrEKer's ability to support SFI oracles by accurately tracing the effects of faults injected into three widely used Linux kernel modules. © 2017 IEEE.
AB - Modern operating systems (OSs) consist of numerous interacting components, many of which are developed and maintained independently of one another. In monolithic systems, the boundaries of and interfaces between such components are not strictly enforced at runtime. Therefore, faults in individual components may directly affect other parts of the system in various ways. Software fault injection (SFI) is a testing technique to assess the resilience of a software system in the presence of faulty components. Unfortunately, SFI tests of OSs are inconclusive if they do not lead to observable failures, as corruptions of the internal software state may not be visible at its interfaces and, yet, affect the subsequent execution of the OS beyond the duration of the test. In this paper we present TREKER, a fully automated approach for identifying how faulty OS components affect other parts of the system. TREKER combines static and dynamic analyses to achieve efficient tracing on the granularity of memory accesses. We demonstrate TrEKer's ability to support SFI oracles by accurately tracing the effects of faults injected into three widely used Linux kernel modules. © 2017 IEEE.
KW - Execution Tracing
KW - Operating Systems
KW - Robustness Testing
KW - Software Fault Injection
KW - Test Oracles
KW - Automation
KW - Computer operating systems
KW - Computer software
KW - Interface states
KW - Software engineering
KW - Testing
KW - Execution tracing
KW - Individual components
KW - Monolithic systems
KW - Operating system kernel
KW - Robustness testing
KW - Software fault
KW - Static and dynamic analysis
KW - Test oracles
KW - Software testing
U2 - 10.1109/ASE.2017.8115650
DO - 10.1109/ASE.2017.8115650
M3 - Conference contribution/Paper
SN - 9781538639764
SP - 377
EP - 387
BT - 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)
PB - IEEE
ER -