程序员福音,麻省理工推出CodeCarbonCopy,代码移植so easy

36氪 / 2018年05月13日 15:01

互联网+

麻省理工学院(MIT)的科学家们已开发出了一款名为CodeCarbonCopy(CCC)的新工具,其中一名开发成员Stelios Sidiroglou-Douskos表示:“CodeCarbonCopy能够实现软件工程界梦寐以求的目标之一:自动重用代码。”

通过CodeCarbonCopy,开发人员可先选择A软件的一段程式码,再选择B软件的插入点,系统就能自动进行必要的变更,如改变参数名称等,以确保代码妥善的植入B软件中并且,在移植代码时,CodeCarbonCopy还能执行静态分析,移除在A软件中必要但在B软件中毫无作用的功能。

CodeCarbonCopy之所以能够做到这些,

第一是有基本变量移植的能力,使用CodeCarbonCopy意味着从获取和导入代码片段的两个地方并行运行程序,CodeCarbonCopy可识别完成同一角色的变量,并为操作人员将它们列出来。它还显示了无法匹配的变量,这样一来,程序员可以手动关联变量或者将变量从移植过去的代码去除。

另外,CodeCarbonCopy还能考虑两个程序在内部是如何表示数据的,相应调整移植过去的代码。这参照了每个代码库是如何处理数据的(比如在两种不同的颜色格式RGB和BGR之间进行调整)、以什么顺序处理的。也正因如此,CodeCarbonCopy目前仅适用于在处理的数据采用固定格式的应用程序之间移植代码,比如图像、视频、音频、PDF及其他格式。

据悉,该工具还没有正式对外发布,目前在内测和完善阶段。研究团队透露,他们已经成功使用CodeCarbonCopy在六款流行的开源图像处理程序之间移植了代码。团队进行了8次试验,其中7次成功,接受端程序成功的执行了移植过去的代码,没有错误。测试的软件分别为:MPlayer、VLC、mtPaint、cwebp、bmp2tiff与ViewNIOR。

当然,这不是麻省理工学院(MIT)第一次试图革编程界的命。此前,他们还设计开发了一款少儿编程工具Scratch。使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块来实现,用鼠标拖动模块到程序编辑栏就可以了。

此外,MIT开放的图像标注工具源代码LabelMe也是一款非常实用的图像图标辅助工具。众所周知,计算机视觉需要用到大量的标注图像,而这款工具能够帮助用户创建定制化标注任务或可执行图像标注,从而提升效率。

返回搜狐,查看更多

责任编辑:

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。