Proceedings

Learning Unified Features from Natural and Programming Languages for Locating Buggy Source Code

Download BibTeX Cite

Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence. Pages 1606-1611.

Abstract

Bug reports provide an effective way for end-users to disclose potential bugs hidden in a software system, while automatically locating the potential buggy source code according to a bug report remains a great challenge in software maintenance. Many previous studies treated the source code as natural language by representing both the bug report and source code based on bag-of-words feature representations, and correlate the bug report and source code by measuring similarity in the same lexical feature space. However, these approaches fail to consider the structure information of source code which carries additional semantics beyond the lexical terms. Such information is important in modeling program functionality. In this paper, we propose a novel convolutional neural network NP-CNN, which leverages both lexical and program structure information to learn unified features from natural language and source code in programming language for automatically locating the potential buggy source code according to bug report. 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.

  1. [Binkley et al., 2014] David Binkley, Nicolas Gold, Mark Harman, Syed Islam, Jens Krinke, and Shin Yoo. Orbs: Language-independent program slicing. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 109-120, Hong Kong, China, 2014.
  2. [Collobert and Weston, 2008] Ronan Collobert and Jason Weston. A unified architecture for natural language pro- cessing: Deep neural networks with multitask learning. In Proceedings of the 25th international conference on Ma- chine learning, pages 160-167, Helsinki, Finland, 2008.
  3. [Collobert et al., 2011] Ronan Collobert, Jason Weston, Léon Bottou, Michael Karlen, Koray Kavukcuoglu, and Pavel Kuksa. Natural language processing (almost) from scratch. The Journal of Machine Learning Research, 12:2493-2537, 2011.
  4. [Fischer et al., 2003] Michael Fischer, Martin Pinzger, and Harald Gall. Populating a release history database from version control and bug tracking systems. In Proceedings of the 19th International Conference on Software Mainte- nance, pages 23-32, Amsterdam, The Netherlands, 2003.
  5. [Gay et al., 2009] Gregory Gay, Sonia Haiduc, Andrian Marcus, and Tim Menzies. On the use of relevance feed- back in ir-based concept location. In Proceedings of the 25th International Conference on Software Maintenance, pages 351-360, Edmonton, Canada, 2009.
  6. [Hinton et al., 2012] Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan R Salakhut- dinov. Improving neural networks by preventing co- adaptation of feature detectors. arXiv:1207.0580, 2012.
  7. [Johnson and Zhang, 2015] Rie Johnson and Tong Zhang. Effective use of word order for text categorization with convolutional neural networks. In Proceedings of the Con- ference of the North American Chapter of the Association for Computational Linguistics: Human Language Tech- nologies, pages 103-112, Denver, CO, USA, 2015.
  8. [Kim et al., 2013] Dongsun Kim, Andreas Zeller, Yida Tao, and Sunghun Kim. Where should we fix this bug? a two- phase recommendation model. IEEE Transactions on Soft- ware Engineering, 99(1):1, 2013.
  9. [Kim, 2014] Yoon Kim. Convolutional neural networks for sentence classification. In Proceedings of Conference on Empirical Methods in Natural Language Processing, pages 1746-1751, Doha, Qatar, 2014.
  10. [Krizhevsky et al., 2012] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems, pages 1097-1105, Lake Tahoe, NV, USA, 2012.
  11. [Lam et al., 2015] An N. Lam, Anh T. Nguyen, Hoan A. Nguyen, and Tien N. Nguyen. Combining deep learning with information retrieval to localize buggy files for bug reports. In Proceedings of the 28th International Confer- ence on Automated software Engineering, pages 476-481, Lincoln, NE, USA, 2015.
  12. [Lukins et al., 2008] Stacy K Lukins, Nicholas Kraft, Letha H Etzkorn, et al. Source code retrieval for bug localization using latent dirichlet allocation. In Proceed- ings of 15th Working Conference on Reverse Engineering, pages 155-164, Antwerp, Belgium, 2008.
  13. [Mou et al., 2016] Lili Mou, Ge Li, Lu Zhang, Tao Wang, and Zhi Jin. Convolutional neural networks over tree struc- tures for programming language processing. In Proceed- ings of the 13th AAAI Conference on Artificial Intelligence, Phoenix, AZ, USA, 2016.
  14. [Poshyvanyk et al., 2007] Denys Poshyvanyk, Yann-Gael Gueheneuc, Andrian Marcus, Giuliano Antoniol, and Vá Clav Rajlich. Feature location using probabilistic rank- ing of methods based on execution scenarios and informa- tion retrieval. IEEE Transactions on Software Engineer- ing, 33(6):420-432, 2007.
  15. [White et al., 2015] Martin White, Christopher Vendome, Mario Linares-Vásquez, and Denys Poshyvanyk. Toward deep learning software repositories. In Proceedings of the 12th IEEE Working Conference on Mining Software Repositories, pages 334-345, Florence, Italy, 2015.
  16. [Ye et al., 2014] Xin Ye, Razvan Bunescu, and Chang Liu. Learning to rank relevant files for bug reports using do- main knowledge. In Proceedings of the 22nd ACM SIG- SOFT International Symposium on Foundations of Soft- ware Engineering, pages 689-699, Hong Kong, China, 2014.
  17. [Zhang et al., 2015] Xiang Zhang, Junbo Zhao, and Yann LeCun. Character-level convolutional networks for text classification. In Advances in Neural Information Process- ing Systems, Montreal, Canada, pages 649-657, Montreal, Canada, 2015.
  18. [Zhou and Liu, 2006] Zhi-Hua Zhou and Xu-Ying Liu. Training cost-sensitive neural networks with methods ad- dressing the class imbalance problem. IEEE Transactions on Knowledge and Data Engineering, 18(1):63-77, 2006.
  19. [Zhou et al., 2012] Jian Zhou, Hongyu Zhang, and David Lo. Where should the bugs be fixed? more accurate in- formation retrieval-based bug localization based on bug re- ports. In Proceedings of the 34th International Conference on Software Engineering, pages 14-24, Zurich, Switzer- land, 2012.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards