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