在周五的DefCon黑客会议上,Rrexel大学计算机科学副教授Rachel Greenstadt和Greenstadt的前博士生,现在是乔治华盛顿大学助理教授Aylin Caliskan,提出了他们用机器进行的一些研究。学习技术对代码样本的作者进行去匿名化。“例如,他们的工作可能对剽窃争议有用,但它也可能对隐私产生影响,特别是对于向全世界贡献开源代码的数千名开发人员而言。” 报告指出:首先,他们设计的算法识别选择的代码样本中的所有特征。这有很多不同的特点。想想自然语言中存在的每个方面:您选择的单词,将它们放在一起的方式,句子长度等等。然后Greenstadt和Caliskan将这些功能缩小到仅包括实际上区分开发人员的功能,将列表从数十万缩减到大约50左右。研究人员不依赖于低级功能,例如代码的格式化。相反,他们创建了“抽象语法树”,它反映了代码的底层结构,而不是其任意组件。他们的技术类似于优先考虑某人的句子结构,而不是他们是否缩进段落中的每一行。 该方法还需要某人的工作示例来教授算法以知道何时发现其另一个代码样本。如果随机GitHub帐户弹出并发布代码片段,Greenstadt和Caliskan不一定能够识别其背后的人,因为他们只有一个样本可以使用。(他们可能会说这是一个他们以前从未见过的开发人员。)然而,Greenstadt和Caliskan并不需要你的生活工作来将代码归于你。它只需要几个简短的样本。
领取专属 10元无门槛券
私享最新 技术干货