首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >机器学习在代码开发中的应用

机器学习在代码开发中的应用
EN

Software Engineering用户
提问于 2017-06-18 02:17:08
回答 7查看 4.4K关注 0票数 20

我的背景是机械工程,所以请原谅我对这个领域的无知。

我真的很喜欢编程和软件开发。此外,我最近参加了一个免费的在线机器学习(ML)课程,这是我强烈推荐的,由斯坦福大学的Andrew教授教授。链接这里

我听过这位教授说,很难找到ML永远不会影响的领域。

问题

因此,我的问题是,到目前为止,在将机器学习应用于代码开发方面做了哪些研究?调试怎么样?

如有可能,请提供资源/来源/科学论文。

我对此并不满意,因为经常搜索ML和软件开发(或编程),最终会导致ML应用程序的软件开发(或编程)结果。

EN

回答 7

Software Engineering用户

发布于 2017-06-19 18:17:34

毛茸茸是一种机器学习可以被应用的测试方法。模糊测试是自动探索性测试领域中的一种测试方法。它试图通过运行大量的输入和查找错误来发现软件中的缺陷。未处理的异常是最简单的类别,但智能实现可以使用ML查找可疑输出。然而,ML主要用于此领域,以提高流程的效率。这是通过使用ML来避免通过“有趣”输入的培训来测试每一个可能的输入。(Dis-可能导致失败的类似输入。)

票数 7
EN

Software Engineering用户

发布于 2017-06-23 04:30:39

是。这个地区现在很热。它被称为“大代码”,DARPA为此投入了4000万美元:http://www.darpa.mil/program/mining-and-understanding-software-enclaves。一些令人印象深刻的结果已经从这项拨款,如先知和创世纪系统的范龙,它可以自动修复程序中的错误,使用一个正确的补丁学习模型。马丁·韦切夫和他的学生韦斯林·雷切夫也是这一领域的先驱。也许他们最令人印象深刻的结果是JSNice ( http://jsnice.org/ ),它可以“去最小化JavaScript代码”。

总的来说,大代码的想法并没有实现它的承诺:数据太少了,无法学习比变量名称更有趣的东西。虽然我仍然得到了DARPA项目的部分资助,但我的实验室已经停止了它的工作。在这一点上,我听到的关于DeepCoder的最后一件事是,与程序合成技术的现状相比,它得到了相当可悲的结果。

大多数自动编程的成功工具仍然依赖于非ML方法,如SMT求解器。看看任何PL会议(例如: PLDI、POPL、OOPSLA)或任何学术软件工程会议(例如: ICSE、FSE、ISSTA、ASE)的会议记录,您将看到许多例子。

票数 5
EN

Software Engineering用户

发布于 2017-06-19 17:33:36

微软一直在开发DeepCoder,利用深度学习从给定的输入和输出中预测方法体。这是我所知道的唯一的例子。

我可以告诉你,元遗传规划是一个有着类似抱负的研究领域,但我不能说我对它了解得足够多,不足以让它变得博学。

2015年,当muScalpel开发出一种解决方案,将一个功能从一个程序移植到另一个程序,将单元测试作为一种训练集时,遗传编程就成了新闻。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/351111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档