首页 | 本学科首页   官方微博 | 高级检索  
     

软件多缺陷定位方法研究综述
引用本文:李征,吴永豪,王海峰,陈翔,刘勇.软件多缺陷定位方法研究综述[J].计算机学报,2022,45(2):256-288.
作者姓名:李征  吴永豪  王海峰  陈翔  刘勇
作者单位:北京化工大学信息科学与技术学院 北京 100029,南通大学信息科学技术学院 江苏南通226019
基金项目:国家自然科学基金(61902015,61872026,61672085);
摘    要:软件多缺陷定位(Multiple Fault Localization,简称MFL)尝试在含有多个缺陷的软件程序中自动标识出这些缺陷所在的位置.传统的缺陷定位研究一般假设被测软件内仅含有一个缺陷,而实际情况下软件内往往包含多个缺陷,因此MFL问题更加贴近实际场景.当程序中存在多个缺陷时,由于缺陷数量难以准确估计,同时缺...

关 键 词:软件调试  多缺陷定位  缺陷干扰  缺陷独立

Review of Software Multiple Fault Localization Approaches
LI Zheng,WU Yong-Hao,WANG Hai-Feng,CHEN Xiang,LIU Yong.Review of Software Multiple Fault Localization Approaches[J].Chinese Journal of Computers,2022,45(2):256-288.
Authors:LI Zheng  WU Yong-Hao  WANG Hai-Feng  CHEN Xiang  LIU Yong
Affiliation:(College of Information Science and Technology,Beijing University of Chemical Technology,Beijing 100029;School of Information Science and Technology,Nantong University,Nantong,Jiangsu 226019)
Abstract:With the development of the computer and electronic information industry,computer software’s functions and scale have become increasingly complex and large,bringing unprecedented challenges to software debugging.When defects occur in the software,developers need to spend an incalculable workload to debug the software,and the first step in software debugging is to find the location of the defect,that is,the fault localization.There has been a drastic growth of research in Multiple Fault Localization(MFL)in the past few years.MFL attempts to automatically identify multiple fault locations in a software program with multiple defects.Traditional fault localization techniques generally assume that the software programs under test only contain one single defect.But in reality,the software often contains multiple defects,so the MFL problem is closer to the debugging scenarios.However,compared with the fault localization of programs containing only a single defect,MFL research is much more difficult.When multiple defects in the program under test,it is difficult to estimate the accurate number of defects in this scenario,and the multiple faults may interfere with each other,which are the problems that will not be encountered in the process of single defect fault localization;hence the MFL problem is quite a challenging problem.Studies have shown that the fault localization accuracy of techniques designed for single-fault localization will be decreased when there are multiple defects in the software programs under test.Therefore,it is necessary to improve the fault localization performance in MFL problem.This survey takes the MFL research problem as the core and offers a systematic overview of existing research achievements.In this survey,we firstly classified these MFL techniques into three groups,which are Defect Interference Hypothesis based MFL(INF-MFL),Defect Independence Hypothesis based MFL(IDP-MFL),and None Hypothesis based MFL(NOH-MFL).INF-MFL method only locates and repairs a single defect each time during debugging.When a single defect is repaired,all test cases are re-executed to collect coverage information and execution results until all defects are repaired.IDP-MFL method divides the MFL task into multiple single fault localization subtasks so that different developers can perform parallel debugging on different subtasks.NOH-MFL method attempts to locate multiple defects at the same time in a debugging process.Then,we summarized the design ideas and detailed research results of each MFL technique.Among them,the INF-MFL method is currently the most studied in MFL,and it is widely used because of its simple implementation.We further analyzed the evaluation metrics,statistical hypothesis test method,and subject programs used in MFL research.Specifically,In MFL research,manual defects are often used to simulate real defect behavior.However,in recent years,researchers believe that this kind of defect will impact the validity of empirical research conclusions and cause the industry to question the practicability of fault localization technology.Therefore,more and more researchers use real procedures with real defects to conduct empirical research to ensure the validity of research conclusions.Finally,we discussed future research directions of MFL,which include:Further study the granularity of fault localization,optimize fault localization technology from the perspective of time cost,consider projects implemented in more other programming languages,consider more software features,combine MFL with defect prediction,and find more industrial application scenarios.
Keywords:software debugging  multiple fault localization  defect interference  defect independence
本文献已被 维普 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号