学术讲座

首页 > 通知动态  > 学术讲座
2018年9月22日-23日武汉大学软件质量保障论坛:软件缺陷预测与检测
2018年09月20日10时 人评论

第一期讨论主题:软件缺陷预测与检测。

 

报告题目Seeking for the Pot of Gold at the End of the Program Spectrum Rainbow 

--- 频谱缺陷定位中挑战与解决方案

报告时间      92220:15-20:45

报告地点      计算机学院E202

报告人           谢晓园教授

报告人国籍 中国

报告人单位 武汉大学

报告摘要 调试 (debug) 是软件开发过程中至关重要、但却需耗费巨大资源的任务。特别是在开发的中后期,集成测试所导致的软件失效往往需要遍历整个代码才可以确定出错原因。因此一直以来,研究人员都在试图寻找一种高效的“自动化缺陷定位技术”(Automatic Fault Localization),目的在于尽可能不涉及人工操作,仅使用测试执行的各种信息,即自动确定软件缺陷 (bugfault) 的位置或原因。这一技术可以大幅减轻程序员工作负担,提高调试的工作效率。其中,“基于频谱的软件缺陷定位”是一种非常轻量高效的方法,在过去的近30年中曾被广泛研究。然而在这些研究中,仍然存在诸多问题,使得该方法未能真正在生产实践中发挥作用。本报告将首先介绍这一轻量级方法,并针对现有研究中的问题,介绍我们所提出一系列解决方案。这些工作从理论和实践两方面实现了突破,彻底解决了一系列难题,扭转了该领域先前多年的错误研究方向。

报告人简介谢晓园,武汉大学计算机学院,软件工程国家重点实验室,博士,教授,武汉大学珞珈青年学者。主要研究方向:软件测试、缺陷定位与修复、程序分析与切片、基于搜索优化的软件工程。

发表多篇相关领域的论文书稿。其中以第一或通讯作者发表软件工程领域顶级期刊TOSEM论文2篇、软件工程顶级会议ICSE论文1篇、软件工程知名国际期刊会议JSSISTQRS等论文多篇。获国际会议QSIC最佳论文奖,SCI杂志Bioinformatics高引用率奖,获ACM SigEvo HUMIES 2017银奖。主持国家自然科学基金面上项目一项,获2015年湖北省科技进步一等奖。曾担任软件工程知名国际杂志Journal of Systems and Software专刊客座主编 (Special Issue Guest Editor),国际会议SATE 2017 IWPD 2016大会主席,国际会议ICST 2018QSIC 2013宣传主席 (Publicity Chair)。此外,曾多次担任包括ACM Computing SurveyJournal of Systems and SoftwareSoftware Testing, Verification and Reliability等在内的多个国际知名杂志审稿人及国际知名会议程序委员会成员。

 

报告题目      基于机器学习的软件缺陷预测问题和方法研究

报告时间      92220:45-21:00

报告地点      计算机学院E202

报告人           荆晓远教授

报告人国籍 中国

报告人单位 武汉大学

报告摘要 软件缺陷预测是软件测试中的一项重要研究内容,它有助于减轻代码测试的负担,提高软件的质量与可靠性。在软件缺陷预测上,我们提出了多种新的科学问题,有效应用了各种机器学习技术,提出了多种新方法、取得了显著的实验效果。为了提升软件缺陷预测方法的性能,研究了软件缺陷预测数据中类不平衡问题、异质缺陷预测问题和半监督缺陷预测问题,并进一步发现了软件缺陷预测中多种新的科学问题。在新问题方面,最早一批研究了软件缺陷预测中同项目和跨项目的类不平衡问题、半监督缺陷预测问题,最早研究了异质缺陷预测的多源和隐私保护问题以及混合项目问题。在新方法方面,我们使用了多视图学习、半监督学习、迁移学习、多标记学习、多核学习、集成学习、代价敏感学习、深度学习等多源异构技术以及有监督子空间学习、字典学习、低秩学习、流形学习等特征二次学习技术,提出了多种新学习算法或者取得了显著的实验效果。

报告人简介 荆晓远,199812月毕业于南京理工大学计算机系,获得国家重点学科模式识别与智能系统专业博士学位。同年担任中兴通讯公司南京研究所高级工程师。2001年担任中国科学院自动化所副研究员、附属公司研究部副经理。2004年担任哈尔滨工业大学深圳研究生院副教授,并于2005年破格晋升为哈尔滨工业大学计算机专业教授、博导。2007年担任南京邮电大学教授、博导、自动化学院副院长。2011年担任武汉大学软件工程国家重点实验室教授、博导,机器学习与应用实验室负责人(MLA Lab)。获得教育部新世纪优秀人才、湖北省楚天学者特聘教授、江苏省青蓝工程和333工程中青年学术带头人等人才计划的支持。主持国家自然科学基金5项,包括以武大为第一单位主持国自重点基金项目1项;主持省部级项目多项。在CCF(中国计算机学会)推荐的C类以上国际期刊和会议上发表论文90余篇。其中,包括CCFA类顶级期刊和会议ICSEFSEASECVPRAAAIIJCAIACMMMIEEE 汇刊TSETIPTIFS CCFB类重要期刊和会议IEEE 汇刊TSMC-BTCSVTTMMTRTSCPRASE JournalIST等。担任国家科技奖评审专家、国自基金评审专家等;担任AAAI等顶级会议程序委员、多个会议程序主席或分会主席、多个国际期刊编委;担任多个省重点实验室学术委员、多个学会专业委员会委员。培养指导博士后、博士生、硕士生80余名,学生获得优秀毕业生、会议最佳论文奖、省优秀毕业设计等多项称号。授权或者申请国家发明专利20余项。主要研究方向:人工智能、软件工程、信息安全等。

 

报告题目      同项目与跨项目缺陷预测问题的研究

报告时间      92221:00-21:15

报告地点      计算机学院E202

报告人           吴迪

报告人国籍 中国

报告人单位 武汉大学

报告摘要 同项目缺陷预测和跨项目缺陷预测是软件缺陷预测中的重要内容,如何设计一种通用方法能够同时解决同项目和跨项目缺陷预测中的一类问题,则有助于测试人员更易于发现软件中的缺陷。针对同项目和跨项目缺陷预测中类不平衡问题和半监督缺陷预测问题,本次报告将分别介绍两种通用方法框架。对于类不平衡问题,在同项目缺陷预测中提出了改进子类判别分析方法得到平衡分布的子类;在跨项目缺陷预测中,通过半监督迁移成分学习,促使源项目与目标项目具有相似的数据分布,并进一步采用改进子类判别分析方法解决类不平衡问题。对于半监督缺陷预测问题,我们提出了一种代价敏感的核化半监督字典学习方法。该方法充分利用了核空间上有限的标记数据和大量的无标记数据,并且考虑了字典学习过程中的误分类代价问题。实验结果表明,我们提出的方法可以有效的同时解决同项目和跨项目的类不平衡问题和半监督缺陷预测问题。

报告人简介:吴迪,武汉大学计算机学院2016级博士。主要研究方向:软件文档/数据库挖掘与分析,机器学习和软件工程。

 

报告题目      异质缺陷预测中的多源与隐私保护问题

报告时间      92221:15-21:30

报告地点      计算机学院E202

报告人           陈昊文

报告人国籍 中国

报告人单位 武汉大学

报告摘要 现有的异质缺陷预测模型主要通过单个源项目去预测目标项目中的缺陷实例。而实际应用中,存在着大量的外部项目可供研究使用。同时相较于单源,多源在整体上可以提供更为丰富的项目信息。但是,考虑到数据隐私问题,多数的数据持有者并不愿意进行数据公开。为了推进数据共享,有效地利用多源数据进行缺陷预测,我们设计了一种基于稀疏表示的双重混淆算法(SRDO)用于缺陷数据的隐私化,并提出了基于多源选择的流行判别对齐方法(MSMDA)进行缺陷预测。通过在5个公开数据集上的实验表明SRDO可以在保证数据实用性的同时,对原始数据进行充分的隐私化。并且,相较于目前主流的异质缺陷预测(单源)与多源缺陷预测方法,MSMDA的预测性能均有显著提升。

报告人简介:陈昊文,武汉大学计算机学院2017级博士研究生。主要研究方向:软件缺陷预测,机器学习和软件工程。

 

报告题目      Identifying Patch Correctness in Test-Based Program Repair

报告时间      92308:30-09:15

报告地点      计算机学院E202

报告人           张路教授

报告人国籍 中国

报告人单位 北京大学

报告摘要 Test-based automatic program repair has attracted a lot of attention in recent years. However, the test suites in practice are often too weak to guarantee correctness and existing approaches often generate a large number of incorrect patches. To reduce the number of incorrect patches generated, we propose a novel approach that heuristically determines the correctness of the generated patches. The core idea is to exploit the behavior similarity of test case executions. The passing tests on original and patched programs are likely to behave similarly while the failing tests on original and patched programs are likely to behave differently. Also, if two tests exhibit similar runtime behavior, the two tests are likely to have the same test results. Based on these observations, we generate new test inputs to enhance the test suites and use their behavior similarity to determine patch correctness. Our approach is evaluated on a dataset consisting of 139 patches generated from existing program repair systems including jGenProg, Nopol, jKali, ACS and HDRepair. Our approach successfully prevented 56.3% of the incorrect patches to be generated, without blocking any correct patches.

报告人简介 Lu Zhang is a professor at the School of Electronics Engineering and Computer Science, Peking University, P.R. China. He received both PhD and BSc in Computer Science from Peking University in 2000 and 1995 respectively. He was a postdoctoral researcher in Oxford Brookes University and University of Liverpool, UK. He served on the program committees of many prestigious conferences, such FSE, OOPSLA, ISSTA and ASE. He was a program co-chair of SCAM2008 and a program co-chair of ICSM17. He has been on the editorial boards of Journal of Software Maintenance and Evolution: Research and Practice and Software Testing, Verification and Reliability. His current research interests include software testing and analysis, program comprehension, software maintenance and evolution, software reuse, and program synthesis.

 

报告题目      Directory-Based Dependency Processing for Software Architecture Recovery

报告时间      92309:15-10:00

报告地点      计算机学院E202

报告人           李必信教授

报告人国籍 中国

报告人单位 东南大学

报告摘要Directory structure contains a wealth of software design information, it is used to transfer thoughts of architects to developers. Information extracted from directory paths should play an important role in architecture recovery techniques, but it has been proved that modules or components directly represented by directories are not accurate due to the inconsistency between stages of development and design. To make better use of information extracted from directories, we propose a directory-based dependency processing technique to utilize the information of directories in the process of structure-based architecture recovery. The technique groups the selected inter-coupling files and intra-coupling files in the same directory into a submodule and generates submodule-level dependency graph based on file-level dependency graph. We apply both automatic and manual architecture recovery techniques on submodule- level dependency graph and the results show that our technique can greatly improve the tool-assisted manual recovery and automatic architecture recovery techniques in terms of efficiency and effectiveness; and the technique can also make other structure-based recovery techniques easily scalable to large-sized projects.

报告人简介:李必信,19698月出生,2001获得南京大学博士学位,2001-2003分别在芬兰、挪威和荷兰等地从事博士后研究工作。他是东南大学计算机科学与工程学院教授(二级)、博士生导师,东南大学软件工程研究所所长。他2006年入选教育部新世纪人才培养计划、2011年度获得中创软件人才奖、2014年获得教育部科学技术奖(自然科学奖)二等奖(排名第一)。他是中国计算机学会软件工程专委会委员、容错计算机专委会常务委员,江苏省计算机学会常务理事、软件专委副主任。他的研究方向为软件建模、分析、测试与验证、智能软件架构理论和方法、软件演化和软件质量保证等。他从1999年开始,主持各类基金项目20多项, 先后在《IEEE Transactions on Network and Service Management》、《ACM Computing Surveys》、《Information and Software Technology》、《Software Testing, Verification and Reliability》、《Journal of Systems and Software》、《Science China: Information Science》、《Journal of Computer Science and Technology》、 《软件学报》、《计算机学报》、《计算机研究与发展》国内外著名期刊和ICSEFSEASE等重要国际会议发表学术论文150余篇,出版专著3部,授权发明专利30项。相关论文被SCI/EI检索140多篇次,被他人引用累计超过2500篇次。

 

报告题目      A Simple Approach to Locating Crash-Inducing Changes

                            --- 奔溃引入的变更:一种简单的定位方法

报告时间      92310:15-11:00

报告地点      计算机学院E202

报告人           周毓明教授

报告人国籍 中国

报告人单位 南京大学

报告摘要:给定软件奔溃报告,如果能自动找到造成奔溃的代码变更(crash-inducing changes),则有助于开发者发现和修复对应的缺陷。为达到此目的,当前最新的方法ChangeLocator首先使用老版本的历史数据训练预测模型,然后据此在目标版本上对候选的crash-inducing changes进行排序,达到了较好的性能。本次报告将介绍一种简单的定位方法,相比于ChangeLocator具有如下特点:(1)只使用不到1/3的度量建立预测模型;(2)本质上是无监督方法,无需在每次应用时训练模型,因而应用成本低;(3)定位性能略有提升(平均情况下,Recall@1提升14.99%MAP提升8.95%MRR提升8.97%)。

报告人简介:周毓明,男,南京大学计算机科学与技术系教授、博士生导师。当前主要研究方向为软件质量保证,期望能以简单化、自动化、智能化的方法和技术提高软件开发质量和开发效率。作为负责人或者骨干成员承担/参与973课题、863高技术计划项目和国家自然科学基金重点/面上项目多项,在ACM Transactions on Software Engineering and MethodologyIEEE Transactions on Software EngineeringICSEFSE等国内外期刊会议上发表论文多篇,作为主要成员获省部级奖励多项。

 

报告题目      基于稀疏子集选择策略的跨版本缺陷预测方法

报告时间      92311:00-11:15

报告地点      计算机学院E202

报告人          徐洲

报告人国籍 中国

报告人单位 武汉大学

报告摘要:软件缺陷预测的目的是通过挖掘、分析软件仓库中的历史开发数据来检测潜在有缺陷的软件模块。如果这样的高风险的模块能够在软件开发过程的早期阶段识别出来将节省大量的软件测试资源。跨版本缺陷预测是一种更实际的应用场景,其利用软件项目旧版本有标签的历史数据构建预测模型来预测当前或者未来版本中可能存在缺陷的模块。然而缺件开发是一个持续演化的过程,这会导致同一个软件的不同版本之间存在一定的数据分布差异。这种差异会降低模型的性能。为了解决这一问题,我们利用一个新颖的基于不相似度的稀疏子集选择方法来降低这种数据分布差异。该方法利用两个版本数据之间的点对不相似性从旧版本中选择一个有代表性的模块子集作为训练集来构建预测模型。这些选择的模块能够很好地代表当前版本的模块。 40个跨版本点对上的初步实验结果表明我们的方法在大多数情况下优于3个对比方法的性能。

报告人简介:徐洲,武汉大学计算机学院计算机软件与理论专业博士研究生。当前主要研究方向为软件质量保证,软件缺陷预测,经验型软件工程,数据挖掘。相关成果发表在SANER, ISSRE, ICPC等国际会议上。

 

报告题目      软件崩溃根源在栈踪迹中吗?一种崩溃定位辅助方法

报告时间      92311:15-11:30

报告地点      计算机学院E202

报告人           顾咏丰

报告人国籍 中国

报告人单位 武汉大学

报告摘要:软件崩溃定位旨在识别引发崩溃的根源。目前的崩溃定位依赖人类程序员的手工检查,需要从大量代码中找到引发崩溃的根源代码,耗时费力。我们提出了一种基于自动刻画的方法,识别栈踪迹和缺陷项目的源代码特征,判定崩溃根源是否存在于栈踪迹的调用序列中。程序员可以一定程度上基于判定结果,缩小定位崩溃根源的范围,并降低定位成本。

报告人简介:顾咏丰,武汉大学2017级博士生。研究方向:软件崩溃分析与配置。

 

主办单位:武汉大学 智能化软件与服务研究所

武汉大学软件质量保障论坛是武汉大学定期举办的软件工程领域专业讨论论坛,邀请国内外知名专家分享领域前沿的研究成果。


版权所有 ©武汉大学计算机学院 | copyright © 2008-2018 School of Computer Science, Wuhan University. All Rights Reserved.