基于信息检索的软件缺陷定位方法综述
作者:
作者简介:

李政亮(1993-),男,博士生,CCF学生会员,主要研究领域为软件缺陷定位.
陈翔(1980-),男,博士,副教授,CCF高级会员,主要研究领域为软件缺陷预测,软件缺陷定位,回归测试,组合测试.
蒋智威(1988-),男,博士,助理研究员,CCF专业会员,主要研究领域为自然语言处理.
顾庆(1972-),男,博士,教授,博士生导师,CCF高级会员,主要研究领域为软件质量保障,分布式计算.

通讯作者:

顾庆,E-mail:guq@nju.edu.cn;陈翔,E-mail:xchencs@ntu.edu.cn

基金项目:

国家自然科学基金(61972192,61202006,61906085,41972111);第2次青藏高原综合科学考察研究项目(2019QZKK0204);南京大学计算机软件新技术国家重点实验室开放课题(KFKT2019B14,KFKT2018B17)


Survey on Information Retrieval-based Software Bug Localization Methods
Author:
Fund Project:

National Natural Science Foundation of China (61972192, 61202006, 61906085, 41972111); Second Tibetan Plateau Scientific Expedition and Research Program (2019QZKK0204); Open Project of State Key Laboratory for Novel Software Technology at Nanjing University (KFKT2019B14, KFKT2018B17)

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

    基于信息检索的软件缺陷定位方法是当前软件缺陷定位领域中的一个研究热点.该方法主要分析缺陷报告文本和程序模块代码,通过计算缺陷报告和程序模块间的相似度,选取与缺陷报告相似度最高的若干程序模块,将其推荐给开发人员.对近些年国内外研究人员在该综述主题上取得的成果进行了系统的梳理和总结.首先,给出研究框架并阐述影响方法性能的3个重要因素——数据源、检索模型和场景应用;其次,依次对这3个影响因素的已有研究成果进行总结;然后,总结基于信息检索的软件缺陷定位研究中常用的性能评测指标和评测数据集;最后总结全文,并对未来值得关注的研究方向进行展望.

    Abstract:

    Information retrieval-based software bug localization is an active research topic in the domain of software fault localization. It first analyzes the contents of the bug reports and program modules. Then it calculates the similarity between the bug reports and program modules. Finally, it recommends the most similar program modules to developers when given a bug report. This paper presents a systematic survey of existing research achievements of the domestic and international researchers in recent years. First, a research framework is proposed and three key factors (i.e., data sources, retrieval model, and application scenario), which may influence the performance of bug localization methods are identified. Next, existing research achievements in these three key factors are discussed in sequence. Then, the performance evaluation measures and datasets commonly used in information retrieval-based bug localization are summarized. Finally, conclusions of this study are drawn and a perspective of the future work in this research area is discussed.

    参考文献
    [1] 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]
    [2] Wong WE, Gao R, Li Y, Abreu R, Wotawa F. A survey on software fault localization. IEEE Trans. on Software Engineering, 2016,42(8):707-740.[doi:10.1109/TSE.2016.2521368]
    [3] Kochhar PS, Bissyande TF, Lo D, Jiang L. An empirical study of adoption of software testing in open source projects. In:Proc. of the Int'l Conf. on Quality Software. IEEE, 2013. 103-112.[doi:10.1109/QSIC.2013.57]
    [4] Wang S, Lo D, Xing Z, Jiang L. Concern localization using information retrieval:An empirical study on linux kernel. In:Proc. of the Working Conf. on Reverse Engineering (WCRE). IEEE, 2011. 92-96.[doi:10.1109/WCRE.2011.72]
    [5] Dit B, Revelle M, Gethers M, Poshyvanyk D. Feature location in source code:A taxonomy and survey. Journal of Software:Evolution and Process, 2013,25(1):53-95.[doi:10.1002/smr.567]
    [6] 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]
    [7] Tantithamthavorn C, Lemma Abebe S, 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]
    [8] Hill E, Rao S, Kak A. On the use of stemming for concern location and bug localization in java. In:Proc. of the Int'l Working Conf. on Source Code Analysis and Manipulation. IEEE, 2012. 184-193.[doi:10.1109/SCAM.2012.29]
    [9] 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. IEEE, 2008. 155-164.[doi:10.1109/WCRE.2008.33]
    [10] 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]
    [11] Nguyen AT, Nguyen TT, Al-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 (ASE 2011). IEEE, 2011. 263-272.[doi:10.1109/ASE.2011.6100062]
    [12] Lal S, Sureka A. A static technique for fault localization using character n-gram based information retrieval model. In:Proc. of the India Software Engineering Conf. ACM, 2012. 109-118.[doi:10.1145/2134254.2134274]
    [13] Zhang X, Yao Y, Wang Y, Xu F, Lu J. Exploring metadata in bug reports for bug localization. In:Proc. of the Asia-Pacific Software Engineering Conf. (APSEC). IEEE, 2017. 328-337.[doi:10.1109/APSEC.2017.39]
    [14] 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]
    [15] Moreno L, Bandara W, Haiduc S, Marcus A. On the relationship between the vocabulary of bug reports and source code. In:Proc. of the Int'l Conf. on Software Maintenance. IEEE, 2013. 452-455.[doi:10.1109/ICSM.2013.70]
    [16] Chaparro O. Improving bug reporting, duplicate detection, and localization. In:Proc. of the Int'l Conf. on Software Engineering Companion (ICSE-C). IEEE, 2017. 421-424.[doi:10.1109/ICSE-C.2017.27]
    [17] Davies S, Roper M, Wood M. Using bug report similarity to enhance bug localisation. In:Proc. of the Working Conf. on Reverse Engineering. IEEE, 2012. 125-134.[doi:10.1109/WCRE.2012.22]
    [18] Zhou J, Zhang H, Lo D. Where should the bugs be fixed? More accurate information retrieval-based bug localization based on bug reports. In:Proc. of the Int'l Conf. on Software Engineering (ICSE). IEEE, 2012. 14-24.[doi:10.1109/ICSE.2012.6227210]
    [19] Schröter A, Bettenburg N, Premraj R. Do stack traces help developers fix bugs? In:Proc. of the Working Conf. on Mining Software Repositories (MSR 2010). IEEE, 2010. 118-121.[doi:10.1109/MSR.2010.5463280]
    [20] Moreno L, Treadway JJ, Marcus A, Shen W. 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. IEEE, 2014. 151-160.[doi:10.1109/ICSME.2014.37]
    [21] Wong CP, Xiong Y, Zhang H, 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. IEEE, 2014. 181-190.[doi:10.1109/ICSME.2014.40]
    [22] 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]
    [23] Ye X, Bunescu R, Liu C. Mapping bug reports to relevant files:A ranking model, a fine-grained benchmark, and feature evaluation. IEEE Trans. on Software Engineering, 2016,42(4):379-402.[doi:10.1109/TSE.2015.2479232]
    [24] Zhou Y, Tong Y, Chen T, Han J. Augmenting bug localization with part-of-speech and invocation. Int'l Journal of Software Engineering and Knowledge Engineering, 2017,27(6):925-949.[doi:10.1142/S0218194017500346]
    [25] Chen IX, Yang CZ, Lu TK, Jaygarl H. Implicit social network model for predicting and tracking the location of faults. In:Proc. of the Annual IEEE Int'l Computer Software and Applications Conf. (COMPSAC). IEEE, 2008. 136-143.[doi:10.1109/COMPSAC. 2008.162]
    [26] Takahashi A, Sae-Lim N, Hayashi S, Saeki M. A preliminary study on using code smells to improve bug localization. In:Proc. of the Int'l Conf. on Program Comprehension (ICPC 2018). ACM, 2018. 324-327.[doi:10.1145/3196321.3196361]
    [27] Sisman B, Kak AC. Incorporating version histories in information retrieval based bug localization. In:Proc. of the Working Conf. on Mining Software Repositories (MSR). IEEE, 2012. 50-59.[doi:10.1109/MSR.2012.6224299]
    [28] Tantithamthavorn C, Ihara A, Matsumoto KI. Using co-change histories to improve bug localization performance. In:Proc. of the ACIS Int'l Conf. on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. IEEE, 2013. 543-548.[doi:10.1109/SNPD.2013.92]
    [29] Wang S, 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 (ICPC 2014). ACM, 2014. 53-63.[doi:10.1145/2597008.2597148]
    [30] Reis S, Abreu R, D'Amorim M. Demystifying the combination of dynamic slicing and spectrum-based fault localization. In:Proc. of the Int'l Joint Conf. on Artificial Intelligence. 2019. 4760-4766.[doi:10.24963/ijcai.2019/661]
    [31] Le TDB, Oentaryo RJ, Lo D. Information retrieval and spectrum based bug localization:better together. In:Proc. of the Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2015). ACM, 2015. 579-590.[doi:10.1145/2786805.2786880]
    [32] Hoang TVD, 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]
    [33] Dao T, Zhang L, Meng N. How does execution information help with information-retrieval based bug localization? In:Proc. of the Int'l Conf. on Program Comprehension (ICPC). IEEE, 2017. 241-250.[doi:10.1109/ICPC.2017.29]
    [34] Wang S, 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]
    [35] Wang S, Lo D, Lawall J. Compositional vector space models for improved bug localization. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. IEEE, 2014. 171-180.[doi:10.1109/ICSME.2014.39]
    [36] 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]
    [37] Wang Y, Yao Y, Tong H, Huo X, Li M, Xu F, Lu J. Bug localization via supervised topic modeling. In:Proc. of the Int'l Conf. on Data Mining (ICDM). IEEE, 2018. 607-616.[doi:10.1109/ICDM.2018.00076]
    [38] Ramage D, Hall D, Nallapati R, Manning CD. Labeled lda:A supervised topic model for credit attribution in multi-labeled corpora. In:Proc. of the Conf. on Empirical Methods in Natural Language Processing. 2009. 248-256.
    [39] Robertson S, Walker S, Beaulieu M. Experimentation as a way of life:Okapi at TREC. Information Processing and Management, 2000,36(1):95-108.[doi:10.1016/S0306-4573(99)00046-1]
    [40] 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 (ASE). IEEE, 2013. 345-355.[doi:10.1109/ASE.2013.6693093]
    [41] Rao S, Kak A. Retrieval from software libraries for bug localization. In:Proc. of the Working Conf. on Mining Software Repositories. ACM, 2011. 43-52.[doi:10.1145/1985441.1985451]
    [42] Rahman 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 (ICCIT). IEEE, 2015. 190-195.[doi:10.1109/ICCITechn.2015. 7488066]
    [43] Youm KC, Ahn J, Kim J, Lee E. Bug localization based on code change histories and bug reports. In:Proc. of the Asia-Pacific Software Engineering Conf. (APSEC). IEEE, 2015. 190-197.[doi:10.1109/APSEC.2015.23]
    [44] Uneno Y, Mizuno O, Choi EH. Using a distributed representation of words in localizing relevant files for bug reports. In:Proc. of the Int'l Conf. on Software Quality, Reliability and Security (QRS). IEEE, 2016. 183-190.[doi:10.1109/QRS.2016.30]
    [45] Dilshener T, Wermelinger M, Yu Y. Locating bugs without looking back. In:Proc. of the Int'l Workshop on Mining Software Repositories. ACM, 2016. 286-290.[doi:10.1145/2901739.2901775]
    [46] Dilshener T, Wermelinger M, Yu Y. Locating bugs without looking back. Automated Software Engineering, 2018,25(3):383-434.[doi:10.1007/s10515-017-0226-1]
    [47] 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 (SERA). IEEE, 2018. 159-164.[doi:10.1109/SERA. 2018.8477206]
    [48] Barbosa JR, Marcacini RM, Britto R, Soares F, Rezende S, Vincenzi AMR, Delamaro ME. BULNER:Bug localization with word embeddings and network regularization. In:Proc. of the Anais do VⅡ Workshop on Software Visualization, Evolution and Maintenance (VEM). SBC, 2019. 21-28.[doi:10.5753/vem.2019.7580]
    [49] Rath M, Mader 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 (SEAA). IEEE, 2018. 26-32.[doi:10.1109/SEAA.2018. 00014]
    [50] 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]
    [51] Ye X, Bunescu R, Liu C. Learning to rank relevant files for bug reports using domain knowledge. In:Proc. of the ACM SIGSOFT Int'l Symp. on Foundations of Software Engineering. ACM, 2014. 689-699.[doi:10.1145/2635868.2635874]
    [52] Zhao F, Tang Y, Yang Y, Lu H, Zhou Y, Xu B. 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. IEEE, 2015. 298-303.[doi:10.1109/QRS. 2015.49]
    [53] Shi Z, Keung J, Bennin KE, Zhang X. Comparing learning to rank techniques in hybrid bug localization. Applied Soft Computing, 2018,62:636-648.[doi:10.1016/j.asoc.2017.10.048]
    [54] Gharibi R, Rasekh AH, Sadreddini MH, Fakhrahmad SM. Leveraging textual properties of bug reports to localize relevant source files. Information Processing and Management, 2018,54(6):1058-1076.[doi:10.1016/j.ipm.2018.07.004]
    [55] Almhana R, Mkaouer W, Kessentini M, Ouni A. Recommending relevant classes for bug reports using multi-objective search. In:Proc. of the Int'l Conf. on Automated Software Engineering. ACM, 2016. 286-295.[doi:10.1145/2970276.2970344]
    [56] Rahman MM, Roy C. Effective reformulation of query for code search using crowdsourced knowledge and extra-large data analytics. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution. IEEE, 2018. 473-484.[doi:10.1109/ICSME.2018. 00057]
    [57] Sisman B, Kak AC. Assisting code search with automatic query reformulation for bug localization. In:Proc. of the Working Conf. on Mining Software Repositories (MSR). IEEE, 2013. 309-318.[doi:10.1109/MSR.2013.6624044]
    [58] Rocchio JJ. Relevance feedback in information retrieval. In:Proc. of the SMART Retrieval System:Experiments in Automatic Document Processing. 1971.
    [59] Lavrenko V, Croft WB. Relevance based language models. In:Proc. of the Annual Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2001. 120-127.[doi:10.1145/383952.383972]
    [60] Sisman B, Akbar SA, Kak AC. Exploiting spatial code proximity and order for improved source code retrieval for bug localization. Journal of Software:Evolution and Process, 2017,29(1):1-24.[doi:10.1002/smr.1805]
    [61] 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 (ICSME). IEEE, 2017. 376-387.[doi:10.1109/ICSME.2017.100]
    [62] Rahman MM, Roy CK. Improving IR-based bug localization with context-aware query reformulation. In:Proc. of the ACM Joint Meeting on European Software Engineering Conf. and Symp. on the Foundations of Software Engineering. ACM, 2018. 621-632.[doi:10.1145/3236024.3236065]
    [63] 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 (ICSME). IEEE, 2018. 381-392.[doi:10.1109/ICSME.2018.00046]
    [64] Rao S, Medeiros H, Kak A. An incremental update framework for efficient retrieval from software libraries for bug localization. In:Proc. of the Working Conf. on Reverse Engineering (WCRE). IEEE, 2013. 62-71.[doi:10.1109/WCRE.2013.6671281]
    [65] 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. IEEE, 2014. 161-170.[doi:10.1109/ICSME.2014.38]
    [66] Davies S, Roper M. Bug localisation through diverse sources of information. In:Proc. of the Int'l Symp. on Software Reliability Engineering Workshops (ISSREW). IEEE, 2013. 126-131.[doi:10.1109/ISSREW.2013.6688891]
    [67] 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]
    [68] Wen M, Wu R, Cheung SC. Locus:Locating bugs from software changes. In:Proc. of the Int'l Conf. on Automated Software Engineering. ACM, 2016. 262-273.[doi:10.1145/2970276.2970359]
    [69] Lawrie D, Binkley D. On the value of bug reports for retrieval-based bug localization. In:Proc. of the Int'l Conf. on Software Maintenance and Evolution (ICSME). IEEE, 2018. 524-528.[doi:10.1109/ICSME.2018.00048]
    [70] Huo X, Li M, Zhou ZH. Learning unified features from natural and programming languages for locating buggy source code. In:Proc. of the Int'l Joint Conf. on Artificial Intelligence. 2016. 1606-1612.
    [71] Huo X, Li M. Enhancing the unified features to locate buggy files by exploiting the sequential nature of source code. In:Proc. of the Int'l Joint Conf. on Artificial Intelligence. 2017. 1909-1915.[doi:10.24963/ijcai.2017/265]
    [72] Lam AN, Nguyen AT, Nguyen HA, Nguyen TN. Combining deep learning with information retrieval to localize buggy files for bug reports. In:Proc. of the Int'l Conf. on Automated Software Engineering (ASE). IEEE, 2015. 476-481.[doi:10.1109/ASE. 2015.73]
    [73] Lam AN, Nguyen AT, Nguyen HA, Nguyen TN. Bug localization with combination of deep learning and information retrieval. In:Proc. of the Int'l Conf. on Program Comprehension (ICPC). IEEE, 2017. 218-229.[doi:10.1109/ICPC.2017.24]
    [74] Xiao Y, Keung J, Mi Q, Bennin KE. Improving bug localization with an enhanced convolutional neural network. In:Proc. of the Asia-Pacific Software Engineering Conf. (APSEC). IEEE, 2017. 338-347.[doi:10.1109/APSEC.2017.40]
    [75] 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]
    [76] 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(EASE 2018). ACM, 2018. 101-111.[doi:10.1145/3210459.3210469]
    [77] Xiao Y, Keung J, Bennin KE, Mi Q. Machine translation-based bug localization technique for bridging lexical gap. Information and Software Technology, 2018,99:58-61.[doi:10.1016/j.infsof.2018.03.003]
    [78] Xie Z, Li M. Cost-sensitive margin distribution optimization for software bug localization. Ruan Jian Xue Bao/Journal of Software, 2017,28(11):3072-3079(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5345.htm[doi:10.13328/j.cnki.jos.005345]
    [79] Wang Q, Parnin C, Orso A. Evaluating the usefulness of IR-based fault localization techniques. In:Proc. of the Int'l Symp. on Software Testing and Analysis. ACM, 2015. 1-11.[doi:10.1145/2771783.2771797]
    [80] Ye X, Shen H, Ma X, Bunescu R, Liu C. From word embeddings to document similarities for improved information retrieval in software engineering. In:Proc. of the Int'l Conf. on Software Engineering. ACM, 2016. 404-415.[doi:10.1145/2884781.2884862]
    [81] Polisetty S, Miranskyy A, Başar A. On usefulness of the deep-learning-based bug localization models to practitioners. In:Proc. of the Int'l Conf. on Predictive Models and Data Analytics in Software Engineering. ACM, 2019. 16-25.[doi:10.1145/3345629. 3345632]
    [82] Kılınç D, Yücalar F, Borandağ E, Aslan E. Multi-level reranking approach for bug localization. Expert Systems, 2016,33(3):286-294.[doi:10.1111/exsy.12150]
    [83] Chen LG, Liu C. Bug localization method based on gaussian processes. Ruan Jian Xue Bao/Journal of Software, 2014,25(6):1169-1179(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4430.htm[doi:10.13328/j.cnki.jos.004430]
    [84] Distante D, Faralli S. A two-phase bug localization approach based on multi-layer perceptrons and distributional features. In:Proc. of the Int'l Conf. on Computational Science and Its Applications. Springer Int'l Publishing, 2019. 518-532.[doi:10.1007/978-3-030-24289-3_38]
    [85] Kim D, Tao Y, Kim S, 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]
    [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. IEEE, 2014. 335-345.[doi:10.1109/ISSRE.2014.39]
    [87] 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, Empirical Software Engineering, 2017,22(4):2237-2279.[doi:10.1007/s10664-016-9484-y]
    [88] Nichols BD. Augmented bug localization using past bug information. In:Proc. of the Annual Southeast Regional Conf. ACM, 2010. 1-6.[doi:10.1145/1900008.1900090]
    [89] Zhang W, Li ZQ, Du YH, Yang Y. MethodLocator:A fine-grained bug location approach with the method level. Ruan Jian Xue Bao/Journal of Software, 2019,30(2):195-210(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/35565.htm[doi:10.13328/j.cnki.jos.005565]
    [90] Zhang W, Li Z, 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]
    [91] Rahman S, Sakib K. An appropriate method ranking approach for localizing bugs using minimized search space. In:Proc. of the Int'l Conf. on Evaluation of Novel Software Approaches to Software Engineering. SCITEPRESS (Science and and Technology Publications), 2016. 303-309.[doi:10.5220/0005896403030309]
    [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 (ENASE). 2016. 179-200.[doi:10.1007/978-3-319-56390-9_9]
    [93] Chaparro O, Florez JM, Marcus A. Using bug descriptions to reformulate queries during text-retrieval-based bug localization. Empirical Software Engineering, Empirical Software Engineering, 2019,24(5):2947-3007.[doi:10.1016/j.infsof.2016.11.002]
    [94] Hill E, Sisman B, Kak A. On the use of positional proximity in IR-based feature location. In:Proc. of the Int'l Conf. on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE). IEEE, 2014. 318-322.[doi:10.1007/s10664-018-9672-z]
    [95] Rahman S, Rahman MM, Sakib K. A statement level bug localization technique using statement dependency graph. In:Proc. of the Int'l Conf. on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS (Science and Technology Publications), 2017. 171-178.[doi:10.5220/0006261901710178]
    [96] 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. ACM, 2018. 657-665.[doi:10.1145/3269206.3271811]
    [97] Kochhar PS, Xia X, Lo D, Li S. Practitioners' expectations on automated fault localization. In:Proc. of the Int'l Symp. on Software Testing and Analysis. ACM, 2016. 165-176.[doi:10.1145/2931037.2931051]
    [98] Dallmeier V, Zimmermann T. Extraction of bug localization benchmarks from history. In:Proc. of the Int'l Conf. on Automated Software Engineering (ASE 2007). ACM, 2007. 433-436.[doi:10.1145/1321631.1321702]
    [99] 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. ACM, 2014. 803-814.[doi:10.1145/2642937.2642997]
    [100] Wang X, Zhou B, Lo D, Xia X, Wang X, Kochhar PS, Tian Y, Yang X, Li S, Sun J. BOAT:An experimental platform for researchers to comparatively and reproducibly evaluate bug localization techniques. In:Companion Proc. of the Int'l Conf. on Software Engineering. ACM, 2014. 572-575.[doi:10.1145/2591062.2591066]
    [101] Wu R, Zhang H, Kim S, Cheung SC. ReLink:Recovering links between bugs and changes. In:Proc. of the ACM SIGSOFT Symp. and 13th European Conf. on Foundations of Software Engineering (SIGSOFT/FSE 2011). ACM, 2011. 15-25.[doi:10.1145/2025113.2025120]
    [102] Lee J, Kim D, Bissyandé TF, Jung W, Le Traon Y. Bench4BL:Reproducibility study on the performance of IR-based bug localization. In:Proc. of the ACM SIGSOFT Int'l Symp. on Software Testing and Analysis. ACM, 2018. 61-72.[doi:10.1145/3213846.3213856]
    [103] Thung F, Le TDB, Kochhar PS, Lo D. BugLocalizer:Integrated tool support for bug localization. In:Proc. of the ACM SIGSOFT Int'l Symp. on Foundations of Software Engineering (FSE 2014). ACM, 2014. 767-770.[doi:10.1145/2635868.2661678]
    [104] 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 (ICSE). IEEE, 2013. 392-401.[doi:10.1109/ICSE.2013.6606585]
    [105] Huo X, Thung F, Li M, Lo D, Shi ST. Deep transfer bug localization. IEEE Trans. on Software Engineering, 2019. Early Access.[doi:10.1109/TSE.2019.2920771]
    [106] Rao S, Medeiros H, Kak A. 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]
    [107] 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. ACM, 2016. 123-132.[doi:10.1145/2973839.2973853]
    附中文参考文献:
    [1] 陈翔,鞠小林,文万志,顾庆.基于程序频谱的动态缺陷定位方法研究.软件学报,2015,26(2):390-412. http://www.jos.org.cn/1000-9825/4708.htm[doi:10.13328/j.cnki.jos.004708]
    [22] 陈翔,顾庆,刘望舒,刘树龙,倪超.静态软件缺陷预测方法研究.软件学报,2016,27(1):1-25. http://www.jos.org.cn/1000-9825/4923. htm[doi:10.13328/j.cnki.jos.004923]
    [78] 解铮,黎铭.基于代价敏感间隔分布优化的软件缺陷定位.软件学报,2017,28(11):3072-3079. http://www.jos.org.cn/1000-9825/5345.htm[doi:10.13328/j.cnki.jos.005345]
    [83] 陈理国,刘超.基于高斯过程的缺陷定位方法.软件学报,2014,25(6):1169-1179. http://www.jos.org.cn/1000-9825/4430.htm[doi:10.13328/j.cnki.jos.004430]
    [89] 张文,李自强,杜宇航,杨叶.MethodLocator:一种方法级别的细粒度软件缺陷定位方法.软件学报,2019,30(2):195-210. http://www.jos.org.cn/1000-9825/5565.htm[doi:10.13328/j.cnki.jos.005565]
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

李政亮,陈翔,蒋智威,顾庆.基于信息检索的软件缺陷定位方法综述.软件学报,2021,32(2):247-276

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

京公网安备 11040202500063号