In this project we study the effects of undefined behavior in open source software and its ability to cause unstable code to be optimized out by modern compilers. Given the sheer number of software systems that contain such errors, with about 50% of Debian packages reporting over 80,000 different warnings, we attempted to begin the process of filtering through these results. With the help of Stack[3], we analyzed 85 packages, from Debian and other locations, and submitted a total of 18 patches, of which 8 have been accepted thus far, with the rest pending approval. This paper presents a case study into the common mis-practices of many developers and has helped us develop a rule-of-thumb heuristic as to which types of bugs are more or less l...
posterUndefined behavior (such as divide by 0) or unspecified behavior (such as order of evaluation...
Large-scale software codebases are updated frequently by a large number of developers, leading to a ...
Software defects, commonly known as bugs, present a serious challenge for system reliability and dep...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
This paper studies an emerging class of software bugs called optimization-unstable code: code that i...
This thesis studies undefined behavior arising in systems programming languages such as C/C++. Undef...
This paper studies an emerging class of software bugs called optimization-unstable code: code that i...
System programming languages such as C grant compiler writers freedom to generate efficient code for...
System programming languages such as C grant compiler writers freedom to generate efficient code for...
Software inevitably contains mistakes and operates incorrectly in at least some situations. As a res...
In this article, we investigate a fundamental question regarding software security: Is the security ...
Over the past 20 years, our society has become increasingly dependent on software. Today, we rely on...
Abstract To design effective tools for detecting and recovering from soft-ware failures requires a d...
Software vulnerabilities are weaknesses in source code that can be potentially exploited to cause lo...
Compiler fuzzing techniques require a means of generating programs that are free from undefined beha...
posterUndefined behavior (such as divide by 0) or unspecified behavior (such as order of evaluation...
Large-scale software codebases are updated frequently by a large number of developers, leading to a ...
Software defects, commonly known as bugs, present a serious challenge for system reliability and dep...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
This paper studies an emerging class of software bugs called optimization-unstable code: code that i...
This thesis studies undefined behavior arising in systems programming languages such as C/C++. Undef...
This paper studies an emerging class of software bugs called optimization-unstable code: code that i...
System programming languages such as C grant compiler writers freedom to generate efficient code for...
System programming languages such as C grant compiler writers freedom to generate efficient code for...
Software inevitably contains mistakes and operates incorrectly in at least some situations. As a res...
In this article, we investigate a fundamental question regarding software security: Is the security ...
Over the past 20 years, our society has become increasingly dependent on software. Today, we rely on...
Abstract To design effective tools for detecting and recovering from soft-ware failures requires a d...
Software vulnerabilities are weaknesses in source code that can be potentially exploited to cause lo...
Compiler fuzzing techniques require a means of generating programs that are free from undefined beha...
posterUndefined behavior (such as divide by 0) or unspecified behavior (such as order of evaluation...
Large-scale software codebases are updated frequently by a large number of developers, leading to a ...
Software defects, commonly known as bugs, present a serious challenge for system reliability and dep...