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
MetadataShow full item record
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.
DepartmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Proceedings of the Asia-Pacific Workshop on Systems - APSYS '12
Association for Computing Machinery
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.
Author's final manuscript