Towards optimization-safe systems: analyzing the impact of undefined behavior
Name
Kaashoek_Towards optimization.pdf
Size
239.32 KB
Format
Adobe PDF
Checksum (MD5)
a946325b84a19241ec6043b4713180e0
Author(s) • • •
Wang, Xi
Zeldovich, Nickolai
Kaashoek, M. Frans
Solar-Lezama, Armando
Date Issued
November 2013
Journal
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles - SOSP '13
Publisher
Association for Computing Machinery
Citation
Wang, Xi, Nickolai Zeldovich, M. Frans Kaashoek, and Armando Solar-Lezama. “Towards Optimization-Safe Systems: analyzing the impact of undefined behavior.” Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles - SOSP ’13 (2013), Nov. 3–6, 2013, Farmington, Pennsylvania, USA.
Version
Author's final manuscript
Abstract
This paper studies an emerging class of software bugs called optimization-unstable code: code that is unexpectedly discarded by compiler optimizations due to undefined behavior in the program. Unstable code is present in many systems, including the Linux kernel and the Postgres database. The consequences of unstable code range from incorrect functionality to missing security checks.
To reason about unstable code, this paper proposes a novel model, which views unstable code in terms of optimizations that leverage undefined behavior. Using this model, we introduce a new static checker called Stack that precisely identifies unstable code. Applying Stack to widely used systems has uncovered 160 new bugs that have been confirmed and fixed by developers.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2517349.2522728