Files
logseq/pages/hls__API_recommendation_1700647838753_0.md
T

14 KiB
Raw Blame History

file:: API_recommendation_1700647838753_0.pdf file-path:: ../assets/API_recommendation_1700647838753_0.pdf

  • , selecting the appropriate API quickly can be a common challenge for programmers. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 6580669a-ef72-4114-b6a5-24ab3ba59417
  • express their real intentions due to the limitations of language expression and programming capabilities. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 658066a9-0453-4ac9-92d8-2a7dcec801dc
  • visualizes the users real intentions based on their query to enhance recommendation performance ls-type:: annotation hl-page:: 1 hl-color:: purple id:: 658066b9-2d7d-46c4-9808-cec82aacdef2
  • PTAPI identifies the prompt template from Stack Overflow(SO) posts based on the users inpu ls-type:: annotation hl-page:: 1 hl-color:: blue id:: 658066d3-69d9-4551-bdff-d2c0b1df10be
  • esearchers randomly selected 1008 open-source projects on GitHub for research, and found that 93.3 % of the projects used third-party libraries, and an average of 28 third-party libraries were invoked per project ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 658066fe-647d-4a5a-bc42-bac3a7e1c124
  • The emergence of new APIs is accompanied by the failure of old APIs ls-type:: annotation hl-page:: 2 hl-color:: green id:: 658067b9-5f82-44ff-9ead-a77eb39db23d
  • 0 ls-type:: annotation hl-page:: 2 hl-color:: red id:: 658067e9-d8c9-48cc-a872-0bd1ac481ead
  • ccording to research, developers need to spend 40 % of their time learning APIs during the development process ls-type:: annotation hl-page:: 2 hl-color:: green id:: 658067ee-ce85-4bc9-b57e-54d75657177e
  • Recent studies such as FOCUS [11], GAPI [12], MEGA [13], etc., mainly based on the current code context of developers, use collaborative filtering technology to calculate similarity and make subsequent recommendations. ls-type:: annotation hl-page:: 2 hl-color:: green id:: 65806817-1a7a-4575-860b-11cf2d03374a
  • r, it is important to acknowledge that the problems raised by users often involve uncertainty. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 65806a7e-40df-4e6f-8911-1641239b3d99
  • Their uncertainty often stems from inconsistencies between their queries and search terms, or from difficulties in accurately expressing their true intentions. ls-type:: annotation hl-page:: 3 hl-color:: blue id:: 65806a8a-f273-435f-b85c-dc1cbb347351
  • we propose a task-based user intent visualization approach PTAPI(use Prompt Template to enhance API recommendation performance ls-type:: annotation hl-page:: 3 hl-color:: purple id:: 65806a9b-9b36-4a71-9699-2506a39906a6
  • SO as a third-party information source, and uses similar post problems in SO as a prompt template for task description, so that developers can understand their real intentions. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 65806aef-c322-4a94-9d30-7cc5306155c1
  • the new questions are sent to the query, and an API recommendation list is obtained by extracting the API answers in SO to match the similarity with the official documents. ls-type:: annotation hl-page:: 3 hl-color:: blue id:: 65806b36-388b-4f6c-81c1-dd871b74d00b
  • Finally, the newly obtained API list is reordered and fed back to the user ls-type:: annotation hl-page:: 3 hl-color:: blue id:: 65806b3d-0446-43a6-9ad2-0ab5c9232532
  • to evaluate the efficacy of prompt learning in API recommendation, we examined the selection and placement of prompt templates. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 65806b66-d5b1-452e-a6c2-b7a2f64e02e4
  • enlisted the participation of several graduate students and undergraduates who provided their experiences with using PTAPI, resulting in predominantly positive evaluations. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 65806b87-5a41-4606-902d-5da4832d81b0
  • baseline method ls-type:: annotation hl-page:: 3 hl-color:: yellow id:: 65806b91-a7b2-41f3-9e70-86002423ecbd
  • PTAPI, to bridge the gap between user description and actual intention ls-type:: annotation hl-page:: 3 hl-color:: purple id:: 65806c18-109b-432b-bd7d-afad04d26996
  • a prompt template for the user s input to visualize the user s real intention ls-type:: annotation hl-page:: 3 hl-color:: purple id:: 65806c26-cd73-4805-b857-0f62fbc05abf
  • The ls-type:: annotation hl-page:: 3 hl-color:: red id:: 65806c3a-2262-4788-b93f-0fcc932759e2
  • The ls-type:: annotation hl-page:: 3 hl-color:: red id:: 65806c3c-777f-42dc-8749-46a3c3289bf4
  • The ls-type:: annotation hl-page:: 3 hl-color:: red id:: 65806c3f-9d9e-4b4e-a573-12f8bd82934e
  • the ls-type:: annotation hl-page:: 3 hl-color:: red id:: 65806c42-0cf0-4b4e-a55b-4cc065e2d22a
  • The ls-type:: annotation hl-page:: 4 hl-color:: red id:: 65806c47-b39b-4f4f-bed1-b493852f9552
  • the ls-type:: annotation hl-page:: 4 hl-color:: red id:: 65806c4a-79eb-4aeb-bfc3-1c0fd40d99a4
  • the Section 8 summarizes this paper ls-type:: annotation hl-page:: 4 hl-color:: yellow id:: 65806c53-5faa-487f-bde7-5225eb1280a1
  • importance of prompts for recommendations ls-type:: annotation hl-page:: 4 hl-color:: green id:: 658164b5-38af-4c80-9b0a-2cccf41af95e
  • he language description of user problems is not only related to the user s language expression ability. Moreover, it is also closely related to the user s programming experience ls-type:: annotation hl-page:: 4 hl-color:: blue id:: 658164e8-6084-4a02-878f-5d3fb476de5d
  • constantly designing better approaches to bridge the user s description, but they ignore the user s true intention ls-type:: annotation hl-page:: 4 hl-color:: purple id:: 65816501-364e-4c0a-9bd5-c3ef3ec69864
  • a app ls-type:: annotation hl-page:: 4 hl-color:: red id:: 65816800-51a5-4053-898f-a389260691d0
  • According to this discovery, we think about whether this prompt approach can be used in API recommendation, so we propose a approach to add a prompt template for API recommendation, so as to visualize the user s description and better bridge the vocabulary gap with the questions in the question and answer library ls-type:: annotation hl-page:: 4 hl-color:: yellow id:: 6581693c-af27-4541-825f-e4667460fe08
  • s : ls-type:: annotation hl-page:: 4 hl-color:: red id:: 6581737c-c432-4e67-b327-6805ae01e3d8
  • constructing a language model for subsequent similarity calculation,4 ls-type:: annotation hl-page:: 4 hl-color:: yellow id:: 65817399-f4c1-4531-a55f-02e68edf843a
  • The data in this corpus is extracted from the SO website, which contains a large number of SO posts on API issues. We extract the text information of the posts from the HTML page and process it. ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 658173f8-cd24-4041-997a-f94ca7e1e01e
  • For the bag-of-words based word embedding model, we choose the Word2Vec [18] model in a neural network to train. ls-type:: annotation hl-page:: 5 hl-color:: red id:: 6581744a-456c-4e2b-82e1-e46e47b0d57b
  • If a word appears in many texts, its IDF value will be lower and its importance will be lower ls-type:: annotation hl-page:: 6 hl-color:: green id:: 6581753c-6dea-42db-b6f0-2f648f1466ff
  • find the most similar questions to the input description in the SO post title. ls-type:: annotation hl-page:: 6 hl-color:: blue id:: 65817570-4b6f-46ba-9e7f-d8632a8f1f70
  • prompt template according to the description entered by the user, and we combine the generated template with the description entered by the user into a new input statement. ls-type:: annotation hl-page:: 7 hl-color:: yellow id:: 6581762a-391d-4643-84cf-62edb7b07070
  • n similar questions are retrieved in SO posts, and there are several answers in these similar questions. ls-type:: annotation hl-page:: 7 hl-color:: green id:: 6581766f-f73f-4d53-acab-0ea57a01509f
  • Because the answers in the SO post contain many hyperlinks of the API official document, it is necessary to use the regularized expression to extract the hyperlinks contained in the HTML tag. And the regularization expression can extract the names of API methods in hyperlinks, we mark these APIs as candidate APIs. ls-type:: annotation hl-page:: 7 hl-color:: yellow id:: 65817824-f565-499d-bae7-d87c05d031cd
  • e calculate the similarity score between the newly generated query and the post title containing the candidate API answer. ls-type:: annotation hl-page:: 7 hl-color:: green id:: 6581786c-ff8d-40a5-92cf-9b1a6e6dfaac
  • We calculate the similarity score between the newly generated query and the API description in the official API document, as shown in Formula 6. T ls-type:: annotation hl-page:: 7 hl-color:: yellow id:: 65817899-4011-44d1-b967-1b074e19eadf
  • effect ls-type:: annotation hl-page:: 8 hl-color:: yellow id:: 658178c0-db63-4f98-a3eb-845ac56c01ac
  • experimental results ? ls-type:: annotation hl-page:: 8 hl-color:: yellow id:: 658178d3-6d58-4b0a-bb05-dc522f2cc09a
  • RQ1 ls-type:: annotation hl-page:: 8 hl-color:: red id:: 65817c5d-f829-4546-a84f-78847212edfa
  • ls-type:: annotation hl-page:: 8 hl-color:: red id:: 65817e71-3fb9-4a55-9177-5a481bd1051d
  • SO is an open Q& A website, ls-type:: annotation hl-page:: 8 hl-color:: red id:: 65817e7c-b29b-472f-9e8c-7440caa81848
  • 125,847 questions was formed after the screening proces ls-type:: annotation hl-page:: 8 hl-color:: green id:: 65817e9b-4ddf-43d8-89c4-566fd33444fb
  • This testing dataset comprised high-quality questions and ground-truth APIs. ls-type:: annotation hl-page:: 8 hl-color:: yellow id:: 65817ea6-ba70-4448-b573-09018836c965
  • inputting ls-type:: annotation hl-page:: 8 hl-color:: red id:: 65817ecb-1b47-4fb3-bca2-9306c6228c73
  • r s ( implicit ) f ls-type:: annotation hl-page:: 8 hl-color:: red id:: 65817f28-61de-4f23-a6d8-74bb451c81ee
  • how fa ls-type:: annotation hl-page:: 9 hl-color:: red id:: 65817f84-e452-490a-9750-fae8dafc9c54
  • ( ls-type:: annotation hl-page:: 8 hl-color:: red id:: 658192fe-8b2d-4d08-a3ad-9b1df95dd54f
  • 2( ls-type:: annotation hl-page:: 8 hl-color:: red id:: 65819302-5031-4b8b-9901-2fe3b7bc28ff
  • S @ K ls-type:: annotation hl-page:: 9 hl-color:: yellow id:: 658193d8-69bc-4d92-88ee-85a9f136f7b7
  • i=1 R ls-type:: annotation hl-page:: 9 hl-color:: red id:: 658193f3-1d02-4923-88c8-f860b34fb44c
  • prompt templates has a great effect on recommendation ls-type:: annotation hl-page:: 9 hl-color:: yellow id:: 6581964a-a0f2-4fae-91ba-0cb4a8d976e7
  • Too few prompts may miss the goals that users need, and too many prompts may cause users to choos ls-type:: annotation hl-page:: 9 hl-color:: yellow id:: 6581a129-26b7-467c-acea-74f80cb613d7
  • top 10 most similar problems as templates ls-type:: annotation hl-page:: 9 hl-color:: yellow id:: 6581a132-73c7-4223-ac39-9f77a9eaa1af
  • chapter ls-type:: annotation hl-page:: 9 hl-color:: red id:: 6581a152-c6c8-4147-82b8-adc3b63c353e
  • parameter ls-type:: annotation hl-page:: 9 hl-color:: yellow id:: 6581a161-6e54-4eb5-98f6-a4c2e5fd6e6c
  • Comparison at the Class Level. Compared with BIKER, we have increased by22.3 %, 18.3 %, 11.6 %, 11.9 %, and 15.7 % on S @ 1, S @ 3, S @ 5, MAP, and MRR, respectively. Compared with BRAID, we increased the S @ 1, S @ 3, S @ 5, MAP, MRR by 24.0 %, 8.8 %, 3.0 %, 10.4 %, 12.9 %, respectively ls-type:: annotation hl-page:: 10 hl-color:: yellow id:: 6581aadc-49c8-4b2e-8873-083ea4fc2e09
  • The results show that the display improvement effect is better ls-type:: annotation hl-page:: 10 hl-color:: yellow id:: 6581ab7a-5e13-413b-bb42-12d26fd69094
  • the number of similar problems is not the larger or the smaller the better, it is necessary to analyze the specific problems ls-type:: annotation hl-page:: 11 hl-color:: yellow id:: 6581b062-1fb2-427c-b585-9bed2eccf26e
  • number of similar SO posts retained in the recommendation results, and the final API ranking is obtained in these similar SO posts ls-type:: annotation hl-page:: 11 hl-color:: yellow id:: 6581b07b-be50-422f-8bc4-43995068f5f6
  • table ls-type:: annotation hl-page:: 11 hl-color:: red id:: 6581b099-26cc-468f-9b3c-fcc8df3c9789
  • ( ls-type:: annotation hl-page:: 11 hl-color:: red id:: 6581b0a0-70cf-448a-9be2-8a0eaa9b2de8
  • : ls-type:: annotation hl-page:: 13 hl-color:: red id:: 6581b0d3-c419-487a-9e4f-07f53b2fe411
  • ( 2 ) The two words in the bag of words are similar in grammar, but there may be a big difference in grammar, so only using the context of the word is not enough to distinguish between queries. ls-type:: annotation hl-page:: 13 hl-color:: red id:: 6581b0f1-cd1e-4fec-ba93-0e00683a1b8e
  • prompt learning ls-type:: annotation hl-page:: 13 hl-color:: yellow id:: 6581b100-102b-408f-9870-89f27c4bd18b
  • With the development of the times, prompt learning has become a new favorite in the direction of NLP. The prompt is a paradigm or template designed by the researcher for the downstream task, which makes the downstream task to accommodate the pre-training model. ls-type:: annotation hl-page:: 13 hl-color:: red id:: 6581b13b-e893-4367-b1c7-0427d95dffe8
  • we mainly study the improvement effect of API recommendation combined with prompt learning. ls-type:: annotation hl-page:: 14 hl-color:: yellow id:: 6581b160-b575-46dd-a0a2-a03d70156c96 hl-stamp:: 1702998370524
  • Through our experimental evaluation, we demonstrate the effectiveness of PTAPI at both the method and class levels ls-type:: annotation hl-page:: 15 hl-color:: yellow id:: 6581b1f6-e1d0-4ee0-afcf-15202ac9ea5f