一篇发表于 ASE 2007 的经典论文,让 ASE 2021 将「最有影响力论文」奖项颁给了北京大学教授谢涛和当时的博士生 Suresh Thummalapenta。
![](https://image.jiqizhixin.com/uploads/editor/7885785b-190a-455a-a08c-4fcd5c7d0ef9/640.png)
近日,软件工程国际顶级会议 ASE 2021 公布了「最有影响力论文」奖项(Most Influential Paper Award),北京大学计算机科学技术系讲席教授谢涛和他早年指导的前北卡州立大学博士生 Suresh Thummalapenta 共同获奖。ASE 是软件工程领域的顶级国际会议,创办于 1986 年。一般来说,年度 ASE 最有影响力论文奖是从之前 15 年左右(包括 14、15、16 年前)在 ASE 会议上所发表所有论文中选出最具影响力的论文。本次获奖的论文是谢涛与 Suresh Thummalapenta 合作的 ASE 2007 年论文《PARSEWeb:A Programmer Assistant for Reusing Open Source Code on the Web》。![](https://image.jiqizhixin.com/uploads/editor/00a960b1-85c8-4b29-9aff-6f0a71b2ff21/640.png)
论文链接:https://taoxiease.github.io/publications/ase07-parseweb.pdf这一研究是从 ASE 2006、ASE 2007、ASE 2008 三年 181 篇被录用论文(三年共 713 篇投稿)中选出来的获奖论文。在软件工程三大国际顶会 ICSE、ESEC/FSE、ASE 的历年最有影响力论文奖(ICSE MIP Award,ESEC/FSE Test of Time Award, ASE MIP Award)获奖作者中,谢涛是三位华人之一(另外两位是 Hongjun Zheng 和 Amy J. Ko),也是迄今获得 ASE 最有影响力论文奖的唯一华人作者。在今年 11 月将线上举行的 ASE 2021 会议中,谢涛教授和 Suresh Thummalapenta 博士将在特邀大会报告中对该论文及其影响力进行分享。程序员通常重用现有的框架或者数据库来减少软件开发工作量,其中的常见问题是,程序员知道他们需要什么类型的对象,但不知道如何使用特定的方法序列获得该对象。
为了解决这个问题,谢涛和 Suresh Thummalapenta 开发了一种方法,以「 Source object type → Destination object type」形式的查询作为输入,并推荐常用的 Method-Invocation Sequence(MIS),MIS 可以将 Source 类型的对象转换为 Destination 类型的对象。该方法使用代码搜索引擎(CSE)来收集相关的代码样本,并对其进行静态分析以提取所需的序列。由于代码样本是通过 CSE 按需收集的,因此该方法并不局限于任何特定框架或库的查询。
他们使用一个名为 PARSEWeb 的工具实现了该方法。PARSEWeb 与 GCSE 协同,以搜索具有给定 Source 和 Destination 对象类型用法的代码示例,并下载代码示例结果以形成本地源代码存储库。PARSEWeb 分析本地源代码存储库,使用序列后处理器提取不同的 MIS,并聚集类似的 MIS。提取的 MIS 可以作为给定查询的解决方案。PARSEWeb 使用几个排序启发式方法对最后一组 MIS 进行排序。此外,PARSEWeb 还使用一种叫做查询分割的额外的启发式方法,它有助于解决给定查询的代码示例被分割到不同源文件中的问题。
在实验阶段,研究者进行了四种不同的评估,表明该方法在解决程序员的查询需求方面是有效的,此外还证明了 PARSEWeb 比此前的相关工具(Prospector 和 Strathcona )表现更好。
PARSEWeb 这项研究首次把数据挖掘和机器学习所用的软件制品数据源从单个或几个开源系统拓宽到整个互联网上的软件制品,成为大代码、软件大数据重要产业和学术方向的先驱「开荒者」。这个范围的拓宽是基于代码搜索和代码挖掘的有机结合,有效地解决了在辅助软件工程任务时相关数据点不足的问题。
这篇获奖论文也是数据驱动的智能化软件开发领域的最早期经典代表作之一,以大代码挖掘的手段来实现智能「程序员助手」。其所贡献的技术首次有效地解决了在一个特定软件开发问题上的数据驱动软件自动化:如何自动地合成方法调用序列来获取一个给定类的对象。
![](https://image.jiqizhixin.com/uploads/editor/667c167f-58b8-4817-ae6f-9c88833c306e/640.jpeg)
根据 Google Scholar,该论文当前引用数超过 510 次。尽管该论文比其它历年获奖论文要发表得晚,该论文在历年获得 ASE 最有影响力论文奖的 13 篇论文之中引用数排名第 4。![](https://image.jiqizhixin.com/uploads/editor/e3fd6592-ff0c-448c-8997-7d33f9ff7731/640.png)
谢涛 1997 年本科毕业于复旦大学,2000 年在北京大学获得计算机科学技术的硕士学位(师从梅宏教授),并于 2002 年和 2005 年在美国西雅图华盛顿大学获得计算机科学技术的硕士和博士学位(师从 David Notkin 教授),目前是美国伊利诺伊大学香槟分校有终身教职的正教授。之前他从 2010 年 8 月到 2013 年 6 月为美国北卡州立大学有终身教职的副教授 (提前一年晋升),2005 年 8 月到 2010 年 7 月为美国北卡州立大学助理教授。他曾在微软亚洲研究院和微软研究院(雷德蒙)担任访问研究员,并常年担任微软研究院和华为公司的咨询顾问。谢涛是美国 AAAS Fellow、IEEE Fellow、ACM 杰出科学家、CCF 杰出会员,曾获 2020 年科学探索奖,国家自然科学基金委海外杰出青年科学基金以及其延续资助、美国 NSF Faculty CAREER Award、ACM SIGSOFT 杰出服务奖、IEEE 计算机协会软件工程技术委员会(TCSE)杰出服务奖等。谢涛的主要研究领域包括软件工程,系统软件,软件安全,做出了一系列对软件产业有高影响的研究工作,曾获微软研究院杰出合作者奖(全球 32 位获奖教授之一)、微软研究软件工程创新基础奖、谷歌教授研究奖、Facebook 研究奖、IBM Jazz 创新奖、IBM 教授奖等。获奖论文的共同作者 Suresh Thummalapenta 现为微软研究员。Suresh 在印度安得拉大学获得学士学位,后在北卡罗来纳州立大学获得硕士学位,并于 2010 年获得北卡罗来纳州立大学计算机科学博士学位。在加入微软之前,Suresh 在印度 IBM 研究院拥有三年的工作经验。https://cs.pku.edu.cn/info/1084/2209.htmhttp://ase-conferences.org/Mip.htmlhttp://taoxie.cs.illinois.edu/bio-cn.html