基本信息
浏览量:8
职业迁徙
个人简介
The part of the solution to the software problem that I am most interested in is using software tools to make it easier to develop correct and efficient software. Basically, we can create programs to show us possibilities inherent in our software -- such as crashes -- that we did not know about, or better yet create programs to verify that such possibilities do not exist. Similarly, good abstractions such as high-level programming languages make it easier to express our intent, and then we can offload to software tools the problem of making programs run quickly.
The software tool developed by my group that I am most proud of is Csmith, which generates random C programs; Although it sounds easy to generate random code, it is not: C has hundreds of rules that must be followed, and violating any one of them renders the randomly generated code useless. Over several years we used Csmith to find serious bugs in every compiler that we tested, including those that are used to compile safety-critical avionics software. The worst kind of compiler bug, and the kind we specialized in finding, causes the compiler to silently generate incorrect executable code. We found so many bugs (around 500) that we had to write a new tool, C-Reduce, to take large programs that trigger compiler bugs and reduce them to tiny programs that people can understand. Since Csmith is open source software, everyone is free to use it. One time Csmith received a Christmas card from a development team at a compiler company!
The software tool developed by my group that I am most proud of is Csmith, which generates random C programs; Although it sounds easy to generate random code, it is not: C has hundreds of rules that must be followed, and violating any one of them renders the randomly generated code useless. Over several years we used Csmith to find serious bugs in every compiler that we tested, including those that are used to compile safety-critical avionics software. The worst kind of compiler bug, and the kind we specialized in finding, causes the compiler to silently generate incorrect executable code. We found so many bugs (around 500) that we had to write a new tool, C-Reduce, to take large programs that trigger compiler bugs and reduce them to tiny programs that people can understand. Since Csmith is open source software, everyone is free to use it. One time Csmith received a Christmas card from a development team at a compiler company!
研究兴趣
论文共 83 篇作者统计合作学者相似作者
按年份排序按引用量排序主题筛选期刊级别筛选合作者筛选合作机构筛选
时间
引用量
主题
期刊级别
合作者
合作机构
Proceedings of the ACM on Programming Languagesno. PLDI (2023): 1826-1847
Nuno P. Lopes,John Regehr
引用23浏览0EI引用
23
0
user-607cde9d4c775e0497f57189(2017)
引用0浏览0引用
0
0
加载更多
作者统计
合作学者
合作机构
D-Core
- 合作者
- 学生
- 导师
数据免责声明
页面数据均来自互联网公开来源、合作出版商和通过AI技术自动分析结果,我们不对页面数据的有效性、准确性、正确性、可靠性、完整性和及时性做出任何承诺和保证。若有疑问,可以通过电子邮件方式联系我们:report@aminer.cn