Undefined behavior: what happened to my code?
Name
Kaashoek_Undefined behavior.pdf
Size
140.12 KB
Format
Adobe PDF
Checksum (MD5)
9eed43e6adcb4acb3f5962833755c828
Author(s) • • • • •
Wang, Xi
Chen, Haogang
Cheung, Alvin K.
Jia, Zhihao
Zeldovich, Nickolai
Kaashoek, M. Frans
Date Issued
2012
Journal
Proceedings of the Asia-Pacific Workshop on Systems - APSYS '12
Publisher
Association for Computing Machinery
Citation
Wang, Xi, Haogang Chen, Alvin Cheung, Zhihao Jia, Nickolai Zeldovich, and M. Frans Kaashoek. “Undefined Behavior.” Proceedings of the Asia-Pacific Workshop on Systems - APSYS ’12 (2012), July 23-24, 2012. Seoul, S. Korea.
Version
Author's final manuscript
Abstract
System programming languages such as C grant compiler writers freedom to generate efficient code for a specific instruction set by defining certain language constructs as undefined behavior. Unfortunately, the rules for what is undefined behavior are subtle and programmers make mistakes that sometimes lead to security vulnerabilities. This position paper argues that the research community should help address the problems that arise from undefined behavior, and not dismiss them as esoteric C implementation issues. We show that these errors do happen in real-world systems, that the issues are tricky, and that current practices to address the issues are insufficient.
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/2349896.2349905