The Exception Handling Effectiveness of POSIX Operating Systems.
Saved in:
| Title: | The Exception Handling Effectiveness of POSIX Operating Systems. |
|---|---|
| Authors: | Koopman, Philip1 koopman@cmu.edu, Devale, John1 devale@cmu.edu |
| Source: | IEEE Transactions on Software Engineering. Sep2000, Vol. 26 Issue 9, p837-848. 12p. |
| Subjects: | Computer operating systems, POSIX (Computer software standard), Application software, Debugging, Computer system failures, Telecommunication |
| 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 16 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. There is significant opportunity for improving exception handling within OS calls and especially within C library functions. However, the role of signals vs. error return codes is both controversial and the source of divergent implementation philosophies, forming a potential barrier to writing portable, robust applications. [ABSTRACT FROM AUTHOR] |
| Copyright of IEEE Transactions on Software Engineering is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
| FullText | Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 11943380 AccessLevel: 6 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: The Exception Handling Effectiveness of POSIX Operating Systems. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Koopman%2C+Philip%22">Koopman, Philip</searchLink><relatesTo>1</relatesTo><i> koopman@cmu.edu</i><br /><searchLink fieldCode="AR" term="%22Devale%2C+John%22">Devale, John</searchLink><relatesTo>1</relatesTo><i> devale@cmu.edu</i> – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22IEEE+Transactions+on+Software+Engineering%22">IEEE Transactions on Software Engineering</searchLink>. Sep2000, Vol. 26 Issue 9, p837-848. 12p. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22Computer+operating+systems%22">Computer operating systems</searchLink><br /><searchLink fieldCode="DE" term="%22POSIX+%28Computer+software+standard%29%22">POSIX (Computer software standard)</searchLink><br /><searchLink fieldCode="DE" term="%22Application+software%22">Application software</searchLink><br /><searchLink fieldCode="DE" term="%22Debugging%22">Debugging</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+system+failures%22">Computer system failures</searchLink><br /><searchLink fieldCode="DE" term="%22Telecommunication%22">Telecommunication</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: 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 16 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. There is significant opportunity for improving exception handling within OS calls and especially within C library functions. However, the role of signals vs. error return codes is both controversial and the source of divergent implementation philosophies, forming a potential barrier to writing portable, robust applications. [ABSTRACT FROM AUTHOR] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of IEEE Transactions on Software Engineering is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=11943380 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1109/32.877845 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 12 StartPage: 837 Subjects: – SubjectFull: Computer operating systems Type: general – SubjectFull: POSIX (Computer software standard) Type: general – SubjectFull: Application software Type: general – SubjectFull: Debugging Type: general – SubjectFull: Computer system failures Type: general – SubjectFull: Telecommunication Type: general Titles: – TitleFull: The Exception Handling Effectiveness of POSIX Operating Systems. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Koopman, Philip – PersonEntity: Name: NameFull: Devale, John IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 09 Text: Sep2000 Type: published Y: 2000 Identifiers: – Type: issn-print Value: 00985589 Numbering: – Type: volume Value: 26 – Type: issue Value: 9 Titles: – TitleFull: IEEE Transactions on Software Engineering Type: main |
| ResultId | 1 |