Undefined behavior: what happened to my code?
Author(s)
Wang, Xi; Chen, Haogang; Cheung, Alvin K.; Jia, Zhihao; Zeldovich, Nickolai; Kaashoek, M. Frans; ... Show more Show less
DownloadKaashoek_Undefined behavior.pdf (140.1Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
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.
Date issued
2012Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
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
ISBN
9781450316699