基于信息检索的缺陷定位:问题、进展与挑战
作者:
作者简介:

郭肇强(1994-),男,博士生,CCF学生会员,主要研究领域为软件度量,缺陷定位;陈林(1979-),男,博士,副教授,CCF高级会员,主要研究领域为软件分析测试;周慧聪(1996-),女,硕士生,CCF学生会员,主要研究领域为缺陷定位;周毓明(1974-),男,博士,教授,博士生导师,CCF专业会员,主要研究领域为软件维护,测试与分析;刘释然(1990-),男,博士生,主要研究领域为实证软件工程;徐宝文(1961-),男,博士,教授,博士生导师,CCF会士,主要研究领域为程序设计语言,软件分析与测试;李言辉(1981-),男,博士,助理研究员,CCF专业会员,主要研究领域为软件演化与维护,软件测试.

通讯作者:

李言辉,E-mail:yanhuili@nju.edu.cn;周毓明,E-mail:zhouyuming@nju.edu.cn

基金项目:

国家重点研发计划项目(2018YFB1003901);国家自然科学基金(61772259,61872177)


Information Retrieval Based Bug Localization: Research Problem, Progress, and Challenges
Author:
Fund Project:

National Key Research and Development Program of China (2018YFB1003901); National Natural Science Foundation of China (61772259, 61872177)

  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [141]
  • |
  • 相似文献 [20]
  • | | |
  • 文章评论
    摘要:

    缺陷的存在,会影响软件系统的正常使用甚至带来重大危害.为了帮助开发者尽快找到并修复这些缺陷,研究者提出了基于信息检索的缺陷定位方法.这类方法将缺陷定位视为一个检索任务,它为每个缺陷报告生成一份按照程序实体与缺陷相关度降序排序的列表.开发者可以根据列表顺序来审查代码,从而降低审查成本并加速缺陷定位的进程.近年来,该领域的研究工作十分活跃,在改良定位方法和完善评价体系方面取得了较大进展.与此同时,为了能够在实践中更好地应用这类方法,该领域的研究工作仍面临着一些亟待解决的挑战.对近年来国内外学者在该领域的研究成果进行系统性的总结:首先,描述了基于信息检索的缺陷定位方法的研究问题;然后,分别从模型改良和模型评估两方面陈述了相关的研究进展,并对具体的理论和技术途径进行梳理;接着,简要介绍了缺陷定位的其他相关技术;最后,总结了目前该领域研究过程中面临的挑战并给出建议的研究方向.

    Abstract:

    Bugs can affect the normal usage of a software system or even bring huge damages. In order to facilitate developer to find and fix bugs as soon as possible, information retrieval based bug localization techniques have been proposed. This kind of techniques regards bug localization as a task of text retrieval. Specifically, for a given bug report, a rank list of code entities in a descending order is provided according to relevance score between code entity and the bug. Developers can select entities in the rank from top to bottom, which helps reducing the review cost and accelerating the process of bug localization. In recent years, a great progress has been achieved in information retrieval based bug localization techniques. Nevertheless, it is still challenging to apply them in practice. This survey offers a systematic overview of recent research achievements in information retrieval based bug localization techniques. First, the research problem is introduced in information retrieval-based bug localization. Then, the current main research work is described in detail. After that, the related techniques are discussed. Finally, the opportunities and challenges are summarized in this field and the research directions in the future are outlined.

    参考文献
    [1] Pressman RS. Software are Engineering:A Practitioner's Approach. 7th ed., New York:McGraw-Hill, 2010.437-443.[doi:10.1002/3527600434.eap439]
    [2] Wang Q, Wu SJ, Li MS. Software defect prediction. Ruan Jian Xue Bao/Journal of Software, 2008,19(7):1565-1580(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/19/1565.htm[doi:10.3724/SP.J.1001.2008.01565]
    [3] Chen X, Gu Q, Liu WS, Liu SL, Ni C. Survey of static software defect prediction. Ruan Jian Xue Bao/Journal of Software, 2016, 27(1):1-25(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4923.htm[doi:10.13328/j.cnki.jos.004923]
    [4] Chen X, Ju XL, Wen WZ, Gu Q. Review of dynamic fault localization approaches based on program spectrum. Ruan Jian Xue Bao/Journal of Software, 2015,26(2):390-412(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4708.htm[doi:10.13328/j.cnki.jos.004708]
    [5] Zhang W, Li ZQ, Du YH, Yang Y. Fine-Grained software bug location approach at method level. Ruan Jian XueBao/Journal of Software, 2019,30(2):195-210(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5565.htm[doi:10.13328/j.cnki.jos.005565]
    [6] Xuan JF, Ren ZL, Wang ZY, Xie XY, Jiang H. Progress on approaches to automatic program repair. Ruan Jian Xue Bao/Journal of Software, 2016,27(4):771-784(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4972.htm[doi:10.13328/j.cnki.jos.004972]
    [7] Serrano N, Ciordia I. Bugzilla, itracker, and other bug trackers. IEEE Software, 2005,22(2):11-13.
    [8] Yu K, Lin MX. Advances in automatic fault localization techniques. Chinese Journal of Computers, 2011,34(8):1411-1423(in Chinese with English abstract).[doi:10.3724/SP.J.1016.2011.01411]
    [9] Wang KC, Wang TT, Su XH, Ma PJ. Key scientific issues and state art of automatic software fault localization. Chinese Journal of Computers, 2015,38(11):2262-2278(in Chinese with English abstract).[doi:10.11897/SP.J.1016.2015.02262]
    [10] Cao HL, Jiang SJ, Ju XL. Survey of software fault localization. Computer Science, 2014,41(2):1-7(in Chinese with English abstract).[doi:10.3969/j.issn.1002-137X.2014.02.001]
    [11] Ju XL, Jiang SJ, Zhang YM, Dong GW. Advances in fault localization techniques. Journal of Frontiers of Computer Science and Technology, 2012,6(6):481-494(in Chinese with English abstract).[doi:10.3778/j.issn.1673-9418.2012.06.001]
    [12] Chi Y, Su XH, Wang TT. A survey on mutation-based fault localization. Intelligent Computer and Applications, 2017,7(5):157-162(in Chinese with English abstract).[doi:10.3969/j.issn.2095-2163.2017.05.044]
    [13] Marcus A, Sergeyev A, Rajlich V, Maletic JI. An information retrieval approach to concept location in source code. In:Proc. of the Working Conf. on Reverse Engineering. 2004.214-223.[doi:10.1109/WCRE.2004.10]
    [14] Marcus A, Rajlich V, Buchta J, Petrenko M, Sergeyev A. Static techniques for concept location in object-oriented code. In:Proc. of the Int'l Workshop on Program Comprehension. 2005.33-42.[doi:10.1109/WPC.2005.33]
    [15] Poshyvanyk D, Marcus A. Combining formal concept analysis with information retrieval for concept location in source code. In:Proc. of the Int'l Conf. on Program Comprehension. 2007.37-48.[doi:10.1109/ICPC.2007.13]
    [16] Poshyvanyk D, Guéhéneuc YG, Marcus A, Antoniol G, Rajlich V. Combining probabilistic ranking and latent semantic indexing for feature identification. In:Proc. of the Int'l Conf. on Program Comprehension. 2006.137-148.[doi:10.1109/ICPC.2006.17]
    [17] Liu DP, Marcus A, Poshyvanyk D, Rajlich V. Feature location via information retrieval based filtering of a single scenario execution trace. In:Proc. of the Int'l Conf. on Automated Software Engineering. 2007.234-243.[doi:10.1145/1321631.1321667]
    [18] Poshyvanyk D, Guéhéneuc YG, Marcus A, Antoniol G, Rajlich V. Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Trans. on Software Engineering, 2007,33(6):420-432.[doi:10.1109/TSE.2007.1016]
    [19] Wang SW, Lo D, Xing ZC, Jiang LX. Concern localization using information retrieval:An empirical study on Linux kernel. In:Proc. of the Working Conf. on Reverse Engineering. 2011.92-96.[doi:10.1109/WCRE.2011.72]
    [20] Zhang Y, Lo D, Xia X, Scannielo G, Le TDB, Sun JL. Fusing multi-abstraction vector space models for concernlocalization. Empirical Software Engineering, 2018,23(4):2279-2322.[doi:10.1007/s10664-017-9585-2]
    [21] Hill E, Rao S, Kak AC. On the use of stemming for concern location and bug localization in Java. In:Proc. of the Working Conf. on Source Code Analysis and Manipulation. 2012.184-193.[doi:10.1109/SCAM.2012.29]
    [22] Le TDB, Wang SW, Lo D. Multi-Abstraction concern localization. In:Proc. of the Int'l Conf. on Software Maintenance. 2013.364-367.[doi:10.1109/ICSM.2013.48]
    [23] Rao S, Kak AC. Retrieval from software libraries for bug localization:A comparative study of generic and composite text models. In:Proc. of the Working Conf. on Mining Software Repositories. 2011.43-52.[doi:10.1145/1985441.1985451]
    [24] Saha RK, Lease M, Khurshid S, Perry DE. Improving bug localization using structured information retrieval. In:Proc. of the Int'l Conf. on Automated Software Engineering. 2013.345-355.[doi:10.1109/ASE.2013.6693093]
    [25] Moreno L, Treadway JJ, Marcus A, Shen WW. On the use of stack traces to improve text retrieval-based bug localization. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2014.151-160.[doi:10.1109/ICSME.2014.37]
    [26] Saha RK, Lawall J, Khurshid S, Perry DE. On the effectiveness of information retrieval based bug localization for C programs. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2014.161-170.[doi:10.1109/ICSME.2014.38]
    [27] Lukins SK, Kraft NA, Etzkorn LH. Source code retrieval for bug localization using latent dirichlet allocation. In:Proc. of the Working Conf. on Reverse Engineering. 2008.155-164.[doi:10.1109/WCRE.2008.33]
    [28] Zhou J, Zhang HY, Lo D. Where should the bug be fixed? More accurate information retrieval-based bug localization based on bug report. In:Proc. of the Int'l Conf. on Software Engineering. 2012.14-24.[doi:10.1109/ICSE.2012.6227210]
    [29] Tantithamthavorn C, Ihara A, Matsumoto K. Using co-change histories to improve bug localization performance. In:Proc. of the Int'l Conf. on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. 2013.543-548.[doi:10.1109/SNPD.2013.92]
    [30] Wong CP, Xiong YF, Zhang HY, Hao D, Zhang L, Mei H. Boosting bug-report-oriented fault localization with segmentation and stack-trace analysis. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2014.181-190.[doi:10.1109/ICSME. 2014.40]
    [31] Wang SW, Lo D. Version history, similar report, and structure:Putting them together for improved bug localization. In:Proc. of the Int'l Conf. on Program Comprehension. 2014.53-63.[doi:10.1145/2597008.2597148]
    [32] Wen M, Wu RX, Cheung SC. Locus:Locating bugs from software changes. In:Proc. of the Int'l Conf. on Automated Software Engineering. 2016.262-273.[doi:10.1145/2970276.2970359]
    [33] Nichols BD. Augmented bug localization using past bug information. In:Proc. of the ACM Southeast Regional Conf. 2010.61.[doi:10.1145/1900008.1900090]
    [34] Lukins SK, Kraft NA, Etzkorn LH. Bug localization using latent dirichlet allocation. Information and Software Technology, 2010, 52(9):972-990.[doi:10.1016/j.infsof.2010.04.002]
    [35] Rahman MM, Roy CK. Improving IR-based bug localization with context-aware query reformulation. In:Proc. of the Int'l Symp. on Foundations of Software Engineering. 2018.621-632.[doi:10.1145/3236024.3236065]
    [36] Zhao F, Tang YM, Yang YB, Lu HM, Zhou YM, Xu BW. Is learning-to-rank cost-effective in recommending relevant files for bug localization? In:Proc. of the Int'l Conf. on Software Quality, Reliability and Security. 2015.298-303.[doi:10.1109/QRS.2015.49]
    [37] Zhao F. Localizing relevant source code files for bug report:An effort-aware effectiveness evaluation[MS. Thesis]. Nanjing:Nanjing University, 2016(in Chinese with English abstract).
    [38] Garnier M, Garcia A. On the evaluation of structured information retrieval-based bug localization on 20 C# projects. In:Proc. of the Brazilian Symp. on Software Engineering. 2016.123-132.[doi:10.1145/2973839.2973853]
    [39] Lee J, Kim D, Bissyandé TF, Jung W, Traon YL. Bench4BL:Reproducibility study on the performance of IR-based bug localization. In:Proc. of the Int'l Symp. on Software Testing and Analysis. 2018.61-72.[doi:10.1145/3213846.3213856]
    [40] Chaparro O. Improving bug reporting, duplicate detection, and localization. In:Proc. of the Int'l Conf. on Software Engineering. 2017.421-424.[doi:10.1109/ICSE-C.2017.27]
    [41] Kim M, Lee E. Are information retrieval-based bug localization techniques trustworthy? In:Proc. of the Int'l Conf. on Software Engineering. 2018.248-249.[doi:10.1145/3183440.3194954]
    [42] Rahman MM, Roy CK. Improving bug localization with report quality dynamics and query reformulation. In:Proc. of the Int'l Conf. on Software Engineering. 2018.348-349.[doi:10.1145/3183440.3195003]
    [43] Herzig K, Just S, Zeller A. It's not a bug, it's a feature:How misclassification impacts bug prediction. In:Proc. of the Int'l Conf. on Software Engineering. 2013.392-401.[doi:10.1109/ICSE.2013.6606585]
    [44] Thung F, Le TDB, Kochhar PS, Lo D. BugLocalizer:Integrated tool support for bug localization. In:Proc. of the Joint Meeting of the European Software Engineering Conf. and the Symp. on the Foundations of Software Engineering. 2014.767-770.[doi:10.1145/2635868.2661678]
    [45] Le TDB, Oentaryo RJ, Lo D. Information retrieval and spectrum based bug localization:Better together. In:Proc. of the Joint Meeting of the European Software Engineering Conf. and the Symp. on the Foundations of Software Engineering. 2015.579-590.[doi:10.1145/2786805.2786880]
    [46] Chaparro O, Lu J, Zampetti F, Moreno L. Detecting missing information in bug descriptions. In:Proc. of the Int'l Symp. on Foundations of Software Engineering. 2017.396-407.[doi:10.1145/3106237.3106285]
    [47] Ye X, Bunescu R, Liu C. Learning to rank revelant files for bug reports using domain knowledge. In:Proc. of the Joint Meeting of the European Software Engineering Conf. and the Symp. on the Foundations of Software Engineering. 2014.689-699.[doi:10.1145/2635868.2635874]
    [48] Kochhar PS, Tian Y, Lo D. Potential biases in bug localization:Do they matter? In:Proc. of the Int'l Conf. on Automated Software Engineering. 2014.803-814.[doi:10.1145/2642937.2642997]
    [49] Nguyen AT, Nguyen TT, SI-Kofahi J, Nguyen HV, Nguyen TN. A topic-based approach for narrowing the search space of buggy files from a bug report. In:Proc. of the Int'l Conf. on Automated Software Engineering. 2011.263-272.[doi:10.1109/ASE.2011.6100062]
    [50] Wang SW, Lo D, Lawall J. Compositional vector space models for improved bug localization. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2014.171-180.[doi:10.1109/ICSME.2014.39]
    [51] Chaparro O, Florez JM, Marcus A. Using observed behavior to reformulate queries during text retrieval-based bug localization. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2017.376-387.[doi:10.1109/ICSME.2017.100]
    [52] Lawrie DJ, Binkley DW. On the value of bug reports for retrieval-based bug localization. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2018.524-528.[doi:10.1109/ICSME.2018.00048]
    [53] Mills C, Pantiuchina J, Parra E, Bavota G, Haiduc S. Are bug reports enough for text retrieval-based bug localization? In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. 2018.381-392.[doi:10.1109/ICSME.2018.00046]
    [54] Dao T, Zhang LM, Meng N. How does execution information help with information-retrieval based bug localization? In:Proc. Int'l Conf. on Program Comprehension. 2017.241-250.[doi:10.1109/ICPC.2017.29]
    [55] Lam AN, Nguyen AT, Nguyen HA, Nguyen TN. Bug localization with combination of deep learning and information retrieval. In:Proc. Int'l Conf. on Program Comprehension. 2017.218-229.[doi:10.1109/ICPC.2017.24]
    [56] Takahashi A, Sae-Lim N, Hayashi S, Saeki M. A preliminary study on using code smells to improve bug localization. In:Proc. Int'l Conf. on Program Comprehension. 2018.324-327.[doi:10.1145/3196321.3196361]
    [57] Beard MD. Extending bug localization using information retrieval and code clone location techniques. In:Proc. of the Working Conf. on Reverse Engineering. 2011.425-428.[doi:10.1109/WCRE.2011.61]
    [58] Beard MD, Kraft NA, Etzkorn LH, Lukins SK. Measuring the accuracy of information retrieval based bug localization techniques. In:Proc. of the Working Conf. on Reverse Engineering. 2011.124-128.[doi:10.1109/WCRE.2011.23]
    [59] Davies S, Roper M, Wood M. Using bug report similarity to enhance bug localisation. In:Proc. of the Working Conf. on Reverse Engineering. 2012.125-134.[doi:10.1109/WCRE.2012.22]
    [60] Sisman B, Kak AC. Incorporating version histories in information retrieval based bug localization. In:Proc. of the Working Conf. on Mining Software Repositories. 2012.50-59.[doi:10.1109/MSR.2012.6224299]
    [61] Sisman B, Kak AC. Assisting code search with automatic query reformulation for bug localization. In:Proc. of the Working Conf. on Mining Software Repositories. 2013.309-318.[doi:10.1109/MSR.2013.6624044]
    [62] Wang SH, Khomh F, Zou Y. Improving bug localization using correlations in crash reports. In:Proc. of the Working Conf. on Mining Software Repositories. 2013.247-256.[doi:10.1109/MSR.2013.6624036]
    [63] Rath M, Lo D, Mäder P. Analyzing requirements and traceability information to improve bug localization. In:Proc. of the Working Conf. on Mining Software Repositories. 2018.442-453.[doi:10.1145/3196398.3196415]
    [64] Xiao Y, Keung J. Improving bug localization with character-level convolutional neural network and recurrent neural network. In:Proc. of the Asia-Pacific Software Engineering Conf. 2018.703-704.[doi:10.1109/APSEC.2018.00097]
    [65] Youm KC, Ahn J, Kim J, Lee E. Bug localization based on code changes histories and bug reports. In:Proc. of the Asia-Pacific Software Engineering Conf. 2015.190-197.[doi:10.1109/APSEC.2015.23]
    [66] Thomas SW, Nagappan M, Blostein D, Hassan AE. The impact of classifier configuration and classifier combination on bug localization. IEEE Trans. on Software Engineering, 2013,39(10):1427-1443.[doi:10.1109/TSE.2013.27]
    [67] Hoang T, Oentaryo RJ, Le TDB, Lo D. Network-Clustered multi-modal bug localization. IEEE Trans. on Software Engineering, 2019, 45(10):1002-1023.[doi:10.1109/TSE.2018.2810892]
    [68] Koyuncu A, Bissyande TF, Kim DS, Liu K, Klein J, Monperrus M, Traon YL. D&C:A divide-and-conquer approach to IR-based bug localization. arXiv Preprint arXiv:1902.02703, 2019
    [69] Huo X, Thung F, Li M, Lo D, Shi ST. Deep transfer bug localization. IEEE Trans. on Software Engineering, 2019:1-12.[doi:10.1109/TSE.2019.2920771]
    [70] Zimmermann T, Premraj R, Bettenburg N, Just S, Schröter A, Weiss C. What makes a good bug report? IEEE Trans. on Software Engineering, 2010,36(5):618-643.[doi:10.1109/TSE.2010.63]
    [71] Kim DS, Tao YD, Kim SH, Zeller A. Where should we fix this bug? A two-phase recommendation model. IEEE Trans. on Software Engineering, 2013,39(11):1597-1610.[doi:10.1109/TSE.2013.24]
    [72] Le TDB, Thung F, Lo D. Will this localization tool be effective for this bug? Mitigating the impact of unreliability of information retrieval based bug localization tools. Empirical Software Engineering, 2017,22(4):2237-2279.[doi:10.1007/s10664-016-9484-y]
    [73] Chaparro O, Florez JM, Marcus A. Using bug descriptions to reformulate queries during text-retrieval-based bug localization. Empirical Software Engineering, 2019,25(4):2947-3007.[doi:10.1007/s10664-018-9672-z]
    [74] Youm KC, Ahn J, Lee E. Improved bug localization based on code change histories and bug reports. Information and Software Technology, 2017,82:177-192.[doi:10.1016/j.infsof.2016.11.002]
    [75] Khatiwada S, Tushev M, Mahmoud A. Just enough semantics:An information theoretic approach for IR-based software bug localization. Information and Software Technology, 2018,93:45-57.[doi:10.1016/j.infsof.2017.08.012]
    [76] Tantithamthavorn C, Abebe SL, Hassan AE, Ihara A, Matsumoto K. The impact of IR-based classifier configuration on the performance and the effort of method-level bug localization. Information and Software Technology, 2018,102:160-174.[doi:10.1016/j.infsof.2018.06.001]
    [77] Xiao Y, Keung J, Bennin KE, Mi Q. Improving bug localization with word embedding and enhanced convolutional neural networks. Information and Software Technology, 2019,105:17-29.[doi:10.1016/j.infsof.2018.08.002]
    [78] Zhang W, Li ZQ, Wang Q, Li J. FineLocator:A novel approach to method-level fine-grained bug localization by query expansion. Information and Software Technology, 2019,110:121-135.[doi:10.1016/j.infsof.2019.03.001]
    [79] Dilshener T, Wermelinger M, Yu YJ. Locating bugs without looking back. Automated Software Engineering, 2018,25(3):383-434.[doi:10.1007/s10515-017-0226-1]
    [80] Wang SW, Lo D. AmaLgam+:Composing rich information sources for accurate bug localization. Journal of Software:Evolution and Process, 2016,28(10):921-942.[doi:10.1002/smr.1801]
    [81] Dit B, Revelle M, Gethers M, Poshyvanyk D. Feature location in source code:A taxonomy and survey. Journal of Software:Evolution and Process, 2013:53-95.[doi:10.1002/smr.567]
    [82] Arcega L, Font J, Haugen Ø, Cetina C. An approach for bug localization in models using two levels:Model and metamodel. Software and Systems Modeling, 2019,18(6):3551-3576.[doi:10.1007/s10270-019-00727-y]
    [83] Rath M, Rempel P, Mader P. The IlmSeven dataset. In:Proc. of the Int'l Requirements Engineering Conf. 2017.516-519.[doi:10.1109/RE.2017.18]
    [84] Rath M, Mäder P. Structured information in bug report descriptions-Influence on IR-based bug localization and developers. Software Quality Journal, 2019,27(3):1315-1337.[doi:10.1007/s11219-019-09445-6]
    [85] Chen IX, Li CH, Yang CZ. Mining co-location relationships among bug reports to localize fault-prone modules. IEICE Transactions on Information and Systems, 2011,93-D(5):1154-1161.[doi:10.1587/transinf.E93.D.1154]
    [86] Le TDB, Thung F, Lo D. Predicting effectiveness of IR-based bug localization techniques. In:Proc. of the Int'l Symp. on Software Reliability Engineering. 2014.335-345.[doi:10.1109/ISSRE.2014.39]
    [87] Rao S, Medeiros H, Kak AC. Comparing incremental latent semantic analysis algorithms for efficient retrieval from software libraries for bug localization. ACM SIGSOFT Software Engineering Notes, 2015,40(1):1-8.[doi:10.1145/2693208.2693222]
    [88] Naish L, Ramamohanarao NK. Multiple bug spectral fault localization using genetic programming. In:Proc. of the Australasian Software Engineering Conf. 2015.11-17.[doi:10.1109/ASWEC.2015.12]
    [89] Alduailij M, Al-Duailej M. Performance evaluation of information retrieval models in bug localization on the method level. In:Proc. of the Int'l Conf. on Collaboration Technologies and Systems. 2015.305-313.[doi:10.1109/CTS.2015.7210439]
    [90] Kilinç D, Yücalar F, Borandag E, Aslan E. Multi-Level reranking approach for bug localization. Expert Systems, 2016,33(3):286-294.[doi:10.1111/exsy.12150]
    [91] Shi ZD, Keung JW, Bennin KE, Limsettho N, Song QB. A strategy to determine when to stop using automatic bug localization. In:Proc. of the Int'l Computer Software and Applications Conf. 2016.185-190.[doi:10.1109/COMPSAC.2016.39]
    [92] Rahman S, Rahman MM, Sakib K. An improved method level bug localization approach using minimized code space. In:Proc. of the Int'l Conf. on Evaluation of Novel Approaches to Software Engineering. 2016.179-200.[doi:10.1007/978-3-319-56390-9_9]
    [93] Gore A, Choubey SD, Gangrade K. Improved bug localization technique using hybrid information retrieval model. In:Proc. of the Int'l Conf. on Distributed Computing and Internet Technology. 2016.127-131.[doi:10.1007/978-3-319-28034-9_16]
    [94] Shi ZD, Keung J, Bennin KE, Zhang ZJ. Comparing learning to rank techniques in hybrid bug localization. Applied Soft Computing, 2019,62:636-648.[doi:10.1016/j.asoc.2017.10.048]
    [95] Loyola P, Gajananan K, Satoh F. Bug localization by learning to rank and represent bug inducing changes. In:Proc. of the Int'l Conf. on Information and Knowledge Management. 2018.657-665.[doi:10.1145/3269206.3271811]
    [96] Xiao Y, Keung J, Mi Q, Bennin KE. Bug localization with semantic and structural features using convolutional neural network and cascade forest. In:Proc. of the Int'l Conf. on Evaluation and Assessment in Software Engineering. 2018.101-111.[doi:10.1145/3210459.3210469]
    [97] Rath M, Mäder P. Influence of structured information in bug report descriptions on IR-Based bug localization. In:Proc. of the Euromicro Conf. on Software Engineering and Advanced Applications. 2018.26-32.[doi:10.1109/SEAA.2018.00014]
    [98] Wang YJ, Yuan Y, Tong HH, Huo X, Li M, Xu F, Lu J. Bug localization via supervised topic modeling. In:Proc. of the Int'l Conf. on Data Mining. 2018.607-616.[doi:10.1109/ICDM.2018.00076]
    [99] Swe KEE, Oo HM. Bug localization approach using source code structure with different structure fields. In:Proc. of the Int'l Conf. on Software Engineering Research, Management and Applications. 2018.159-164.[doi:10.1109/SERA.2018.8477206]
    [100] Zhang T, Hu WJ, Luo XP, Ma XB. A commit messages-based bug localization for android applications. Int'l Journal of Software Engineering and Knowledge Engineering, 2019,29(4):457-487.[doi:10.1142/S0218194019500207]
    [101] Polisetty S, Miranskyy AV, Basar A. On usefulness of the deep-learning-based bug localization models to practitioners. In:Proc. of the Int'l Workshop on Predictor Models in Software Engineering. 2019.16-25.[doi:10.1145/3345629.3345632]
    [102] Kim M, Lee E. A novel approach to automatic query reformulation for IR-based bug localization. In:Proc. of the Symp. on Applied Computing. 2019.1752-1759.[doi:10.1145/3297280.3297451]
    [103] Ranman S, Ganguly KK, Sakib K. An improved bug localization using structured information retrieval and version history. In:Proc. of the Int'l Conf. on Computer and Information Technology. 2015.190-195.[doi:10.1109/ICCITechn.2015.7488066]
    [104] Shao P, Atkison T, Kraft NA, Smith RK. Combining lexical and structural information for static bug localisation. Int'l Journal of Computer Applications in Technology, 2012, 44(1),61-71.[doi:10.1504/IJCAT.2012.048208]
    [105] Davies S, Roper M. Bug localisation through diverse sources of information. In:Proc. of the Int'l Symp. on Software Reliability Engineering. 2013.126-131.[doi:10.1109/ISSREW.2013.6688891]
    [106] Salton G, McGill M. Introduction to Modern Information Retrieval. New York:McGraw-Hill, 1983.[doi:10.1080/00048623.2010.10721488]
    [107] Deerwester S, Dumais ST, Furnas GW, Landauer TK, Harshman R. Indexing by latent semantic analysis. Journal of The American Society for Information Science, 1990,41(6):391-407.
    [108] Blei D, Ng AY, Jordan M. Latent dirichlet allocation. Journal of Machine Learning Research, 2003,3(4/5):993-1022.[doi:10.1162/jmlr.2003.3.4-5.993]
    [109] Manning CD, Raghavan P, Schütze H. Introduction to Information Retrieval. New York:Cambridge University Press, 2008.[doi:10.1002/asi.v61:4]
    [110] Gay G, Haiduc S, Marcus A, Menzies T. On the use of relevance feedback in IR-based concept location.In:Proc. of the Int'l Conf. on Software Maintenance. 2009.351-360.[doi:10.1109/ICSM.2009.5306315]
    [111] Hofmann T. Probabilistic latent semantic indexing. In:Proc. of the Int'l Conf. on Research and Development in Information Retrieval. Berkeley, 1999.50-57.[doi:10.1145/312624.312649]
    [112] Chen IX, Jaygarl H, Yang CZ, Wu PJ. Information retrieval on bug locations by learning co-located bug report clusters. In:Proc. of the Annual Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. 2008.801-802.[doi:10.1145/1390334.1390511]
    [113] Strohman T, Metzler D, Turtle H, Croft WB. Indri:A language model-based search engine for complex queries. In:Proc. of the ICIA. 2005.2-6.
    [114] Bettenburg N, Just S, Schröter A. What makes a good bug report? In:Proc. of the Joint Meeting of the European Software Engineering Conf. and the Symp. on the Foundations of Software Engineering. 2008.308-318.[doi:10.1145/1453101.1453146]
    [115] Dallmeier V, Zimmermann T. Extraction of bug localization benchmarks from history. In:Proc. of the Int'l Conf. on Automated Software Engineering. 2007.433-436.[doi:10.1145/1321631.1321702]
    [116] Abreu R, Zoeteweij P, Golsteijn R, Gemund AJC. A practical evaluation of spectrum-based fault localization. The Journal of Systems and Software, 2009,82(11):1780-1792.[doi:10.1016/j.jss.2009.06.035]
    [117] Lee HJ, Naish L, Ramamohanarao K. Effective software bug localization using spectral frequency weighting function. In:Proc. of the Int'l Computer Software and Applications Conf. 2010.218-227.[doi:10.1109/COMPSAC.2010.26]
    [118] Ribeiro HL, Araujo RPA, Chaim ML, Souza HA, Kon F. Evaluating data-flow coverage in spectrum-based fault localization. In:Proc. of the Int'l Symp. on Empirical Software Engineering and Measurement. 2019.1-11.[doi:10.1109/ESEM.2019.8870182]
    [119] Ma CY, Nie CY, Chao WC. A vector table medel-based systematic analysis of spectral fault localization techniques. Software Quality Journal, 2019,27(1):43-78.[doi:10.1007/s11219-018-9402-1]
    [120] Hong S, Lee B, Kwak T, Jeon Y, Ko B, Kim Y, Kim M. Mutation-Based fault localization for real-worldmultilingual programs. In:Proc. of the Int'l Conf. on Automated Software Engineering. 2015.464-475.[doi:10.1109/ASE.2015.14]
    [121] Liu Y, Li Z, Wang LX, Hu ZW, Zhao RL. Statement-Oriented mutant reduction strategy formutation based fault localization. In:Proc. of the Int'l Conf. on Software Quality, Reliability and Security. 2017.126-137.[doi:10.1109/QRS.2017.23]
    [122] Liu Y, Li Z, Zhao RL, Gong P. An optimal mutation execution strategy for cost reduction ofmutation-based fault localization. Information Sciences, 2018,422:572-596.[doi:10.1016/j.ins.2017.09.006]
    [123] Oliveira AAL, Camilo-Junior CG, Freitas ENA, Vincenzi AMR. FTMES:A failed-test-oriented mutant execution strategy for mutation-based fault localization. In:Proc. of the Int'l Symp. on Software Reliability Engineering. 2018.155-165.[doi:10.1109/ISSRE.2018.00026]
    [124] He T, Wang XM, Zhou XC, Li WJ, Zhang ZY, Cheung SC. A software fault localization technique based on program mutations. Chinese Journal of Computers, 2013,36(11):2236-2244(in Chinese with English abstract).[doi:10.3724/SP.J.1016.2013.02236]
    [125] Papadakis M, Traon YL. Metallaxis-FL:Mutation-based fault localization. Software Testing Verification and Reliability,, 2015,25(5-7):605-628.[doi:10.1002/stvr.1509]
    [126] Wu RX, Zhang HY, Cheung SC, Kim SH. CrashLocator:Locating crashing faults based on crash stacks. In:Proc. of the Int'l Symp. on Software Testing and Analysis. 2014.204-214.[doi:10.1145/2610384.2610386]
    [127] Wu RX, Wen M, Cheung SC, Zhang HY. ChangeLocator:Locate crash-inducing changes based on crash reports. Empirical Software Engineering, 2018,23(5):2866-2900.[doi:10.1007/s10664-017-9567-4]
    [128] Guo ZQ, Li YH, Ma WWY, Zhou YM, Lu HM, Chen L, Xu BW. Boosting crash-inducing change localization with rank-performance-based feature subset selection. Empirical Software Engineering, 2020,25(3):1905-1950.[doi:10.1007/s10664-020-09802-1]
    附中文参考文献:
    [2] 王青,伍书剑,李明树.软件缺陷预测技术.软件学报,2008,19(7):1565-1580. http://www.jos.org.cn/1000-9825/19/1565.htm[doi:10.3724/SP.J.1001.2008.01565]
    [3] 陈翔,顾庆,刘望舒,刘树龙,倪超.静态软件缺陷预测方法研究.软件学报,2016,27(1):1-25. http://www.jos.org.cn/1000-9825/4923.htm[doi:10.13328/j.cnki.jos.004923]
    [4] 陈翔,鞠小林,文万志,顾庆.基于程序频谱的动态缺陷定位方法研究.软件学报,2015,26(2):390-412. http://www.jos.org.cn/1000-9825/4708.htm[doi:10.13328/j.cnki.jos.004708]
    [5] 张文,李自强,杜宇航,杨叶.方法级别的细粒度软件缺陷定位方法.软件学报,2019,30(2):195-210. http://www.jos.org.cn/1000-9825/5565.htm[doi:10.13328/j.cnki.jos.005565]
    [6] 玄跻峰,任志磊,王子元,谢晓园,江贺.自动程序修复方法研究进展.软件学报,2016,27(4):771-784. http://www.jos.org.cn/1000-9825/4972.htm[doi:10.13328/j.cnki.jos.004972]
    [8] 虞凯,林梦香.自动化软件错误定位技术研究进展.计算机学报,2011,34(08):1411-1422.[doi:10.3724/SP.J.1016.2011.01411]
    [9] 王克朝,王甜甜,苏小红,马培军.软件错误自动定位关键科学问题及研究进展.计算机学报,2015,38(11):2262-2278.[doi:10.11897/SP.J.1016.2015.02262]
    [10] 曹鹤玲,姜淑娟,鞠小林.软件错误定位研究综述.计算机科学,2014,41(2):1-7.[doi:10.3969/j.issn.1002-137X.2014.02.001]
    [11] 鞠小林,姜淑娟,张艳梅,董国伟.软件故障定位技术进展.计算机科学与探索,2012,6(6):481-494.[doi:10.3778/j.issn.1673-9418.2012.06.001]
    [12] 迟洋,苏小红,王甜甜.基于变异的软件错误定位方法研究综述.智能计算机与应用,2017,7(5):157-162.[doi:10.3969/j.issn.2095-2163.2017.05.044]
    [37] 赵斐.Bug报告的相关源代码文件定位:一个工作量感知的有效性评价[硕士学位论文].南京:南京大学,2016.
    [124] 贺韬,王欣明,周晓聪,李文军,张震宇,张成志.一种基于程序变异的软件错误定位技术.计算机学报,2013,36(11):2236-2244.[doi:10.3724/SP.J.1016.2013.02236]
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

郭肇强,周慧聪,刘释然,李言辉,陈林,周毓明,徐宝文.基于信息检索的缺陷定位:问题、进展与挑战.软件学报,2020,31(9):2826-2854

复制
分享
文章指标
  • 点击次数:3718
  • 下载次数: 10584
  • HTML阅读次数: 5270
  • 引用次数: 0
历史
  • 收稿日期:2020-01-07
  • 最后修改日期:2020-03-10
  • 在线发布日期: 2020-06-08
  • 出版日期: 2020-09-06
文章二维码
您是第19780313位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号