机器修复代码bug,码农福音

文/陈根

机器时代下计算机编程显得尤为热门,但事实上,计算机编程一直都不是件容易的事。最初程序员是在图纸上手写程序,然后再把符号转换成计算机能够处理的一大堆穿孔卡片。只要有一个标记放错了地方,整个程序就得重写,而bug即便成了程序员的家常便饭,也依旧屡见屡崩溃。

如今,程序员可以使用一系列高效的工具来自动化大部分工作,它们可以在键入时查找错误,也可以在部署前测试代码。但还是有许多方面几乎没有改变。一个愚蠢的错误仍然会整个软件崩溃,现在的系统越来越复杂,追踪这些漏洞也越来越困难。随着硬件和软件系统越来越复杂,再加上开发硬件和软件系统所需的程序员的储备,让机器编码的开发成了多年来的研究热点。

近日,来自英特尔、麻省理工学院和乔治亚理工学院的研究人员宣布了一种新的机器编程系统,旨在检测代码的相似性。机器推断代码相似性(MISIM)系统是一个自动引擎,能够确定两段代码、算法的数据结构何时执行相同或相似的任务。

研究人员解释说,MISIM不同于其他代码相似性系统,因为它使用了上下文感知语义结构(CASS),它提供了更多关于代码做什么的洞察,而不仅仅是它是如何做的。其他类似的代码系统尝试确定相似的特性或相似的目标,而MISIM可以确定执行类似计算的代码。而这是迈向机器编程更宏伟愿景的重要一步。

此外,MISIM不需要编译器将人类可读的源doe转换为计算机可执行的机器代码。这将给现有的系统带来很多好处,包括能够在开发人员当前编写的不完整代码片段上执行——这对于推荐系统或自动修复错误来说是一个重要的实用特性。

一旦代码的结构被集成到CASS中,神经网络系统就会根据代码的设计任务,对代码进行相似性评分。换句话说,如果两段代码在结构上看起来非常不同,但执行的功能相同,那么神经网络会将它们评为基本相似。研究人员还表示,MISIM能够比先前的系统更准确地识别出类似的代码片段。

研究人员表示,接下来计划扩展解决方案的功能集,开发代码推荐引擎,并与其他软件团队合作,看看如何将MISIM集成到日常开发中。而这对于各大程序员或者程序员日渐光洁的额头来说或许都是一大福音。

免责声明:该自媒体文章由实名作者自行发布(文字、图片、视频等版权内容由作者自行担责),且仅为作者个人观点,不代表 秒送号Miaosong.cn立场,未经作者书面授权,禁止转载。[投诉 · 举报作者与内容]

「作者 · 档案」
这个人很懒,什么都没有留下~

  
(0)

相关阅读

发表回复

登录后才能评论
发布