On Equivalence Partitioning of Code Paths inside OS Kernel Components - Sârbu, Constantin; Nagappan, Nachi; Suri, Neeraj (Proceedings of the 2009 Software Technologies for Future Dependable Distributed Systems (STFSSD), 2009)
Commercial-off-the-shelf operating systems (COTS OSs) are increasingly chosen as key building blocks in embedded system design due to their rich feature-set available at low costs. Unfortunately, as the complexity of such OSs increases, testing key OS components such as device drivers (DD) to ensure continuous service provision becomes increasingly challenging. Despite the improving test efforts targeting DDs, they still represent a significant cause of system outages as the test coverage is invariably limited by the inability to exhaustively assess and cover the operational states. Consequently, if representative operational execution profiles of DDs within an OS could be obtained, these could significantly improve the understanding of the actual operational DD state space and help focus the test efforts onto the execution hotspots. Focusing on characterizing DD operational activities while assuming no access to source code, our work enables profiling the runtime behavior of DDs solely based on I/O and functional-call tracking. Such profiles are used to improve test adequacy against real-world workloads by enabling similarity quantification across them. The profiles also reveal execution hotspots in terms of functionalities activated in the field, allowing for dedicated test campaigns.