• 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