DocumentCode :
1398398
Title :
The exception handling effectiveness of POSIX operating systems
Author :
Koopman, Philip ; DeVale, John
Author_Institution :
Dept. of Electr. & Comput. Eng., Carnegie Mellon Univ., Pittsburgh, PA, USA
Volume :
26
Issue :
9
fYear :
2000
fDate :
9/1/2000 12:00:00 AM
Firstpage :
837
Lastpage :
848
Abstract :
Operating systems form a foundation for robust application software, making it important to understand how effective they are at handling exceptional conditions. The Ballista testing system was used to characterize the handling of exceptional input parameter values for up to 233 POSIX functions and system calls on each of 15 widely used operating system (OS) implementations. This identified ways to crash systems with a single call, ways to cause task hangs within OS code, ways to cause abnormal task termination within OS and library code, failures to implement defined POSIX functionality, and failures to report unsuccessful operations. Overall, only 55 percent to 76 percent of the exceptional tests performed generated error codes, depending on the operating system being tested. Approximately 6 percent to 19 percent of tests failed to generate any indication of error despite exceptional inputs. Approximately 1 percent to 3 percent of tests revealed failures to implement defined POSIX functionality for unusual, but specified, situations. Between 18 percent and 33 percent of exceptional tests caused the abnormal termination of an OS system call or library function, and five systems were completely crashed by individual system calls with exceptional parameter values. The most prevalent sources of these robustness failures were illegal pointer values, numeric overflows, and end-of-file overruns
Keywords :
exception handling; operating systems (computers); program testing; Ballista testing system; POSIX operating systems; abnormal task termination; application software; end-of-file overruns; error codes; exception handling effectiveness; illegal pointer values; library code; numeric overflows; robustness failures; system calls; system crash; task hangs; Application software; Computer crashes; Libraries; Operating systems; Performance evaluation; Programming profession; Robustness; System testing; Telecommunication computing; Vehicle crash testing;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.877845
Filename :
877845
Link To Document :
بازگشت