Files
logseq/pages/ICSE2023-REVIEW-2055.md
T
2025-06-02 17:15:13 +02:00

4.3 KiB

type:: REVIEWS full-title:: Recommending Alternative API Usages for Code Customization based on Code Pre-trained Models venue:: ICSE year:: 2022 title:: Recommending Alternative API Usages for Code Customization based on Code Pre-trained Models date:: 29-10-2022 - 03:12 external-links:: status:: DONE file:: icse2023-paper2055.pdf

- ### Paper summary
	- The paper presents the REALAU approach to support the customization of code snippets that have been automatically retrieved from online resources like Stack Overflow or recommended by AI pair programming tools like Copilot. In particular, once code snippets that are relevant to the problem at hand have been retrieved, developers need to customize code by fixing API usages, i.e., API calls with actual arguments. REALAU includes an offline and an online phase. During the offline phase, REALAU constructs an auxiliary repository, which is created by mining the code corpus and extracting all the APIs and API usages. Given a code snippet with the blank [MASK] part, REALAU retrieves the API usages relevant to the current context and the blank part in the code under development. All the possible API usages that might be relevant are ranked. An evaluation of the approach has been performed.
- ### Strengths
	- A very good appendix is available. It helped me understand the goal of the proposed approach
- ### Weaknesses
	- Paper is not always easy to read
	- Lack of a comparison with an existing baseline
- ### Comments for the authors
	- **Significance and Soundness:** I had to go through the available appendix to understand better how the approach is intended to be used in practice. In my opinion, the paper is not convincing in motivating the need for the proposed approach. I suggest improving the paper by presenting how REALAU is envisioned to be used in practice. For instance, in different parts of the papers, the authors claim that REALAU can recommend rich code alternatives at API and argument levels. However, it is not clear how and when requests for such recommendations are triggered by the user.
	- **Novelty:** The novelty of the paper has not been demonstrated. As mentioned by the authors in the related work section, there are existing code customizations approaches that might be considered as potential baselines to be compared with REALAU. However, the authors claim that compared to existing clone-diff-based approaches, REALAU focuses on alternative API usage recommendations and is more flexible. However, in my opinion, existing "code customization" and "API usage recommendation" approaches might have been considered and compared with REALAU in an adequately defined evaluation approach.
	- **Verifiability and Transparency:** The artifacts produced during the experiments are in an online appendix, which is well-structured and organized. The appendix has been very useful to me in understanding how the approach is intended to be used and what are its main goals. These aspects are not properly described in the paper, which lacks an appropriately crafted use case throughout the document.
	- **Presentation:** The paper is overall well-structured, even though not always easy to read.  The description of the approach in Sectio IV is unclear. I had to go through it several times because it is missing an appropriately crafted explanatory and running example guiding the reader through all the technical phases of the approach.
- ### Question for authors
	- Q1: Can you please comment on my points on Novelty? Several approaches have been conceived to recommend alternative API function calls or code snippets relevant to the current development context. Why have you decided to discard them?
- **NOTES**
	- ((635cf498-bb73-4028-993f-f0b99784d575))
		- What does it mean? Reacher with respect to what?
			- ((635cf59c-58cc-4a53-805c-5e891126a06f))
	- ((635e9619-99d1-4734-a1fc-5707fa2ed421))
		- Alternative concerning what?
	- ((635d0fc4-845f-4b3b-a301-c05383511cf7))
		- Need to understand what the context contains!
	- ((635e97bb-8f0f-4462-abbe-987e39e7ae05))
		- The way API usages are ranked it is not clear at this stage.
	- ((635ec128-b147-4256-92d2-3f258f150040))
		- I'm not sure this is always possible, in the case, for instance, of polymorphism. If I correctly got it, if the type cannot be traced, then the method is skipped.
		-