{"type":"ScholarlyArticle","title":"Enhancing the Unified Features to Locate Buggy Files by Exploiting the Sequential Nature of Source Code","authors":[{"name":"Xuan Huo","slug":"xuan-huo","given":"Xuan","family":"Huo","affiliation":"National Key Laboratory for Novel Software Technology , Nanjing University Collaborative Innovation Center of Novel Software Technology and Industrialization Nanjing 210023 , China"},{"name":"Ming Li","slug":"ming-li","given":"Ming","family":"Li","affiliation":"National Key Laboratory for Novel Software Technology , Nanjing University Collaborative Innovation Center of Novel Software Technology and Industrialization Nanjing 210023 , China"}],"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 files according to a bug report remains a great challenge in software maintenance. Many previous approaches represent bug reports and source code from lexical and structural information correlated their relevance by measuring their similarity, and recently a CNN-based model is proposed to learn the unified features for bug localization, which overcomes the difficulty in modeling natural and programming languages with different structural semantics.  However, previous studies fail to capture the sequential nature of source code, which carries additional semantics beyond the lexical and structural terms and such information is vital in modeling program functionalities and behaviors. In this paper, we propose a novel model LS-CNN, which enhances the unified features by exploiting the sequential nature of source code. LS-CNN combines CNN and LSTM to extract semantic features for automatically identifying potential buggy source code according to a bug report. Experimental results on widely-used software projects indicate that LS-CNN significantly outperforms the state-of-the-art methods in locating buggy files.","doi":"10.24963/ijcai.2017/265","url":"https://ijcai.org/proceedings/2017/265","pdf":"https://ijcai.org/proceedings/2017/0265.pdf","markdown":"https://ijcai.org/proceedings/2017/265.md","bibtex":"https://ijcai.org/proceedings/2017/bibtex/265","volume":{"slug":"2017","title":"Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2017","url":"https://ijcai.org/proceedings/2017/","year":2017,"location":"Melbourne, Australia","dates":"19-25 August 2017","editors":"Carles Sierra","isbn":"978-0-9992411-0-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2017"},"section":"Machine Learning A-R","track":"Main track","number":265,"pages":{"first":1909,"last":1915},"keywords":["Machine Learning: Machine Learning","Multidisciplinary Topics and Applications: Knowledge-based Software Engineering","Machine Learning: Data Mining"],"videos":[],"references":[{"position":1,"raw":"[Donahue et al., 2015] Jeff Donahue, Lisa Anne Hendricks, Sergio Guadarrama, Marcus Rohrbach, Subhashini Venu- gopalan, Trevor Darrell, and Kate Saenko. Long-term re- current convolutional networks for visual recognition and description. In Proceedings of IEEE Conference on Com- puter Vision and Pattern Recognition, pages 2625-2634, Boston, MA, USA, 2015.","title":"Long-term recurrent convolutional networks for visual recognition and description","authors":"Jeff Donahue, Lisa Anne Hendricks, Sergio Guadarrama, Marcus Rohrbach, Subhashini Venugopalan, Trevor Darrell, Kate Saenko","year":"2015","venue":"Proceedings of IEEE Conference on Computer Vision and Pattern Recognition","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[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.","title":"Populating a release history database from version control and bug tracking systems","authors":"Michael Fischer, Martin Pinzger, Harald Gall","year":"2003","venue":"Proceedings of the 19th International Conference on Software Maintenance","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[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.","title":"On the use of relevance feedback in ir-based concept location","authors":"Gregory Gay, Sonia Haiduc, Andrian Marcus, Tim Menzies","year":"2009","venue":"Proceedings of the 25th International Conference on Software Maintenance","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Graves, 2012] Alex Graves. Supervised sequence labelling with recurrent neural networks. Studies in Computational Intelligence, 385:1-131, 2012.","title":"Supervised sequence labelling with recurrent neural networks","authors":"Alex Graves","year":"2012","venue":"Studies in Computational Intelligence","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[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.","title":"Improving neural networks by preventing coadaptation of feature detectors","authors":"Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, Ruslan R Salakhutdinov","year":"2012","venue":null,"doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Huo et al., 2016] Xuan Huo, Ming Li, and Zhi-Hua Zhou. Learning unified features from natural and programming languages for locating buggy source code. In Proceedings of the 25th International Joint Conference on Artificial In- telligence, pages 1606-1612, New York, NY, USA, 2016.","title":"Learning unified features from natural and programming languages for locating buggy source code","authors":"Xuan Huo, Ming Li, Zhi-Hua Zhou","year":"2016","venue":"Proceedings of the 25th International Joint Conference on Artificial Intelligence","doi":null,"url":null,"internal_url":"/proceedings/2016/230"},{"position":7,"raw":"[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.","title":"Effective use of word order for text categorization with convolutional neural networks","authors":"Rie Johnson, Tong Zhang","year":"2015","venue":"Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[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.","title":"Convolutional neural networks for sentence classification","authors":"Yoon Kim","year":"2014","venue":"Proceedings of Conference on Empirical Methods in Natural Language Processing","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Kochhar et al., 2016] Pavneet Singh Kochhar, Xin Xia, David Lo, and Shanping Li. Practitioners' expectations on automated fault localization. In Proceedings of the 25th International Symposium on Software Testing and Analy- sis, pages 165-176, 2016.","title":"Practitioners' expectations on automated fault localization","authors":"Kochhar","year":"2016","venue":"Proceedings of the 25th International Symposium on Software Testing and Analysis","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Lam et al., 2015] An Ngoc Lam, Anh Tuan Nguyen, Hoan Anh Nguyen, and Tien N. Nguyen. Combining deep learning with information retrieval to localize buggy files for bug reports. In Proceedings of the 28th Inter- national Conference on Automated software Engineering, pages 476-481, Lincoln, NE, USA, 2015.","title":"Combining deep learning with information retrieval to localize buggy files for bug reports","authors":"Lam","year":"2015","venue":"Proceedings of the 28th International Conference on Automated software Engineering","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Lukins et al., 2008] Stacy K. Lukins, Nicholas A. Kraft, and Letha H. Etzkorn. Source code retrieval for bug local- ization using latent dirichlet allocation. In Proceedings of 15th Working Conference on Reverse Engineering, pages 155-164, Antwerp, Belgium, 2008.","title":"Source code retrieval for bug localization using latent dirichlet allocation","authors":"K Stacy, Nicholas A Lukins, Letha H Kraft, Etzkorn","year":"2008","venue":"Proceedings of 15th Working Conference on Reverse Engineering","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Mikolov et al., 2010] Tomas Mikolov, Martin Karafit, Luks Burget, Jan Cernocky, and Sanjeev Khudanpur. Recur- rent neural network based language model. In Proceed- ings of the 11th Annual Conference of the International Speech Communication Association, pages 1045-1048, Makuhari, Japan, 2010.","title":"Recurrent neural network based language model","authors":"Mikolov","year":"2010","venue":"Proceedings of the 11th Annual Conference of the International Speech Communication Association","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[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, pages 1287-1293, Phoenix, AZ, USA, 2016.","title":"Convolutional neural networks over tree structures for programming language processing","authors":"Lili Mou, Ge Li, Lu Zhang, Tao Wang, Zhi Jin","year":"2016","venue":"Proceedings of the 13th AAAI Conference on Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[Poshyvanyk et al., 2007] Denys Poshyvanyk, Yann-Gaël Guéhéneuc, 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.","title":"Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval","authors":"Denys Poshyvanyk, Yann-Gaël Guéhéneuc, Andrian Marcus, Giuliano Antoniol, Vá Clav, Rajlich","year":"2007","venue":"IEEE Transactions on Software Engineering","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Saha et al., 2013] Ripon K Saha, Matthew Lease, Sarfraz Khurshid, and Dewayne E Perry. Improving bug local- ization using structured information retrieval. In Proceed- ings of the 28th International Conference on Automated Software Engineering, pages 345-355, Silicon Valley, CA, USA, 2013.","title":"Improving bug localization using structured information retrieval","authors":"Saha","year":"2013","venue":"Proceedings of the 28th International Conference on Automated Software Engineering","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Sepp and Juergen, 1977] Hochreiter Sepp and Schmidhuber Juergen. Long short-term memory. In Proceedings of the 25th International Joint Conference on Artificial Intelli- gence, pages 1606-1612, Cambridge, MA, USA, 1977.","title":"Long short-term memory","authors":"Hochreiter Sepp, Schmidhuber Juergen","year":"1977","venue":"Proceedings of the 25th International Joint Conference on Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Sutskever et al., 2014] Ilya Sutskever, Oriol Vinyals, and Quoc V. Le. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing, pages 3104-3112, Montreal, Canada, 2014.","title":"Le. Sequence to sequence learning with neural networks","authors":"Sutskever","year":"2014","venue":"Advances in Neural Information Processing","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Wang and Lo, 2014] Shaowei Wang and David Lo. Ver- sion history, similar report, and structure: putting them together for improved bug localization. In Proceedings of the 22nd International Conference on Program Compre- hension, pages 53-63, Hyderabad, India, 2014.","title":"Version history, similar report, and structure: putting them together for improved bug localization","authors":"Wang, Lo, Shaowei Wang, David Lo","year":"2014","venue":"Proceedings of the 22nd International Conference on Program Comprehension","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[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, Florence, Italy, 2015.","title":"Toward deep learning software repositories","authors":"Martin White, Christopher Vendome, Mario Linares-Vásquez, Denys Poshyvanyk","year":"2015","venue":"Proceedings of the 12th IEEE Working Conference on Mining Software Repositories","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Ye et al., 2014] Xin Ye, Razvan C. Bunescu, and Chang Liu. Learning to rank relevant files for bug reports using domain knowledge. In Proceedings of the 22nd ACM SIG- SOFT International Symposium on Foundations of Soft- ware Engineering, pages 689-699, Hong Kong, China, 2014.","title":"Learning to rank relevant files for bug reports using domain knowledge","authors":"Xin Ye, Razvan C Bunescu, Chang Liu","year":"2014","venue":"Proceedings of the 22nd ACM SIG-SOFT International Symposium on Foundations of Software Engineering","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Zaremba and Sutskever, 2014] Wojciech Zaremba and Ilya Sutskever. Learning to execute. arXiv/1410.4615, 2014.","title":"Learning to execute","authors":"Wojciech Zaremba, Ilya Sutskever","year":"2014","venue":null,"doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[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.","title":"Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports","authors":"Jian Zhou, Hongyu Zhang, David Lo","year":"2012","venue":"Proceedings of the 34th International Conference on Software Engineering","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}