Locating Faulty Methods with a Mixed RNN and Attention Model

@article{Yang2021LocatingFM,
  title={Locating Faulty Methods with a Mixed RNN and Attention Model},
  author={Shouliang Yang and Junming Cao and Hushuang Zeng and Beijun Shen and Hao Zhong},
  journal={2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC)},
  year={2021},
  pages={207-218}
}
IR-based fault localization approaches achieves promising results when locating faulty files by comparing a bug report with source code. Unfortunately, they become less effective to locate faulty methods. We conduct a preliminary study to explore its challenges, and identify three problems: the semantic gap problem, the representation sparseness problem, and the single revision problem.To tackle these problems, we propose MRAM, a mixed RNN and attention model, which combines bug-fixing features… 

Figures and Tables from this paper

Zero-Shot Program Representation Learning
TLDR
Zecoler is a zero-shot learning approach for code representations built upon a pre-trained programming language model that significantly outperforms baseline models in both zero- shot and few-shot settings.

References

SHOWING 1-10 OF 54 REFERENCES
BugPecker: Locating Faulty Methods with Deep Learning on Revision Graphs
TLDR
This paper presents BugPecker, a novel approach to locate faulty methods based on its deep learning on revision graphs that improves the MAP values of all three projects by five times, compared with two recent approaches such as DNNLoc-m and BLIA 1.5.
Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace Analysis
TLDR
This paper proposes to use segmentation and stack-trace analysis to improve the performance of bug localization by dividing each source code file into a series of segments and using the segment most similar to the bug report to represent the file.
Bug Localization with Combination of Deep Learning and Information Retrieval
TLDR
The new model, DNNLOC, with a combination of the features built from DNN, rVSM, and project'sbug-fixing history, achieves higher accuracy than the state-of-the-artIR and machine learning techniques.
Learning Unified Features from Natural and Programming Languages for Locating Buggy Source Code
TLDR
Experimental results on widely-used software projects indicate that NP-CNN significantly outperforms the state-of-the-art methods in locating the buggy source files.
Improving bug localization using structured information retrieval
TLDR
This work provides a thorough grounding of IR-based bug localization research in fundamental IR theoretical and empirical knowledge and practice and presents BLUiR, which embodies this insight, requires only the source code and bug reports, and takes advantage of bug similarity data if available.
Compositional Vector Space Models for Improved Bug Localization
TLDR
A genetic algorithm (GA) based approach to explore the space of possible compositions and output a heuristically near-optimal composite model that improves hit at 5, mean average precision (MAP), and mean reciprocal rank (MRR) scores of VSMnatural by 18.4%, 20.6%, and 10.5% respectively.
Deep Transfer Bug Localization
TLDR
This work proposes a deep transfer learning approach named TRANP-CNN, which extracts transferable semantic features from source project and fully exploits labeled data from target project for effective cross-project bug localization.
Improved bug localization based on code change histories and bug reports
Learning to rank relevant files for bug reports using domain knowledge
TLDR
An adaptive ranking approach that leverages domain knowledge through functional decompositions of source code files into methods, API descriptions of library components used in the code, the bug-fixing history, and the code change history is introduced.
Improving IR-based bug localization with context-aware query reformulation
TLDR
This paper proposes a novel technique--BLIZZARD-- that automatically localizes buggy entities from project source using appropriate query reformulation and effective information retrieval.
...
...