374 lines
14 KiB
Markdown
374 lines
14 KiB
Markdown
file:: [API_recommendation_1700647838753_0.pdf](../assets/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 user’s 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 user’s 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 |