网站链接: 西瓜时讯网 西瓜码农
当前位置: 首页 > 新闻资讯  > 科技财经 > 人工智能

还在悄悄抄袭代码的你,已经被这段代码出卖了

2018/8/14 14:12:31 人评论

悄咪咪抄袭别人代码或者散播恶意程序,可能以后要分分钟暴露了。近日,美国德雷克塞尔大学的副教授Rachel Greenstadt和乔治华盛顿大学的助理教授Aylin Caliskan发现,机器学习算法通过分析一段代码样本的风格,可以找到程序背后的作者。就像寻找论坛匿名帖的作者一样,只…

1.jpg

悄咪咪抄袭别人代码或者散播恶意程序,可能以后要分分钟暴露了。

近日,美国德雷克塞尔大学的副教授Rachel Greenstadt和乔治华盛顿大学的助理教授Aylin Caliskan发现,机器学习算法通过分析一段代码样本的风格,可以找到程序背后的作者。

就像寻找论坛匿名帖的作者一样,只要训练数据充足,自动化工具就能通过用词、句式和语法推测你是谁,即去匿名化。

从貌似千篇一律的代码中找出原作者,这事背后并不简单。


编程“指纹”

机器学习算法找到一段代码作者的过程大致如下——

首先,算法识别代码样本中的所有特征。看似“千码一面”其实也蛮有特色,就像每个人说话选择的单词、组合方式、句子长度等都不同。

锁定特征后,研究人员将特征范围从数十万缩小到大约50个,只留下能真正区分出编程人员是谁的那些。

之后,研究人员不依赖“代码是如何格式化”这样的底层特性,相反,他们创建“抽象语法树”反映代码的底层结构而非任意组件。就像判断word文档是哪个人写的,你得优先查看句子结构,而不是看每个段落是否缩进了。

算法奏效前也需要喂食一些例子训练。如果一白板GitHub用户发布了一个代码片段,这个算法就不一定能够识别背后是谁。不过,也并不需要你用毕生经历来训练算法,只需几个短样本,侦探AI带回家~


2.jpg


这不是Caliskan和Greenstadt的首个“去匿名化”的研究,去年两人发现,即使是存储库网站GitHub上的一小段代码,也足够以高精确度区分出到底是哪个程序员编写的。

Caliskan在另一篇论文中表示,只用他们编译的二进制代码就可以去匿名化。在开发人员写完一段代码后,一个名为编译器的程序能将它转换成1和0组成的编码,机器读取后即知出自谁手。

而这个研究还有后续,Caliskan和其他研究人员也能将二进制文件转回C++语言,同时保留程序员独特的风格。

为了进行二进制实验,Caliskan还使用了谷歌年度Code Jam比赛的代码样本。在每个人提供8个代码样本的情况下,机器学习算法识别100个程序员的准确率为96%。即使将样本量扩大到600位程序员,算法仍能达到83%的准确率。

总体来说,编程有风格,所有人都会留下“指纹”的。


越熟练,越容易暴露

这项研究要是应用到实际问题中,可以称作是编程界的包青天了。


3.jpg


Caliskan和Greenstadt表示,这个算法不仅能判断学生的编程作业是否抄袭,还能判断开发人员是否违反了雇佣合同中的竞业条款。往大了说,还能帮政府调查恶意程序背后的始作俑者,维护网络安全。

“人们应该意识到,在这种情况下,要百分之百地隐藏自己的身份是非常困难的。”Greenstadt说。

Greenstadt发现,这个算法目前还没遇到对手,即使软件工程师使代码更复杂,也并不能成功隐藏开发人员的独特风格。

相反,有经验的开发人员比新手更容易识别。也不难理解,部分初学者经常从Stack Overflow等网站复制代码下来直接使用,反而不好分辨哪些是他们自己的风格。你越熟练,你的工作就显得越独特。

此外,越是解决棘手的问题,反而越容易暴露身份。在实验中,62名程序员每人解决了七个“简单”问题,算法去匿名化的准确率为90%。但若每人解决7个难题,算法准确率将提高到95%。

在未来,若你想隐藏自己的编程风格,还得学习更复杂的对抗方法……


未来方向

这项研究并没有到此为止,未来,Greenstadt和Caliskan想要继续探索其他因素如何影响一个人的编程风格。

比如同一组织的成员合作时编程风格的变化,不同国家的程序员编程是否有不同的方式。例如,在一项初步研究中,他们发现算法可以区分加拿大和中国开发人员编写的代码样本,准确率超过90%。

此外,面对不同编程语言是否可以用标准化的方法进行推测也是研究人员下一步的讨论的议题。

虽然目前Greenstadt和Caliskan的方法被证明有效,但他们仍然强调,去匿名化仍然是一个神秘的过程。


4.jpg


编译自 Wired量子位 出品 | 公众号 QbitAI

相关资讯

  • 未来人工智能越来越发达 会对我们有什么影响吗

    人工智能在过去几十年前便已经开始研究,只不过由于过去的社会环境及研究方向等因素,并没有像如今这样被大众所知晓。人工智能对人类的影响是全方面的,首先我们现在的网络就是人工智能网络,还有电网什么的都是智能的。还有你的衣食住行都离不开人工智能,看看现在不是已…

    2019/1/2 14:22:06
  • 支付宝、微信同时宣布要刷脸 别了二维码

    如今的时代,一部手机就足以让你走遍大江南北,吃遍天下美食!在不知不觉中,手机支付已经取代了现金以及银行卡,成为了大部分人日常生活中购物消费的主要方式之一!在这繁忙的时代里,越来越多人追求便捷的生活方式,新的支付方式也是花样百出!而现在,新的支付方式已经…

    2018/9/20 16:11:55
  • 亚马逊计划2021年前开设3000家无人便利店

    据彭博社援引知情人士的消息称,电商巨头亚马逊正计划在2021年前开设多达3000家无人便利店AmazonGo,这种积极而昂贵的扩张将威胁到便利连锁店7-Eleven、快餐赛百味(Subway)和Panera Bread以及其他夫妻披萨店等。亚马逊首席执行官杰夫贝索斯(Jeff Bezos)认为,消除繁忙城市…

    2018/9/20 11:01:22
  • 科学家打造超级仿生眼 或让正常人获得超级视力

    你是否觉得超级视力是一种非常酷的超能力?美国明尼苏达州大学的研究人员已经研发出一种仿生眼原型,不仅能够恢复盲人的视力,而且能够让正常人获得超人般的视力。他们的研究已经发表在本周二的《新材料》杂志上。研究人员使用了一台特制的3D打印机来打造仿生眼原型。首先…

    2018/9/2 22:36:13

共有条评论 网友评论

验证码: 看不清楚?