NQC2: A Non-Intrusive QEMU Code Coverage Plugin
By: Nils Bosbach , Alwalid Salama , Lukas Jünger and more
Potential Business Impact:
Tests tiny computer programs without changing them.
Code coverage analysis has become a standard approach in software development, facilitating the assessment of test suite effectiveness, the identification of under-tested code segments, and the discovery of performance bottlenecks. When code coverage of software for embedded systems needs to be measured, conventional approaches quickly meet their limits. A commonly used approach involves instrumenting the source files with added code that collects and dumps coverage information during runtime. This inserted code usually relies on the existence of an operating and a file system to dump the collected data. These features are not available for bare-metal programs that are executed on embedded systems. To overcome this issue, we present NQC2, a plugin for QEMU.NQC2 extracts coverage information from QEMU during runtime and stores them into a file on the host machine. This approach is even compatible with modified QEMU versions and does not require target-software instrumentation. NQC2 outperforms a comparable approach from Xilinx by up to 8.5 x.
Similar Papers
QLCoder: A Query Synthesizer For Static Analysis of Security Vulnerabilities
Cryptography and Security
Finds computer bugs automatically from bug reports.
C2|Q>: A Robust Framework for Bridging Classical and Quantum Software Development
Software Engineering
Makes it easier for coders to use quantum computers.
FuzzBox: Blending Fuzzing into Emulation for Binary-Only Embedded Targets
Cryptography and Security
Finds hidden bugs in closed software without source code.