Error propagation profiling of operating systems

An operating system (OS) constitutes a fundamental software (SW) component of a computing system. The robustness of its operations, or lack thereof, strongly influences the robustness of the entire system. Targeting enhancement of robustness at the OS level via use of add-on SW wrappers, this paper presents an error propagation profiling framework that assists in a) systematic identification and location of design and operational vulnerabilities, and b) quantification of their potential impact. Focusing on data (value) errors occurring in OS drivers, a set of measures is presented that aids a designer to locate such vulnerabilities, either on an OS service (system call) basis or a per driver basis. A case study and associated experimental process, using Windows CE .Net, is presented outlining the utility of our proposed approach.

[1]  Neeraj Suri,et al.  EPIC: profiling the propagation and effect of data errors in software , 2004, IEEE Transactions on Computers.

[2]  Jean Arlat,et al.  Dependability of COTS Microkernel-Based Systems , 2002, IEEE Trans. Computers.

[3]  YangJunfeng,et al.  An empirical study of operating systems errors , 2001 .

[4]  Jean Arlat,et al.  Characterization of the impact of faulty drivers on the robustness of the Linux kernel , 2004, International Conference on Dependable Systems and Networks, 2004.

[5]  Junfeng Yang,et al.  An empirical study of operating systems errors , 2001, SOSP.

[6]  Philip Koopman,et al.  Comparing the robustness of POSIX operating systems , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[7]  Daniel P. Siewiorek,et al.  Robustness testing and hardening of CORBA ORB implementations , 2001, 2001 International Conference on Dependable Systems and Networks.

[8]  Henrique Madeira,et al.  Multidimensional Characterization of the Impact of Faulty Drivers on the Operating Systems Behavior , 2003 .

[9]  Navjot Singh,et al.  Reliability testing of applications on Windows NT , 2000, Proceeding International Conference on Dependable Systems and Networks. DSN 2000.

[10]  Jean Arlat,et al.  Building dependable COTS microkernel-based systems using MAFALDA , 2000, Proceedings. 2000 Pacific Rim International Symposium on Dependable Computing.

[11]  R. Larson,et al.  Linux Kernel , 2003 .

[12]  Sriram K. Rajamani,et al.  The SLAM project: debugging system software via static analysis , 2002, POPL '02.

[13]  Philip Koopman,et al.  Performance evaluation of exception handling in I/O libraries , 2001, 2001 International Conference on Dependable Systems and Networks.

[14]  Brendan Murphy,et al.  Windows 2000 Dependability , 2000 .

[15]  Neeraj Suri,et al.  PROPANE: an environment for examining the propagation of errors in software , 2002, ISSTA '02.

[16]  Ravishankar K. Iyer,et al.  Characterization of linux kernel behavior under errors , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[17]  Laurent Réveillère,et al.  Improving driver robustness: an evaluation of the Devil approach , 2001, 2001 International Conference on Dependable Systems and Networks.

[18]  Zhen Xiao,et al.  An automated approach to increasing the robustness of C libraries , 2002, Proceedings International Conference on Dependable Systems and Networks.

[19]  Brian N. Bershad,et al.  Improving the reliability of commodity operating systems , 2003, SOSP '03.