在2021年5月25日到28日举行的软件工程顶级国际学术会议ICSE 2021上,浙江大学软件工程团队共有11论文以浙江大学为第一单位进行宣讲。其中6篇论文为会议录用论文,5篇论文为获邀宣讲论文(已发表在其他软件工程顶级期刊或优秀期刊)。浙江大学软件工程团队在软件工程领域研究继续取得重大进展。ICSE(International Conference on Software Engineering)是中国计算机学会推荐的A类国际学术会议,致力于为软件工程领域的研究者、教育者和从业者们提供最新最重要的研究成果、经验及方向,至今已举办43届。


以下是浙江大学软件工程团队11论文宣讲的信息:

论文: A Differential Testing Approach for Evaluating Abstract Syntax Tree Mapping Algorithms

Track: Technical Track

作者: 范元瑞,夏鑫,David Lo,Ahmed E. Hassan, 王元,李善平

简介: 基于抽象语法树的代码元素映射(AST Mapping)算法已经被广泛应用到软件工程研究中。本文提出一种自动化方法针对AST Mapping算法展开评估,它首先对两种不同AST Mapping算法产生的映射结果进行比较,从不同的映射结果中基于手动总结的规则判断错误的映射算法。基于该自动化评估方法,本文发现GumTree、MTDiff、IJM等软工领域常用的AST Mapping算法仍然有较高的错误率。因此,AST Mapping算法仍然有较大的提升空间。


论文: Smart Contract Security: a Practitioners’ Perspective

Track: Technical Track

作者: 万志远,夏鑫,David Lo,陈嘉驰,罗夏朴,杨小虎

简介: 为理解软件实践者的智能合约相关安全实践,论文文采用定性与定量结合的研究方法,揭示了推动及阻碍实践者开展区块链安全实践的因素,以及开发周期中安全相关投入及策略。研究也发现区块链平台对智能合约安全相关看法和实践存在显著影响。


论文: Automatic Solution Summarization for Crash Bugs

Track: Technical Track

作者: 王豪烨,夏鑫,David Lo,John Grundy,王新宇

简介: 造成软件崩溃的原因多种多样,软件崩溃问题一直以来困扰着开发人员。论文提出了一种根据程序崩溃时抛出的异常堆栈来总结生成解决方案摘要的方法,以帮助开发人员快速解决遭遇的程序崩溃问题。


论文: Dobn't Do That! Hunting Down Visual Design Smells in Complex UIs against Design Guidelines

Track: Technical Track

作者: 杨博,邢振昌,夏鑫,陈春阳,叶德珩,李善平

简介: 论文提出了一种基于设计规则来检测安卓应用GUI设计违背的自动化工具UIS-Hunter。工具通过提取并验证多模态的GUI信息,检测GUI界面是否违背设计规范,并生成检测报告和真实GUI示例参考,能够帮助开发人员实现自动GUI测试并帮助设计师改进GUI设计。


论文: Unveiling the Mystery of API Evolution in Deep Learning Frameworks---A Case Study of Tensorflow 2

Track: Software Engineering in Practice

作者: 张则君,杨燕鸣,夏鑫,David Lo, 任晓雪,John Grundy

简介: 为了填补深度学习框架的API演化的研究空白,本文对目前最流行的深度学习框架--Tensorflow 2 的 API 演化进行了研究。本文首先从Tensorflow 2的不同版本的API 文档提取了 6,329 个 API改变,并且将 API 改变按照Tensorflow的框架映射到不同的功能类别。之后本文通过参考多个信息源,如API 文档 commit信息和 StackOverflow, 深入研究了 API改变的原因。最后,本文与非深度学习项目中的 API 演化进行了对比,并为用户、研究人员和API 开发人员提出了实用的API演化建议。


论文: UIS-Hunter: Detecting UI Design Smells in Android Apps

Track: Demonstrations

作者: 杨博,邢振昌,夏鑫,陈春阳,叶德珩,李善平

简介: 论文提出了一种基于设计规则检测安卓应用GUI设计违背的自动化工具UIS-Hunter。该工具包含一个设计规则展示网站和一个前端应用网站。展示网站将正例和反例添加到抽象的设计规则指南中,并允许开发人员以更结构化的方式探索复杂的设计系统。前端应用网站允许开发人员和设计师上传自己的UI设计以检验其中是否存在违规,返回一个详细的UI设计异味报告。


论文: Chatbot4QR: Interactive Query Refinement for Technical Question Retrieval

Track: Journal-First Track (IEEE Transactions on Software Engineering)

作者: 张能,黄乔,夏鑫,邹颖,David Lo,邢振昌

简介: 论文针对用户在搜索技术资源(如代码)时查询条件经常缺失重要技术信息(如编程语言、数据库等)的问题,通过构建编程技术知识库,提出了一种自动的用户查询质量检测方法和一种交互式的查询优化方法,能够帮助用户准确检索到与其需求更相关的技术问题,对从编程问答社区等资源库进行知识发现具有重要的促进作用。


论文: Revisiting Supervised and Unsupervised Methods for Effort-Aware Cross-Project Defect Prediction

Track: Journal First (IEEE Transactions on Software Engineering)

作者: 倪超,夏鑫,David Lo,陈翔,顾庆

简介: 跨项目缺陷预测旨在将基于源项目的缺陷预测模型应用于目标项目。 研究人员提出了多种方法,这些方法可以分为有监督方法和无监督方法。并且,有研究人员发现简单的无监督方法(ManualDown和ManualUp)能够取得与复杂的有监督方法相似的性能。本文重新审视了前人的工作,并充分考虑了软件开发过程对开发者产生的影响,提出了具有更好性能的有监督方法EASC。实验结果证明,在考虑代价不敏感的指标时,EASC在大多数情况下能够取得与无监督方法相似的性能。此外,在考虑代价敏感的指标时,EASC的性能要显著好于无监督方法。


论文: psc2code: Denoising Code Extraction from Programming Screencasts

Track: Journal-First Track (ACM Transactions on Software Engineering and Methodology)

作者: 鲍凌峰,邢振昌,夏鑫,David Lo,吴明辉,杨小虎

简介: 论文提出了一种自动从编程截屏录像中精准提取文本格式的源代码的方式,该方法结合了深度学习方法和图像处理技术,并通过语言统计模型修复OCR结果中的错误。实验结果表明提出的方法比只基于深度学习模型在准确度上更高;论文还探讨了提取的文本源代码潜在的应用。


论文: What Makes a Popular Academic AI Repository?

Track: Journal-First Track(Empirical Software Engineering)

作者: 范元瑞,夏鑫,David Lo,Ahmed E. Hassan

简介: 本文将AI研究者提供的与其研究相关的GitHub 代码仓库定义为学术AI仓库(Academic AI Repository)。本文共收集了超过1000个学术AI 仓库,从这些学术AI仓库中提取了21个与软件工程实践相关的特征,并基于这些特征研究了与这些仓库是否流行的相关因素。通过实证研究发现,学术AI仓库在GitHub中是否流行与其软件工程实践因素显著相关,其中最相关的因素是学术AI仓库的文档。


论文: An Exploratory Study on the Introduction and Removal of Different Types of Technical Debt

Track: Journal-First Track(Empirical Software Engineering)

作者: 刘佳琨,黄乔,夏鑫,Emad Shihab,David Lo,李善平

简介: 开发人员常常为了更快完成开发任务而牺牲代码质量。这种行为导致代码中遗留多种类别的技术债。本文通过对深度学习框架软件家族中的7个项目的源代码文件中的自承认技术债的挖掘,研究不同类别技术债在软件开发过程中的引入、移除及演化。我们发现开发人员持续引入并及时解决与代码设计相关的债务。我们研究为软件开发项目管理提供了一种新的思路。