A Differential Approach to Undefined Behavior Detection.
Saved in:
| Title: | A Differential Approach to Undefined Behavior Detection. |
|---|---|
| Authors: | Xi Wang1 xi@cs.washington.edu, Zeldovich, Nickolai2 nickolai@csail.mit.edu, Kaashoek, M. Frans2 kaashoek@csail.mit.edu, Solar-Lezama, Armando2 asolar@csail.mit.edu |
| Source: | Communications of the ACM. Mar2016, Vol. 59 Issue 3, p99-106. 8p. 6 Diagrams. |
| Subjects: | Systems programming (Computer science), Programming languages, Compilers (Computer programs), Databases, Computer software |
| Abstract: | This paper studies undefined behavior arising in systems programming languages such as C/C++. Undefined behavior bugs lead to unpredictable and subtle systems behavior, and their effects can be further amplified by compiler optimizations. Undefined behavior bugs are present in many systems, including the Linux kernel and the Postgres database. The consequences range from incorrect functionality to missing security checks. This paper proposes a formal and practical approach, which finds undefined behavior bugs by finding “unstable code” in terms of optimizations that leverage undefined behavior. Using this approach, we introduce a new static checker called Stack that precisely identifies undefined behavior bugs. Applying Stack to widely used systems has uncovered 161 new bugs that have been confirmed and fixed by developers. [ABSTRACT FROM AUTHOR] |
| Copyright of Communications of the ACM is the property of Association for Computing Machinery 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 | Links: – Type: pdflink Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 113448856 AccessLevel: 6 PubType: Periodical PubTypeId: serialPeriodical PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: A Differential Approach to Undefined Behavior Detection. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Xi+Wang%22">Xi Wang</searchLink><relatesTo>1</relatesTo><i> xi@cs.washington.edu</i><br /><searchLink fieldCode="AR" term="%22Zeldovich%2C+Nickolai%22">Zeldovich, Nickolai</searchLink><relatesTo>2</relatesTo><i> nickolai@csail.mit.edu</i><br /><searchLink fieldCode="AR" term="%22Kaashoek%2C+M%2E+Frans%22">Kaashoek, M. Frans</searchLink><relatesTo>2</relatesTo><i> kaashoek@csail.mit.edu</i><br /><searchLink fieldCode="AR" term="%22Solar-Lezama%2C+Armando%22">Solar-Lezama, Armando</searchLink><relatesTo>2</relatesTo><i> asolar@csail.mit.edu</i> – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22Communications+of+the+ACM%22">Communications of the ACM</searchLink>. Mar2016, Vol. 59 Issue 3, p99-106. 8p. 6 Diagrams. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22Systems+programming+%28Computer+science%29%22">Systems programming (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+languages%22">Programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Compilers+%28Computer+programs%29%22">Compilers (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Databases%22">Databases</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software%22">Computer software</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: This paper studies undefined behavior arising in systems programming languages such as C/C++. Undefined behavior bugs lead to unpredictable and subtle systems behavior, and their effects can be further amplified by compiler optimizations. Undefined behavior bugs are present in many systems, including the Linux kernel and the Postgres database. The consequences range from incorrect functionality to missing security checks. This paper proposes a formal and practical approach, which finds undefined behavior bugs by finding “unstable code” in terms of optimizations that leverage undefined behavior. Using this approach, we introduce a new static checker called Stack that precisely identifies undefined behavior bugs. Applying Stack to widely used systems has uncovered 161 new bugs that have been confirmed and fixed by developers. [ABSTRACT FROM AUTHOR] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of Communications of the ACM is the property of Association for Computing Machinery 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=113448856 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1145/2885256 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 8 StartPage: 99 Subjects: – SubjectFull: Systems programming (Computer science) Type: general – SubjectFull: Programming languages Type: general – SubjectFull: Compilers (Computer programs) Type: general – SubjectFull: Databases Type: general – SubjectFull: Computer software Type: general Titles: – TitleFull: A Differential Approach to Undefined Behavior Detection. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Xi Wang – PersonEntity: Name: NameFull: Zeldovich, Nickolai – PersonEntity: Name: NameFull: Kaashoek, M. Frans – PersonEntity: Name: NameFull: Solar-Lezama, Armando IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 03 Text: Mar2016 Type: published Y: 2016 Identifiers: – Type: issn-print Value: 00010782 Numbering: – Type: volume Value: 59 – Type: issue Value: 3 Titles: – TitleFull: Communications of the ACM Type: main |
| ResultId | 1 |