Skip to main content

Execution Path Profiling for OS Device Drivers: Viability and Methodology

  • Conference paper
Service Availability (ISAS 2008)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 5017))

Included in the following conference series:

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.

This research has been supported, in part, by Microsoft Research, EU FP6 NoE ReSIST and DFG TUD GK-MM.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Mendonca, M., Neves, N.: Robustness testing of the Windows DDK. In: Dependable Systems and Networks (DSN), June 2007, pp. 554–564 (2007)

    Google Scholar 

  2. Swift, M.M., Bershad, B.N., Levy, H.M.: Improving the reliability of commodity operating systems. ACM Transactions on Computer Systems 23(1), 77–110 (2005)

    Article  Google Scholar 

  3. Ganapathi, A., Ganapathi, V., Patterson, D.: Windows XP kernel crash analysis. In: Large Installation System Administration Conference (LISA), pp. 12–22 (2006)

    Google Scholar 

  4. Albinet, A., Arlat, J., Fabre, J.C.: Characterization of the impact of faulty drivers on the robustness of the Linux kernel. In: Dependable Systems and Networks (DSN), pp. 867–876 (2004)

    Google Scholar 

  5. Arlat, J., Fabre, J.C., Rodriguez, M.: Dependability of COTS microkernel-based systems. IEEE Transactions on Computers 51(2), 138–163 (2002)

    Article  Google Scholar 

  6. Chou, A., Yang, J., Chelf, B., Hallem, S., Engler, D.R.: An empirical study of operating system errors. In: Symposium on Operating Systems Principles (SOSP), pp. 73–88 (2001)

    Google Scholar 

  7. Duraes, J., Madeira, H.: Multidimensional characterization of the impact of faulty drivers on the operating systems behavior. IEICE Transactions on Information and Systems 86(12), 2563–2570 (2003)

    Google Scholar 

  8. Murphy, B., Garzia, M., Suri, N.: Closing the gap in failure analysis. In: Dependable Systems and Networks (DSN), pp. 59–61 (2006)

    Google Scholar 

  9. Johansson, A., Sârbu, A., Jhumka, A., Suri, N.: On enhancing the robustness of commercial operating systems. In: Malek, M., Reitenspiess, M., Kaiser, J. (eds.) ISAS 2004. LNCS, vol. 3335, pp. 148–159. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  10. Johansson, A., Suri, N.: Error propagation profiling of operating systems. In: International Conference on Dependable Systems and Networks (DSN), pp. 86–95 (2005)

    Google Scholar 

  11. Sârbu, C., Johansson, A., Fraikin, F., Suri, N.: Improving robustness testing of COTS OS extensions. In: Penkler, D., Reitenspiess, M., Tam, F. (eds.) ISAS 2006. LNCS, vol. 4328, pp. 120–139. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Sârbu, C., Suri, N.: Runtime behavior-based profiling of OS drivers. Technical report, TR-TUD-DEEDS-05-02-2007 (2007), http://www.deeds.informatik.tu-darmstadt.de/research/TR/TR-TUD-DEEDS-05-02-2007-Sarbu.pdf

  13. Weyuker, E.J., Jeng, B.: Analyzing partition testing strategies. IEEE Transactions on Software Engineering 17(7), 703–711 (1991)

    Article  Google Scholar 

  14. Weyuker, E.J.: Using operational distributions to judge testing progress. In: ACM Symposium on Applied Computing, pp. 1118–1122. ACM Press, New York (2003)

    Google Scholar 

  15. Möller, K.H., Paulish, D.: An empirical investigation of software fault distribution. In: First International Software Metrics Symposium (METRIC), May 1993, pp. 82–90 (1993)

    Google Scholar 

  16. Johansson, A., Suri, N., Murphy, B.: On the impact of injection triggers for os robustness evaluation. In: International Symposium on Software Reliability Engineering (ISSTA), pp. 127–136 (2007)

    Google Scholar 

  17. Ball, T., Larus, J.R.: Efficient path profiling. In: MICRO-29, pp. 46–57 (1996)

    Google Scholar 

  18. Larus, J.R.: Whole program paths. ACM SIGPLAN 34, 259–269 (1999)

    Article  Google Scholar 

  19. Leon, D., Podgurski, A.: A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases. In: 14th International Symposium on Software Reliability Engineering (ISSRE), pp. 442–453 (2003)

    Google Scholar 

  20. Oney, W.: Programming the MS Windows Driver Model. Microsoft Press, Redmond (2003)

    Google Scholar 

  21. Microsoft Corporation, Visual Studio, Microsoft portable executable and common object file format specification. Technical report (May 2006), http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx

  22. Hunt, G., Brubacher, D.: Detours: Binary interception of Win32 functions. In: Proceedings of the 3rd USENIX Windows NT Symposium, July 1999, pp. 135–144 (1999)

    Google Scholar 

  23. Vasudevan, A., Yerraballi, R.: Spike: Engineering malware analysis tools using unobtrusive binary-instrumentation. In: Australasian Computer Science Conference (ACSC), pp. 311–320 (2006)

    Google Scholar 

  24. Ihaka, R., Gentleman, R.: R: A language for data analysis and graphics. Journal of Computational and Graphical Statistics 5(3), 299–314 (1996)

    Google Scholar 

  25. Cohen, W.W., Pradeep, R., E., F.S.: A comparison of string distance metrics for name-matching tasks. In: International Joint Conference on Artificial Intelligence (IJCAI), pp. 73–78 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takashi Nanya Fumihiro Maruyama András Pataricza Miroslaw Malek

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sârbu, C., Johansson, A., Suri, N. (2008). Execution Path Profiling for OS Device Drivers: Viability and Methodology. In: Nanya, T., Maruyama, F., Pataricza, A., Malek, M. (eds) Service Availability. ISAS 2008. Lecture Notes in Computer Science, vol 5017. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68129-8_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-68129-8_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-68128-1

  • Online ISBN: 978-3-540-68129-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics