Computer Science ›› 2021, Vol. 48 ›› Issue (12): 140-148.doi: 10.11896/jsjkx.201100209

• Computer Software • Previous Articles     Next Articles

Code Search Engine for Bug Localization

CHANG Jian-ming1,2,3, BO Li-li1,2,4, SUN Xiao-bing1,2,4   

  1. 1 School of Information Engineering,Yangzhou University,Yangzhou,Jiangsu 225127,China
    2 Jiangsu Engineering Research Center Knowledge Management and Intelligent Service,Yangzhou,Jiangsu 225127,China
    3 School of Software,Southeast University,Nanjing 211189,China
    4 State Key Lab. for Novel Software Technology,Nanjing University,Nanjing 210023,China
  • Received:2020-11-29 Revised:2021-04-09 Online:2021-12-15 Published:2021-11-26
  • About author:CHANG Jian-ming,born in 1998,postgraduate.His main research interests include bug localization and so on.
    BO Li-li,born in 1989,Ph.D,lecturer.Her main research interests include software testing,software security,etc.
  • Supported by:
    National Natural Science Foundation of China(61872312,61972335,62002309),Open Funds of State Key Laboratory for Novel Software Technology of Nanjing University(KFKT2020B15,KFKT2020B16),Yangzhou City-Yangzhou University Science and Technology Cooperation Fund Project(YZU201803),Yangzhou University Top-level Talents Support Program(2019),Six Talent Peaks Project in Jiangsu Province(RJFW-053) and Jiangsu “333” Project and Yangzhou University Cross-disciplinary Project of Animal Science(yzuxk202015).

Abstract: With the evolution and the increased complexity of software project,bug fixing is getting more difficult.During the bug fixing,developers need to spend a lot of time on bug localization and fixing.To evaluate this problem,this paper builds a bug-code database by integrating the bug reports and the corresponding evolution information,and analyzing the relationship between the code block and the bug report.Then,a code search engine is constructed for bug localization based on the bug-code database,which is used for recommending more comprehensive information about similar bug reports,bug related code files,and code blocks.The experiment results show that the proposed approach is more accurate to localize buggy files,and the localization can effectively reach code level.

Key words: Abstract syntax tree, Bug localization, Bug report, Code search

CLC Number: 

  • TP311
[1]ZHAO Y,LEUNG H,YANG Y,et al.Towards an understan- ding of change types in bug fixing code[J].Information & Software Technology,2017,86:37-53.
[2]LATOZA T D,MYERS B A.Hard-to-answer questions about code[C]//Evaluation and Usability of Programming Languages and Tools on-PLATEAU'10.Reno,Nevada:ACM Press,2010:1-6.
[3]PRESSMAN R S.Software Engineering:A Pratitoner's Ap- proach [M].New York:McGraw-Hill,2010:46-48.
[4]LI B,HE Y P,MA H T.Automatic program repair:Key pro- blems and technologies[J].Ruan Jian Xue Bao/Journal of Software,2019,30(2):244-265.
[5]YOUM K C,AHN J,KIM J,et al.Bug localization based on code change histories and bug reports[C]//Asia-Pacific Software Engineering Conference.2015:190-197.
[6]LE T D B,OENTARYO R J,LO D.Information retrieval and spectrum based bug localization:Better together[C]//FSE.ACM,2015:579-590.
[7]GUO Z Q,ZHOU H C,LIU S R,et al.Information retrieval based bug localization:research problem,progress,and challenges[J].Journal of Software,2020,31(9):2826-2854.
[8]WANG S,LO D.Version history,similar report,and structure:Putting them together for improved bug localization[C]//IEEE International Conference on Program Comprehension.ACM,2014:53-63.
[9]NAISH L,HUA J L,RAMAMOHANARAO K.A model for spectra-based software diagnosis [M]//ACM Trans.Software Engineering & Methodology.2011,20(3):1-32.
[10]WANG X,ZHANG W,WANG Q.Two-phase bug localization method based on defect repair history[J].Computer Systems & Applications,2014,23(11):99-104.
[11]LOYOLA P,GAJANANAN K,SATOH F.Bug Localization by Learning to Rank and Represent Bug Inducing Changes[C]//ACM Press the 27th ACM International Conference on Information and Knowledge Management.2018:657-665.
[12]ZHANG W,LI Z Q,DU Y H,et al.Fine-grained software bug location approach at method level[J].Ruan Jian Xue Bao/Journal of Software,2019,30(2):195-210.
[13]TANG M,ZHU L,ZOU X C.Document vector representation based on Word2Vec[J].Computer Science,2016,43(6):214-217.
[14]HOANG T,OENTARYO R J,LE T D B,et al.Network-clustered multi-modal bug localization[J].IEEE Transactions on Software Engineering,2019,45(10):1002-1023.
[15]CHEN X,JU X L,WEN W Z,et al.Review of dynamic fault localization approaches based on program spectrum[J].Ruan Jian Xue Bao/Journal of Software,2015,26(2):390-412.
[16]JAYDEN Z,GIULIA B,ADELE G,et al.How abstract is syntax?Evidence from structural priming[J].Cognition,2019,193(12):1-13.
[17]JEAN R F,MORANDAT F,BlANC X,et al.Fine-grained and Accurate Source Code Differencing[C]//ACM/IEEE International Conference on Automated Software Engineering.2014:313-324.
[18]SOUMYA S,SANDIPAN S,SANJUKTA B,et al.Using core-periphery structure to predict high centrality nodes in time-varying networks[J].Data Mining and Knowledge Discovery,2018,32(7):1368-1396.
[19]BIRD S.NLTK:the natural language toolkit[C]//Proceedings of the COLING/ACL on Interactive presentation sessions.Association for Computational Linguistics,2006:69-72.
[20]ZHU Z W,ZHOU X H,SHAO K.A novel approach based on Neo4j for multi-constrained flexible job shop scheduling problem[J].Computers & Industrial Engineering,2019,130(4):671-686.
[21]SALTON G,WONG A,YANG C S.A vector space model for automatic indexing[J].Communications of the ACM,1975,11:613-620.
[22]ZHOU J,ZHANG H,LO D.Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports[C]//IEEE International Conference on Software Engineering.2012:14-24.
[23]SUN X B,WANG L,WANG J W,et al.Construct Knowledge Graph for Exploratory Bug Issue Searching[J].Acta Electronica Sinica,2018,46(7):1578-1583.
[24]YE X,BUNESCU R,LIU C.Mapping Bug Reports to Relevant Files:A Ranking Model,a Fine-Grained Benchmark,and Feature Evaluation[J].IEEE Transactions on Software Engineering,2016,42(4):379-402.
[25]YOUM K C,AHN J,LEE E.Improved bug localization based on code change histories and bug reports[J].Information and Software Technology,2017,82(2):177-192.
[26]WANG Y,YAO Y,TONG H,et al.Bug Localization via Supervised Topic Modeling[C]//International Conference on Data Mining(ICDM).IEEE,2018:607-616.
[27]HORVAT H,FEREN C,GERGEL Y,et al.Code coverage differences of Java bytecode and source code instrumentation tools[J].Software Quality Journal,2017,27(12):79-123.
[28]MEHRDAD G,SEYED M B.Runtime deadlock tracking and prevention of concurrent multithreaded programs:A learning-based approach[J].Concurrency and Computation:Practice and Experience,2020,32(10):1-21.
[29]DING H,CHEN L,QIAN J,et al.Fault localization method using information quantity[J].Ruan Jian Xue Bao/Journal of Software,2013,24(7):1484-1494.
[30]SHU T,HUANG M X,DING Z H,et al.Fault localization method based on conditional probability model[J].Ruan Jian Xue Bao/Journal of Software,2018,29(6):1756-1769.
[1] YU Sheng, LI Bin, SUN Xiao-bing, BO Li-li, ZHOU Cheng. Approach for Knowledge-driven Similar Bug Report Recommendation [J]. Computer Science, 2021, 48(5): 91-98.
[2] RAN Dan, CHEN Zhe, SUN Yi, YANG Zhi-bin. SCADE Model Checking Based on Program Transformation [J]. Computer Science, 2021, 48(12): 125-130.
[3] HAN Lei, HU Jian-peng. Deduplication Algorithm of Abstract Syntax Tree in GCC Based on Trie Tree of Keywords [J]. Computer Science, 2020, 47(9): 47-51.
[4] ZHOU Kai, REN Yi, WANG Zhe, GUAN Jian-bo, ZHANG Fang, ZHAO Yan-kang. Classification and Analysis of Ubuntu Bug Reports Based on Topic Model [J]. Computer Science, 2020, 47(12): 35-41.
[5] DING Rong, YU Qian-hui. Growth Framework of Autonomous Unmanned Systems Based on AADL [J]. Computer Science, 2020, 47(12): 87-92.
[6] NIE Li-ming, JIANG He, GAO Guo-jun, WANG Han and XU Xiu-juan. Bibliographic Analysis for Code/API Recommendation Literatures [J]. Computer Science, 2017, 44(Z6): 475-482.
[7] XIONG Wen-jun, ZHANG Xuan, WANG Xu, LI Tong and YIN Chun-lin. Prediction on Closed-probability of Change Request Report for Issue Tracking System [J]. Computer Science, 2017, 44(11): 146-155.
[8] LIN Tao, GAO Jian-hua, FU Xue, MA Yan and LIN Yan. Extraction Approach for Software Bug Report [J]. Computer Science, 2016, 43(6): 179-183.
[9] SHI Gao-xiang and ZHAO Feng-yu. Software Defect Assignment Method Based on Defect Similarity and Tossing Graph [J]. Computer Science, 2016, 43(11): 246-251.
[10] LI Xiao-chen, JIANG He and REN Zhi-lei. Data Driven Feature Extraction for Mining Software Repositories [J]. Computer Science, 2015, 42(9): 159-164.
[11] YANG Chang-kun and XU Qing-guo. Technology and Implementation of Extracting Control Flow Model of C Program [J]. Computer Science, 2014, 41(5): 208-214.
[12] LIU Shi,LI He,WANG Xiao-yin,ZHANG Lu,XIE Bing. Enhancement of Code Search Results Using Syntax and Semantic Analysis [J]. Computer Science, 2009, 36(8): 165-168.
[13] LI Xin WANG Tian-tian SU Xiao-hong MA Pei-jun (School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001 ,China). [J]. Computer Science, 2008, 35(10): 170-172.
Full text



No Suggested Reading articles found!