Execution path profiling for OS device drivers: viability and methodology

  • Authors:
  • Constantin Sârbu;Andréas Johansson;Neeraj Suri

  • Affiliations:
  • Department of Computer Science, Technische Universität Darmstadt, Darmstadt, Germany;Department of Mechatronics and Software, Volvo Technology Corporation, Göteborg, Sweden;Department of Computer Science, Technische Universität Darmstadt, Darmstadt, Germany

  • Venue:
  • ISAS'08 Proceedings of the 5th international conference on Service availability
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Operating Systems (OSs) mediate across the hardware and software applications, leading to overall system service provision, but often sacrifice service robustness while favoring increasing feature richness and peripheral support. The OS interface to peripherals is implemented by components termed as Device Drivers (DDs). Unfortunately, despite extensive testing, DDs continue to constitute the prominent cause of system service failures. To find DD's weakness areas, this paper proposes a novel technique for profiling kernel mode DDs execution paths. Such profiles highlight the frequently used parts of a driver for a workload, helping identify redundant tests. The communication interfaces between the OS and DDs are simultaneously monitored, revealing the kernel functions invoked at runtime and the followed code paths. To highlight execution hotspots, a cluster analysis scheme using string similarity metrics is proposed to distribute the code paths into equivalence classes, reflecting the occurrence weights of both kernel functions and code paths.