Figure - uploaded by Tian Liang
Content may be subject to copyright.
Source publication
Code completion, which provides code suggestions by generating code snippets or structures, has become an essential feature of integrated development environments (IDEs). Recently, some studies have begun to use graph neural networks to complete AST-level code, and shown that it is promising to introduce GNNs into AST-level completion. However, the...
Similar publications
The world is a beautiful place where all the species of various kinds dwells, the best of which is mankind. But almost all the things have metamorphized and have turned commercial in nature, as a result of which humans have catered to everything that has some way or the other led to the decrease in the term of sustainable development to great exten...
Citations
... A prompt is then generated combining the context and the retrieved results and fed to LLM to return a predicted statement. Another approach that also uses graph representation is presented in [30]. It integrates a retrieval model that searches for similar code graphs to generate graph nodes, and a completion model based on a Multi-field Graph Attention Block. ...
... Input [9,24] Current code segment (token-based representation) [28] Current file context [29,30] Current code segment (graph representation) [31,32] Cross file context [33] Current code segment and usage logs ...
... The recommenders described in [9,24] take as input the current code segment in tokenbased representation. As shown in Table 4, the recommenders in [29,30] use a graph-based representation of the current code segment. The work in [28] leverages current file context, while the recommenders in [31,32] utilize also cross-file context. ...
Software engineering is a field that demands extensive knowledge and involves numerous challenges in managing information. The information landscapes in software engineering encompass source code and its revision history, a set of explicit instructions for writing, commenting on and running the codes, a set of procedures and routines, and the development environment. For software engineers who develop code, writing code documentation is also extremely important. Due to the technical complexity, vast scale, and dynamic nature of software engineering, there is a need for a specialized category of tools to assist developers, known as recommendation systems in software engineering (RSSE). RSSEs are specialized software applications designed to assist developers by providing valuable resources, code snippets, solutions to problems, and other useful information and suggestions tailored to their specific tasks. Through the analysis of data and user interactions, RSSEs aim to enhance productivity and decision-making for developers. To this end, this work presents an analysis of the literature on recommender systems for programmers, highlighting the distinct attributes of RSSEs. Moreover, it summarizes all related challenges regarding developing, assessing, and utilizing RSSEs, and offers a broad perspective on the present state of research and advancements in recommendation systems for the highly technical field of software engineering.