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

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

麻省理工学院(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也是一款非常实用的图像图标辅助工具。众所周知,计算机视觉需要用到大量的标注图像,而这款工具能够帮助用户创建定制化标注任务或可执行图像标注,从而提升效率。

欢迎关注:Java程序员联盟(javalm)

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