程序员失业第一步?斯坦福研究员用AI从编译器反馈中学习改Bug( 三 )
程序合成 , 特别是可以将自然语言描述(例如英语)转换为代码(例如Python , C ++)的系统是很有用的 , 因为它们可以帮助更多的人使用编程语言 。
在SPoC(伪代码-to-代码)中 , 任务是从伪代码(程序的自然语言描述)合成C ++代码实现 。
本文插图
但是 , 现有合成器(应用于SPoC的机器翻译模型)遇到的一个挑战是它们倾向于输出不一致的代码 , 这些代码无法编译 , 例如 , 在上图中 , 变量i在合成代码中被声明了两次 。
作者发现可以将程序修复模型应用于此无效代码 , 并将其修复为正确的代码 , 从而帮助完成程序合成任务 。
在对SPoC的评估中 , 使用本文的修复模型可使最终合成成功率从现有系统的34%提高到37.6% 。
4 总结
在这项工作中 , 作者研究了如何使用机器学习来修复报错信息中的程序 , 并提出了三个主要见解:
- 报错信息对学习程序Bug修复而言至关重要 。
- 程序反馈图(代码和错误消息的共同表示)有助于对修复的原因进行建模(例如 , 跟踪引起报错的变量) 。
- 自监督学习使人们能够将免费获取的、未标记的程序(例如GitHub开放代码)转换成有用的程序修复训练示例 。
本文GitHub上源代码/数据链接:
https://github.com/michiyasunaga/DrRepair
最后需要指出的是 , 本文只是AI从编译器反馈中学习修改代码Bug的一项研究工作 , 还远远不能用于实际生产环境开发中 。
这只是程序员开发AI程序让自己失业的远大理想的第一步~
参考链接:https://ai.stanford.edu/blog/DrRepair/
文末附上两种祖传无Bug的秘法:
秘法1:佛祖保佑~
本文插图
秘法2:神兽保佑~
本文插图
本文插图
本文插图
【程序员失业第一步?斯坦福研究员用AI从编译器反馈中学习改Bug】
- 凤翔|炒股酬懒不酬勤,钝感者最成功?这家"佛系"私募7年满仓,收益率碾压同行!如何做到的?第一步很关键
- 失业者|北美观察丨疫情下的美国经济:纾困攻防战再度开打 大批失业者恐坠“救助悬崖”
- 找准赛道 在技术浪潮中厚积薄发
- 高校|这5种大学生特别不值钱,毕业就是失业,名校也不例外
- 美国|美国首次申请失业救济人数仍居高不下 上周为74.2万人
- 爆品會圈|年薪八十万的还被鄙视,程序员真的不如大学老师吗?
- 冬季的夜空|她带了三个闺蜜,吃饭消费480,结账时没想到,程序员和女孩相亲
- 南京社区教育|玄武区“三好学堂”走进红山街道辖区幼儿园,“帮助孩子迈好第一步”
- 静默如初|不再吃香,师范生需要留意,这3种教师以后将面临“失业”
- 百分点|澳大利亚10月份失业率升至7.0%
