skip to main content
research-article

XCoS: Explainable Code Search Based on Query Scoping and Knowledge Graph

Published:29 September 2023Publication History
Skip Abstract Section

Abstract

When searching code, developers may express additional constraints (e.g., functional constraints and nonfunctional constraints) on the implementations of desired functionalities in the queries. Existing code search tools treat the queries as a whole and ignore the different implications of different parts of the queries. Moreover, these tools usually return a ranked list of candidate code snippets without any explanations. Therefore, the developers often find it hard to choose the desired results and build confidence on them. In this article, we conduct a developer survey to better understand and address these issues and induct some insights from the survey results. Based on the insights, we propose XCoS, an explainable code search approach based on query scoping and knowledge graph. XCoS extracts a background knowledge graph from general knowledge bases like Wikidata and Wikipedia. Given a code search query, XCoS identifies different parts (i.e., functionalities, functional constraints, nonfunctional constraints) from it and use the expressions of functionalities and functional constraints to search the codebase. It then links both the query and the candidate code snippets to the concepts in the background knowledge graph and generates explanations based on the association paths between these two parts of concepts together with relevant descriptions. XCoS uses an interactive user interface that allows the user to better understand the associations between candidate code snippets and the query from different aspects and choose the desired results. Our evaluation shows that the quality of the extracted background knowledge and the concept linkings in codebase is generally high. Furthermore, the generated explanations are considered complete, concise, and readable, and the approach can help developers find the desired code snippets more accurately and confidently.

REFERENCES

  1. [1] Internet Archive. 2021. Stack Overflow Data Dump Version from March 4, 2021. Retrieved September 4, 2021 from https://archive.org/download/stackexchange/.Google ScholarGoogle Scholar
  2. [2] Wikimedia. 2021. Wikidata Data Dump Version from November 24, 2021. Retrieved November 24, 2021 from https://dumps.wikimedia.org/wikidatawiki/entities/.Google ScholarGoogle Scholar
  3. [3] Wikimedia. 2021. Wikipedia Data Dump Version from December 20, 2021. Retrieved December 20, 2021 from https://dumps.wikimedia.org/enwiki/.Google ScholarGoogle Scholar
  4. [4] Elastic Stack. 2022. Elasticsearch. Retrieved March 5, 2022 from https://www.elastic.co/elasticsearch/.Google ScholarGoogle Scholar
  5. [5] GitHub. 2022. Javalang. Retrieved March 5, 2022 from https://github.com/c2nes/javalang.Google ScholarGoogle Scholar
  6. [6] GitHub. 2022. Neuralcoref. Retrieved March 5, 2022 from https://github.com/huggingface/neuralcoref.Google ScholarGoogle Scholar
  7. [7] Replication Package. 2022. Replication Package. Retrieved March 5, 2022 from https://xcos-replicationpackage.github.io/.Google ScholarGoogle Scholar
  8. [8] Searchcode. 2022. Searchcode. Retrieved March 5, 2022 from https://searchcode.com/.Google ScholarGoogle Scholar
  9. [9] SpaCy. 2022. SpaCy. Retrieved March 5, 2022 from https://spacy.io/.Google ScholarGoogle Scholar
  10. [10] GitHub. Spiral. Retrieved March 5, 2022 from https://github.com/casics/spiral.Google ScholarGoogle Scholar
  11. [11] Stack Overflow. 2022. Stack Overflow Question 13269606. Retrieved March 5, 2022 from https://stackoverflow.com/questions/13269606.Google ScholarGoogle Scholar
  12. [12] Wikidata. 2022. Wikidata. Retrieved March 5, 2022 from https://www.wikidata.org/.Google ScholarGoogle Scholar
  13. [13] Wikipedia. 2022. Wikipedia. Retrieved March 5, 2022 from https://en.wikipedia.org/.Google ScholarGoogle Scholar
  14. [14] Wikipedia2Vec. 2022. Wikipedia2Vec. Retrieved March 5, 2022 from https://wikipedia2vec.github.io/wikipedia2vec/.Google ScholarGoogle Scholar
  15. [15] Bajracharya Sushil Krishna, Ngo Trung Chi, Linstead Erik, Dou Yimeng, Rigor Paul, Baldi Pierre, and Lopes Cristina Videira. 2006. Sourcerer: A search engine for open source code supporting structure-based search. In Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’06). ACM, New York, NY, 681682.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Biggers Lauren R., Bocovich Cecylia, Capshaw Riley, Eddy Brian P., Etzkorn Letha H., and Kraft Nicholas A.. 2014. Configuring latent Dirichlet allocation based feature location. Empirical Software Engineering 19, 3 (2014), 465500. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Dalpiaz Fabiano, Dell’Anna Davide, Aydemir Fatma Basak, and Çevikol Sercan. 2019. Requirements classification with interpretable machine learning and dependency parsing. In Proceedings of the 2019 IEEE 27th International Requirements Engineering Conference (RE’19). IEEE, Los Alamitos, CA, 142152.Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Devlin Jacob, Chang Ming-Wei, Lee Kenton, and Toutanova Kristina. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies(NAACL-HLT’19)—Volume 1 (Long and Short Papers). 41714186.Google ScholarGoogle Scholar
  19. [19] Dit Bogdan, Revelle Meghan, Gethers Malcom, and Poshyvanyk Denys. 2013. Feature location in source code: A taxonomy and survey. Journal of Software: Evolution and Process 25, 1 (2013), 5395. Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Dit Bogdan, Revelle Meghan, and Poshyvanyk Denys. 2013. Integrating information retrieval, execution and link analysis algorithms to improve feature location in software. Empirical Software Engineering 18, 2 (2013), 277309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Eddy Brian P., Kraft Nicholas A., and Gray Jeff. 2018. Impact of structural weighting on a latent Dirichlet allocation-based feature location technique. Journal of Software: Evolution and Process 30, 1 (2018), e1892. Google ScholarGoogle ScholarCross RefCross Ref
  22. [22] Feng Zhangyin, Guo Daya, Tang Duyu, Duan Nan, Feng Xiaocheng, Gong Ming, Shou Linjun, et al. 2020. CodeBERT: A pre-trained model for programming and natural languages. In Findings of the Association for Computational Linguistics: EMNLP 2020, Cohn Trevor, He Yulan, and Liu Yang (Eds.). Association for Computational Linguistics, 15361547.Google ScholarGoogle Scholar
  23. [23] Fu Michael and Tantithamthavorn Chakkrit. 2022. LineVul: A transformer-based line-level vulnerability prediction. In Proceedings of 19th IEEE/ACM International Conference on Mining Software Repositories (MSR’22). ACM, New York, NY, 608620. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Gallardo-Valencia Rosalva E. and Sim Susan Elliott. 2009. Internet-scale code search. In Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation. 4952. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Gu Xiaodong, Zhang Hongyu, and Kim Sunghun. 2018. Deep code search. In Proceedings of the 40th International Conference on Software Engineering (ICSE’18). ACM, New York, NY, 933944.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Guo Daya, Ren Shuo, Lu Shuai, Feng Zhangyin, Tang Duyu, Liu Shujie, Zhou Long, et al. 2021. GraphCodeBERT: Pre-training code representations with data flow. In Proceedings of the 9th International Conference on Learning Representations (ICLR’21). https://openreview.net/forum?id=jLoC4ez43PZ.Google ScholarGoogle Scholar
  27. [27] Gupta Samir, Malik Sana, Pollock Lori L., and Vijay-Shanker K.. 2013. Part-of-speech tagging of program identifiers for improved text-based software engineering tools. In Proceedings of the IEEE 21st International Conference on Program Comprehension (ICPC’13). IEEE, Los Alamitos, CA, 312.Google ScholarGoogle ScholarCross RefCross Ref
  28. [28] Haiduc Sonia, Bavota Gabriele, Marcus Andrian, Oliveto Rocco, Lucia Andrea De, and Menzies Tim. 2013. Automatic query reformulations for text retrieval in software engineering. In Proceedings of the 35th International Conference on Software Engineering (ICSE’13). IEEE, Los Alamitos, CA, 842851.Google ScholarGoogle ScholarCross RefCross Ref
  29. [29] Hill Emily, Pollock Lori L., and Vijay-Shanker K.. 2011. Improving source code search with natural language phrasal representations of method signatures. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE’11). IEEE, Los Alamitos, CA, 524527.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Husain Hamel, Wu Ho-Hsiang, Gazit Tiferet, Allamanis Miltiadis, and Brockschmidt Marc. 2019. CodeSearchNet challenge: Evaluating the state of semantic code search. arXiv preprint arXiv:1909.09436 (2019).Google ScholarGoogle Scholar
  31. [31] Hussain Ishrar, Kosseim Leila, and Ormandjieva Olga. 2008. Using linguistic knowledge to classify non-functional requirements in SRS documents. In Natural Language and Information Systems. Lecture Notes in Computer Science, Vol. 5039. Springer, 287–298.Google ScholarGoogle Scholar
  32. [32] Jiarpakdee Jirayus, Tantithamthavorn Chakkrit, and Grundy John C.. 2021. Practitioners’ perceptions of the goals and visual explanations of defect prediction models. In Proceedings of the 18th IEEE/ACM International Conference on Mining Software Repositories (MSR’21). IEEE, Los Alamitos, CA, 432443. Google ScholarGoogle ScholarCross RefCross Ref
  33. [33] Kagdi Huzefa H., Gethers Malcom, and Poshyvanyk Denys. 2013. Integrating conceptual and logical couplings for change impact analysis in software. Empirical Software Engineering 18, 5 (2013), 933969. Google ScholarGoogle ScholarCross RefCross Ref
  34. [34] Kim Dongsun, Tao Yida, Kim Sunghun, and Zeller Andreas. 2013. Where should we fix this bug? A two-phase recommendation model. IEEE Transactions on Software Engineering 39, 11 (2013), 15971610. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Kolluru Keshav, Adlakha Vaibhav, Aggarwal Samarth, Mausam, and Chakrabarti Soumen. 2020. OpenIE6: Iterative grid labeling and coordination analysis for open information extraction. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP’20). 37483761.Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Le Phong and Titov Ivan. 2018. Improving entity linking by modeling latent relations between mentions. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (ACL’18)—Volume 1: Long Papers. 15951604.Google ScholarGoogle ScholarCross RefCross Ref
  37. [37] Li Bixin, Sun Xiaobing, and Leung Hareton. 2012. Combining concept lattice with call graph for impact analysis. Advances in Engineering Software 53 (2012), 113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Li Xiaonan, Gong Yeyun, Shen Yelong, Qiu Xipeng, Zhang Hang, Yao Bolun, Qi Weizhen, Jiang Daxin, Chen Weizhu, and Duan Nan. 2022. CodeRetriever: Unimodal and bimodal contrastive learning. arXiv preprint arXiv:2201.10866 (2022).Google ScholarGoogle Scholar
  39. [39] Li Xuan, Wang Zerui, Wang Qianxiang, Yan Shoumeng, Xie Tao, and Mei Hong. 2016. Relationship-aware code search for JavaScript frameworks. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’16). ACM, New York, NY, 690701.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Likert Rensis. 1932. A technique for the measurement of attitudes. Archives of Psychology 22, 140 (1932), 55.Google ScholarGoogle Scholar
  41. [41] Lin Bin, Zampetti Fiorella, Bavota Gabriele, Penta Massimiliano Di, and Lanza Michele. 2019. Pattern-based mining of opinions in Q&A websites. In Proceedings of the 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE’19). IEEE, Los Alamitos, CA, 548559.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Lin Bin, Zampetti Fiorella, Bavota Gabriele, Penta Massimiliano Di, and Lanza Michele. 2019. Pattern-based mining of opinions in Q&A websites. In Proceedings of the 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE’19). IEEE, Los Alamitos, CA, 548559.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. [43] Ling Charles X. and Li Chenghui. 1998. Data mining for direct marketing: Problems and solutions. In Proceedings of the 4th International Conference on Knowledge Discovery and Data Mining (KDD’98). 7379. http://www.aaai.org/Library/KDD/1998/kdd98-011.php.Google ScholarGoogle Scholar
  44. [44] Liu Jason, Kim Seohyun, Murali Vijayaraghavan, Chaudhuri Swarat, and Chandra Satish. 2019. Neural query expansion for code search. In Proceedings of the 3rd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages (MAPL@PLDI’19). ACM, New York, NY, 2937.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. [45] Liu Mingwei, Peng Xin, Marcus Andrian, Xing Shuangshuang, Treude Christoph, and Zhao Chengyuan. 2022. API-related developer information needs in Stack Overflow. IEEE Transactions on Software Engineering 48, 11 (2022), 4485–4500.Google ScholarGoogle Scholar
  46. [46] Liu Mingwei, Peng Xin, Marcus Andrian, Xing Zhenchang, Xie Wenkai, Xing Shuangshuang, and Liu Yang. 2019. Generating query-specific class API summaries. In Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/SIGSOFT FSE’19).120130.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Liu Shangqing, Xie Xiaofei, Ma Lei, Siow Jing Kai, and Liu Yang. 2021. GraphSearchNet: Enhancing GNNs via capturing global dependency for semantic code search. CoRR abs/2111.02671 (2021).Google ScholarGoogle Scholar
  48. [48] Liu Wenjian, Peng Xin, Xing Zhenchang, Li Junyi, Xie Bing, and Zhao Wenyun. 2018. Supporting exploratory code search with differencing and visualization. In Proceedings of the 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER’18). IEEE, Los Alamitos, CA, 300310.Google ScholarGoogle ScholarCross RefCross Ref
  49. [49] Lu Jinting, Wei Ying, Sun Xiaobing, Li Bin, Wen Wanzhi, and Zhou Cheng. 2018. Interactive query reformulation for source-code search with word relations. IEEE Access 6 (2018), 7566075668.Google ScholarGoogle ScholarCross RefCross Ref
  50. [50] Lu Meili, Sun Xiaobing, Wang Shaowei, Lo David, and Duan Yucong. 2015. Query expansion via WordNet for effective code search. In Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER’15). IEEE, Los Alamitos, CA, 545549.Google ScholarGoogle Scholar
  51. [51] Lukins Stacy K., Kraft Nicholas A., and Etzkorn Letha H.. 2008. Source code retrieval for bug localization using latent Dirichlet allocation. In Proceedings of the 15th Working Conference on Reverse Engineering (WCRE’08). IEEE, Los Alamitos, CA, 155164.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Lv Fei, Zhang Hongyu, Lou Jian-Guang, Wang Shaowei, Zhang Dongmei, and Zhao Jianjun. 2015. CodeHow: Effective code search based on API understanding and extended Boolean model (E). In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15). IEEE, Los Alamitos, CA, 260270.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] McHugh Mary L.. 2012. Interrater reliability: The kappa statistic. Biochemia Medica 22, 3 (2012), 276282.Google ScholarGoogle ScholarCross RefCross Ref
  54. [54] McMillan Collin, Grechanik Mark, Poshyvanyk Denys, Xie Qing, and Fu Chen. 2011. Portfolio: Finding relevant functions and their usage. In Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). ACM, New York, NY, 111120.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Mills Chris, Bavota Gabriele, Haiduc Sonia, Oliveto Rocco, Marcus Andrian, and Lucia Andrea De. 2017. Predicting query quality for applications of text retrieval to software engineering tasks. ACM Transactions on Software Engineering and Methodology 26, 1 (2017), Article 3, 45 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Moreno Laura, Aponte Jairo, Sridhara Giriprasad, Marcus Andrian, Pollock Lori, and Shanker Vijay. 2013. Automatic generation of natural language summaries for Java classes. In Proceedings of the 21st IEEE International Conference on Program Comprehension (ICPC’13). IEEE, Los Alamitos, CA, 2332.Google ScholarGoogle ScholarCross RefCross Ref
  57. [57] Nie Liming, Jiang He, Ren Zhilei, Sun Zeyi, and Li Xiaochen. 2016. Query expansion based on crowd knowledge for code search. IEEE Transactions on Services Computing 9, 5 (2016), 771783.Google ScholarGoogle ScholarCross RefCross Ref
  58. [58] Pandita Rahul, Taneja Kunal, Williams Laurie A., and Tung Teresa. 2016. ICON: Inferring temporal constraints from natural language API descriptions. In Proceedings of the 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME’16). IEEE, Los Alamitos, CA, 378388. Google ScholarGoogle ScholarCross RefCross Ref
  59. [59] Pornprasit Chanathip and Tantithamthavorn Chakkrit. 2021. JITLine: A simpler, better, faster, finer-grained just-in-time defect prediction. In Proceedings of the 18th IEEE/ACM International Conference on Mining Software Repositories (MSR’21). IEEE, Los Alamitos, CA, 369379. Google ScholarGoogle ScholarCross RefCross Ref
  60. [60] Pornprasit Chanathip and Tantithamthavorn Chakkrit. 2022. DeepLineDP: Towards a deep learning approach for line-level defect prediction. IEEE Transactions on Software Engineering 49, 1 (2022), 84–98.Google ScholarGoogle ScholarCross RefCross Ref
  61. [61] Pornprasit Chanathip, Tantithamthavorn Chakkrit, Jiarpakdee Jirayus, Fu Michael, and Thongtanunam Patanamon. 2021. PyExplainer: Explaining the predictions of just-in-time defect models. In Proceedings of the 36th IEEE/ACM International Conference on Automated Software Engineering (ASE’21). IEEE, Los Alamitos, CA, 407418. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. [62] Rahman Mohammad Masudur, Roy Chanchal K., and Lo David. 2019. Automatic query reformulation for code search using crowdsourced knowledge. Empirical Software Engineering 24, 4 (2019), 18691924.Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. [63] Rajapaksha Dilini, Tantithamthavorn Chakkrit, Jiarpakdee Jirayus, Bergmeir Christoph, Grundy John, and Buntine Wray L.. 2022. SQAPlanner: Generating data-informed software quality improvement plans. IEEE Transactions on Software Engineering 48, 8 (2022), 28142835. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. [64] Reimers Nils and Gurevych Iryna. 2019. Sentence-BERT: Sentence embeddings using Siamese BERT-networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP’19). 39803990.Google ScholarGoogle ScholarCross RefCross Ref
  65. [65] Revelle Meghan, Gethers Malcom, and Poshyvanyk Denys. 2011. Using structural and textual information to capture feature coupling in object-oriented software. Empirical Software Engineering 16, 6 (2011), 773811. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. [66] Risvik Knut Magne, Mikolajewski Tomasz, and Boros Peter. 2003. Query segmentation for web search. In Proceedings of the 12th International World Wide Web Conference—Posters (WWW’03). http://www2003.org/cdrom/papers/poster/p052/xhtml/querysegmentation.html.Google ScholarGoogle Scholar
  67. [67] Robertson Stephen E. and Walker Steve. 1994. Some simple effective approximations to the 2-Poisson model for probabilistic weighted retrieval. In Proceedings of the 17th Annual International ACM-SIGIR Conference on Research and Development in Information Retrieval. ACM, New York, NY, 232241.Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. [68] Ross Amanda and Willson Victor L.. 2017. One-sample T-test. In Basic and Advanced Statistical Tests. Springer, 912.Google ScholarGoogle ScholarCross RefCross Ref
  69. [69] Sachdev Saksham, Li Hongyu, Luan Sifei, Kim Seohyun, Sen Koushik, and Chandra Satish. 2018. Retrieval on source code: A neural code search. In Proceedings of 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages (MAPL@PLDI’18). ACM, New York, NY, 3141.Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. [70] Salton Gerard and Buckley Chris. 1988. Term-weighting approaches in automatic text retrieval. Information Processing & Management 24, 5 (1988), 513523.Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. [71] Singer Janice, Lethbridge Timothy C., Vinson Norman G., and Anquetil Nicolas. 1997. An examination of software engineering work practices. In Proceedings of the 1997 Conference of the Centre for Advanced Studies on Collaborative Research. 21.Google ScholarGoogle Scholar
  72. [72] Singh Ravindra and Mangat Naurang Singh. 2013. Elements of Survey Sampling. Vol. 15. Springer Science & Business Media.Google ScholarGoogle Scholar
  73. [73] Sridhara Giriprasad, Hill Emily, Muppaneni Divya, Pollock Lori, and Vijay-Shanker K.. 2010. Towards automatically generating summary comments for Java methods. In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE’10). 4352.Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. [74] Tantithamthavorn Chakkrit, Jiarpakdee Jirayus, and Grundy John. 2021. Actionable analytics: Stop telling me what it is; Please tell me what to do. IEEE Software 38, 4 (2021), 115120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. [75] Tantithamthavorn Chakkrit Kla and Jiarpakdee Jirayus. 2021. Explainable AI for software engineering. In Proceedings of the 36th IEEE/ACM International Conference on Automated Software Engineering (ASE’21). IEEE, Los Alamitos, CA, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. [76] Treude Christoph, Barzilay Ohad, and Storey Margaret-Anne D.. 2011. How do programmers ask and answer questions on the web? In Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). ACM, New York, NY, 804807.Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. [77] Treude Christoph, Robillard Martin P., and Dagenais Barthélémy. 2014. Extracting development tasks to navigate software documentation. IEEE Transactions on Software Engineering 41, 6 (2014), 565581.Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. [78] Wan Yao, Shu Jingdong, Sui Yulei, Xu Guandong, Zhao Zhou, Wu Jian, and Yu Philip S.. 2019. Multi-modal attention network learning for semantic source code retrieval. In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE’19). IEEE, Los Alamitos, CA, 1325.Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. [79] Wang Chong, Peng Xin, Liu Mingwei, Xing Zhenchang, Bai Xuefang, Xie Bing, and Wang Tuo. 2019. A learning-based approach for automatic construction of domain glossary from source code and documentation. In Proceedings of the ACM Joint Meeting on the European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/SIGSOFT FSE’19). ACM, New York, NY, 97108.Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. [80] Wang Jinshui, Peng Xin, Xing Zhenchang, and Zhao Wenyun. 2013. Improving feature location practice with multi-faceted interactive exploration. In Proceedings of the 35th International Conference on Software Engineering (ICSE’13). IEEE, Los Alamitos, CA, 762771.Google ScholarGoogle ScholarCross RefCross Ref
  81. [81] Wang Shaowei and Lo David. 2014. Version history, similar report, and structure: Putting them together for improved bug localization. In Proceedings of the 22nd International Conference on Program Comprehension (ICPC’14). ACM, New York, NY, 5363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. [82] Wattanakriengkrai Supatsara, Thongtanunam Patanamon, Tantithamthavorn Chakkrit, Hata Hideaki, and Matsumoto Kenichi. 2022. Predicting defective lines using a model-agnostic technique. IEEE Transactions on Software Engineering 48, 5 (2022), 14801496. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. [83] Welch Bernard L.. 1947. The generalization of Student’s problem when several different population variances are involved. Biometrika 34, 1-2 (1947), 2835.Google ScholarGoogle ScholarCross RefCross Ref
  84. [84] Ye Xin, Bunescu Razvan C., and Liu Chang. 2016. Mapping bug reports to relevant files: A ranking model, a fine-grained benchmark, and feature evaluation. IEEE Transactions on Software Engineering 42, 4 (2016), 379402. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. XCoS: Explainable Code Search Based on Query Scoping and Knowledge Graph

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Software Engineering and Methodology
      ACM Transactions on Software Engineering and Methodology  Volume 32, Issue 6
      November 2023
      949 pages
      ISSN:1049-331X
      EISSN:1557-7392
      DOI:10.1145/3625557
      • Editor:
      • Mauro Pezzè
      Issue’s Table of Contents

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 29 September 2023
      • Online AM: 22 April 2023
      • Accepted: 20 March 2023
      • Revised: 13 February 2023
      • Received: 20 May 2022
      Published in tosem Volume 32, Issue 6

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    View Full Text