Skip to main content
Log in

Advanced graph model for tainted variable tracking

  • Research Paper
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

Abstract

The reliability of hardware devices is of critical importance to the overall stability of operating systems. Drivers assume that hardware devices always work normally, but this assumption may cause drivers or systems to crash, since hardware device failures occur frequently. This can lead to incorrect values for drivers and cause them to malfunction. This paper proposes an advanced graph model for tainted variable tracking. The proposed approach can efficiently find variables, which are related to values read from hardware devices. It can also be used for variable assignment tracking, which is of great benefit in improving the reliability of hardware devices and drivers.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Kadav A, Renzelmann M J, Swift M M. Tolerating hardware device failures in software. In: Proceedings of 22nd ACM Symposium on Operating System Principles. New York: ACM Press, 2009. 59–72

    Chapter  Google Scholar 

  2. Arthur S. Fault resilient drivers for Longhorn server. WinHec 2004 Presentation DW04012. Microsoft Corporation. 2004

    Google Scholar 

  3. Animesh T. Hotplug in a multikernel operating system. Master Thesis. Zurich: Swiss Federal Institute of Technology Zurich, 2009

    Google Scholar 

  4. Swift M M, Bershad B N, Levy H M. Improving the reliability of commodity operating systems. ACM Trans Comput Syst, 2005, 23: 77–110

    Article  Google Scholar 

  5. Swift M, Annamalau M, Bershad B N, et al. Recovering device drivers. ACM Trans Comput Syst, 2006, 24: 333–360

    Article  Google Scholar 

  6. Erlingsson U, Abadi M, Vrable M, et al. XFI: software guards for system address spaces. In: Proceedings of the 7th USENIX Conference on Operating System Design and Implementation. Berkeley: USENIX Association, 2006. 75–88

    Google Scholar 

  7. Castro J M, Costa M, Martin J-P, et al. Fast byte granularity software fault isolation. In: Proceedings of 22nd ACM Symposium on Operating System Principles. New York: ACM Press, 2009. 45–58

    Chapter  Google Scholar 

  8. Herder J N, Bos H, Gras B, et al. Failure resilience for device drivers. In: Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. Edinburgh: IEEE Computer Society, 2007. 41–50

    Chapter  Google Scholar 

  9. Williams D, Reynolds P, Walsh K, et al. Device driver safety through a reference validation mechanism. In: Proceedings of the 8th USENIX Conference on Operating System Design and Implementation. Berkeley: USENIX Association, 2008. 241–254

    Google Scholar 

  10. Leslie B, Chubb P, Fitzroy-Dale N, et al. User-level device drivers: achieved performance. J Comput Sci Technol, 2005, 20: 654–664

    Article  Google Scholar 

  11. Fraser K, Neugebauer S H R, Pratt I, et al. Safe hardware access with the xen virtual machine monitor. In: Proceedings of 1st Workshop on Operating System and Architectural Support for the on-demand IT InfraStructure. New York: ACM Press, 2004. 1–10

    Google Scholar 

  12. LeVasseur J, Uhlig V, Stoess J, et al. Unmodified device driver reuse and improved system dependability via virtual machines. In: Proceedings of the 7th USENIX Conference on Operating System Design and Implementation. Berkeley: USENIX Association, 2004. 17–30

    Google Scholar 

  13. Menon A, Schubert S, Zwaenepoel W. Twindrivers: semi-automatic derivation of fast and safe hypervisor network drivers from guest os drivers. In: Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems. New York: ACM Press, 2009. 301–312

    Chapter  Google Scholar 

  14. Conway C L, Edwards S A. NDL: a domain-specific language for device drivers. ACM Sigplan Notices, 2004, 39: 30–36

    Article  Google Scholar 

  15. Sun J, Yuan W, Kallahalla M, et al. HAIL: a language for easy and correct device access. In: Proceedings of 5th International Conference on Embedded Software. New York: ACM Press, 2005. 1–9

    Google Scholar 

  16. Wittle L. Laddie: the language for automated device drivers. Computer Science Technical Report 08-2. Bucknell University, 2008

    Google Scholar 

  17. Ball T, Bounimova E, Cook B, et al. Thorough static analysis of device drivers. In: Berbers Y, Zwaenepoel W, eds. Proceedings of the 1st ACM SIGOPS/Eurosys European Conference on Computer Systems. New York: ACM Press, 2006. 73–85

    Google Scholar 

  18. Chipounov V, Candea G. Reverse-engineering drivers for safety and portability. In: Proceedings of 4th Usenix Workshop on Hot Topics in System Dependability. Berkeley: Usenix Association, 2008. 1–6

    Google Scholar 

  19. Mérillon F, Réveillère L, Consel C, et al. Devil: an IDL for hardware programming. In: Proceedings of the 4th USENIX Conference on Operating System Design and Implementation. Berkeley: USENIX Association, 2000. 1–14

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chao Ma.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ma, C., Yan, D., Wang, Y. et al. Advanced graph model for tainted variable tracking. Sci. China Inf. Sci. 56, 1–12 (2013). https://doi.org/10.1007/s11432-012-4674-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11432-012-4674-8

Keywords

Navigation