Proceedings

CooBa: Cross-project Bug Localization via Adversarial Transfer Learning

Video Download BibTeX Cite

Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence. Main track. Pages 3565-3571.

https://doi.org/10.24963/ijcai.2020/493

Abstract

Bug localization plays an important role in software quality control. Many supervised machine learning models have been developed based on historical bug-fix information. Despite being successful, these methods often require sufficient historical data (i.e., labels), which is not always available especially for newly developed software projects. In response, cross-project bug localization techniques have recently emerged whose key idea is to transferring knowledge from label-rich source project to locate bugs in the target project. However, a major limitation of these existing techniques lies in that they fail to capture the specificity of each individual project, and are thus prone to negative transfer.

To address this issue, we propose an adversarial transfer learning bug localization approach, focusing on only transferring the common characteristics (i.e., public information) across projects. Specifically, our approach (CooBa) learns the indicative public information from cross-project bug reports through a shared encoder, and extracts the private information from code files by an individual feature extractor for each project. CooBa further incorporates adversarial learning mechanism to ensure that public information shared between multiple projects could be effectively extracted. Extensive experiments on four large-scale real-world data sets demonstrate that the proposed CooBa significantly outperforms the state of the art techniques.

  1. [Ganin et al., 2016] Yaroslav Ganin, Evgeniya Ustinova, Hana Ajakan, Pascal Germain, Hugo Larochelle, Franc ¸ois Laviolette, Mario Marchand, and Victor Lempitsky. Domain-adversarial training of neural networks. The Journal of Machine Learning Research, 17(1):2096-2030, 2016.
  2. [He et al., 2012] Zhimin He, Fengdi Shu, Ye Yang, Mingshu Li, and Qing Wang. An investigation on the feasibility of cross- project defect prediction. Automated Software Engineering, 19(2):167-199, 2012.
  3. [Huo and Li, 2017] Xuan Huo and Ming Li. Enhancing the unified features to locate buggy files by exploiting the sequential nature of source code. In Proceedings of the 26th International Joint Conference on Artificial Intelligence (IJCAI), pages 1909-1915, 2017. IJCAI
  4. [Huo et al., 2016] Xuan Huo, Ming Li, and Zhi-Hua Zhou. Learn- ing unified features from natural and programming languages for locating buggy source code. In Proceedings of the 25th Interna- tional Joint Conference on Artificial Intelligence (IJCAI), pages 1606-1612, 2016.
  5. [Huo et al., 2019] Xuan Huo, Ferdian Thung, Ming Li, David Lo, and Shu-Ting Shi. Deep transfer bug localization. IEEE Trans- actions on Software Engineering, 2019.
  6. [Kalchbrenner et al., 2014] Nal Kalchbrenner, Edward Grefen- stette, and Phil Blunsom. A convolutional neural network for modelling sentences. arXiv preprint arXiv:1404.2188, 2014.
  7. [Kim et al., 2013] Dongsun Kim, Yida Tao, Sunghun Kim, and An- dreas Zeller. Where should we fix this bug? a two-phase recom- mendation model. IEEE transactions on software Engineering, 39(11):1597-1610, 2013.
  8. [Kim, 2014] Yoon Kim. Convolutional neural networks for sen- tence classification. In Proceedings of Conference on Empir- ical Methods in Natural Language Processing (EMNLP), page 1746-1751, 2014.
  9. [Kingma and Ba, 2014] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.
  10. [Kipf and Welling, 2016] Thomas N Kipf and Max Welling. Semi- supervised classification with graph convolutional networks. arXiv preprint arXiv:1609.02907, 2016.
  11. [Lam et al., 2017] An Ngoc Lam, Anh Tuan Nguyen, Hoan Anh Nguyen, and Tien N Nguyen. Bug localization with combination of deep learning and information retrieval. In Proceedings of the 25th International Conference on Program Comprehension (ICPC), pages 218-229, 2017.
  12. [Li et al., 2018] Xiaochen Li, He Jiang, Dong Liu, Zhilei Ren, and Ge Li. Unsupervised deep bug report summarization. In Proceed- ings of the 26th Conference on Program Comprehension, pages 144-155, 2018.
  13. [Linmei et al., 2019] Hu Linmei, Tianchi Yang, Chuan Shi, Houye Ji, and Xiaoli Li. Heterogeneous graph attention networks for semi-supervised short text classification. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natu- ral Language Processing (EMNLP-IJCNLP), pages 4823-4832, 2019.
  14. [Ma et al., 2012] Ying Ma, Guangchun Luo, Xue Zeng, and Aiguo Chen. Transfer learning for cross-company software defect pre- diction. Information and Software Technology, 54(3):248-256, 2012.
  15. [Nam et al., 2013] Jaechang Nam, Sinno Jialin Pan, and Sunghun Kim. Transfer defect learning. In Proceedings of International Conference on Software Engineering (ICSE), pages 382-391. IEEE, 2013.
  16. [Nam et al., 2017] Jaechang Nam, Wei Fu, Sunghun Kim, Tim Menzies, and Lin Tan. Heterogeneous defect prediction. IEEE Transactions on Software Engineering, 44(9):874-896, 2017.
  17. [Neamtiu et al., 2005] Iulian Neamtiu, Jeffrey S Foster, and Michael Hicks. Understanding source code evolution using ab- stract syntax tree matching. In Proceedings of the 2005 inter- national workshop on Mining software repositories, pages 1-5, 2005.
  18. [Pan et al., 2010] Sinno Jialin Pan, Ivor W Tsang, James T Kwok, and Qiang Yang. Domain adaptation via transfer component anal- ysis. IEEE Transactions on Neural Networks, 22(2):199-210, 2010.
  19. [Pennington et al., 2014] Jeffrey Pennington, Richard Socher, and Christopher Manning. Glove: Global vectors for word repre- sentation. In Proceedings of Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1532-1543, 2014.
  20. [Rahman and Roy, 2018] Mohammad Masudur Rahman and Chan- chal K Roy. Improving ir-based bug localization with context- aware query reformulation. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Confer- ence and Symposium on the Foundations of Software Engineer- ing, pages 621-632, 2018.
  21. [Schuster and Paliwal, 1997] Mike Schuster and Kuldip K Paliwal. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45(11):2673-2681, 1997.
  22. [Turhan et al., 2009] Burak Turhan, Tim Menzies, Ays ¸e B Bener, and Justin Di Stefano. On the relative value of cross-company and within-company data for defect prediction. Empirical Software Engineering, 14(5):540-578, 2009.
  23. [Wang et al., 2018a] Xiaozhi Wang, Xu Han, Yankai Lin, Zhiyuan Liu, and Maosong Sun. Adversarial multi-lingual neural relation extraction. In Proceedings of the 27th International Conference on Computational Linguistics, pages 1156-1166, 2018.
  24. [Wang et al., 2018b] Yaojing Wang, Yuan Yao, Hanghang Tong, Xuan Huo, Min Li, Feng Xu, and Jian Lu. Bug localization via supervised topic modeling. In Proceedings of the 2018 IEEE In- ternational Conference on Data Mining (ICDM), pages 607-616. IEEE, 2018.
  25. [Ye et al., 2014] Xin Ye, Razvan Bunescu, and Chang Liu. Learn- ing to rank relevant files for bug reports using domain knowledge. In Proceedings of the 22nd ACM SIGSOFT International Sympo- sium on Foundations of Software Engineering, pages 689-699, 2014.
  26. [Zhou et al., 2012] Jian Zhou, Hongyu Zhang, and David Lo. Where should the bugs be fixed?-more accurate information retrieval-based bug localization based on bug reports. In Pro- ceedings of the 34th International Conference on Software Engi- neering (ICSE), pages 14-24, 2012.
  27. [Zimmermann et al., 2009] Thomas Zimmermann, Nachiappan Nagappan, Harald Gall, Emanuel Giger, and Brendan Murphy. Cross-project defect prediction: a large scale experiment on data vs. domain vs. process. In Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pages 91-100, 2009.

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

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