Skip to Main Content
 

Global Search Box

 
 
 

ETD Abstract Container

Abstract Header

Automated Software Defect Localization

Abstract Details

2016, Doctor of Philosophy (PhD), Ohio University, Electrical Engineering & Computer Science (Engineering and Technology).
In software development, developers usually receive bug reports that describe the abnormal behaviors of the software products. When a new bug report is received, developers usually need to reproduce the bug and perform code reviews to find the cause, a process that can be tedious and time-consuming. To alleviate developers’ manual efforts of finding the bug, this dissertation presents a learning-to-rank approach that ranks all the source code files for a given bug report automatically. To improve the ranking performance, this dissertation also introduces using word-embedding-based text similarities to bridge the lexical gap between natural languages in bug reports and code in source files. First, a tool for ranking all the source files with respect to how likely they are to contain the cause of the bug would enable developers to narrow down their search and improve productivity. This dissertation introduces an adaptive ranking approach that leverages project knowledge through functional decomposition of source code, API descriptions of library components, bug-fixing history, code change history, and the file dependency graph. Given a bug report, the ranking score of each source file is computed as a weighted combination of an array of features, where the weights are trained automatically on previously solved bug reports using a learning-to-rank technique. We evaluate the ranking system on six large-scale open source Java projects, using the before-fix version of the project for every bug report. The experimental results show that the learning-to-rank approach outperforms three recent state-of-the-art methods. In particular, our method makes correct recommendations within the top 10 ranked source files for over 70% of the bug reports in the Eclipse Platform and Tomcat projects. Second, we propose bridging the lexical gap by projecting natural language statements and code snippets as meaning vectors in a shared representation space. In the proposed architecture, word embeddings are first trained on API documents, tutorials, and reference documents, and then aggregated in order to estimate semantic similarities between documents. Empirical evaluations show that the learned vector space embeddings lead to improvements in the report-oriented bug localization task.
Chang Liu (Advisor)
Razvan Bunescu (Advisor)
134 p.

Recommended Citations

Citations

  • Ye, X. (2016). Automated Software Defect Localization [Doctoral dissertation, Ohio University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=ohiou1462374079

    APA Style (7th edition)

  • Ye, Xin. Automated Software Defect Localization. 2016. Ohio University, Doctoral dissertation. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=ohiou1462374079.

    MLA Style (8th edition)

  • Ye, Xin. "Automated Software Defect Localization." Doctoral dissertation, Ohio University, 2016. http://rave.ohiolink.edu/etdc/view?acc_num=ohiou1462374079

    Chicago Manual of Style (17th edition)