## 4 Intelligent Source Code Completion Assistants
### Leading Intelligent Source Code Completion Assistant Comparison  
After a systematic literature review, we identified eight intelligent assistants (Table 3) from primary studies. _GitHub Copilot_ has garnered significant attention recently. Developed by GitHub in collaboration with OpenAI, this assistant offers program continuation suggestions based on the context from comments and source code. It utilises the Codex language model, an evolution of the GPT-3 model by OpenAI. Codex translates natural language into source code, learning from open repositories on GitHub [5]. _Tabnine_ (previously Codota) employs OpenAI's GPT-2 transformer. Its primary function is to predict and suggest the subsequent unit of source code, typically the next word or line [6]. \begin{table}
\begin{tabular}{c c c} \hline
**Intelligent Assistant** & **Accessibility** & **Sources** \\ \hline GitHub Copilot & Available as a plugin for Visual Studio Code, JetBrains IDE, and Neovim & [4, 36] \\ Tabnine (Codota) & Available as an IDE plugin & [4, 9, 25, 37, 38] \\ Kite & Available as an app and IDE plugin & [4, 25] \\ IntelliCode & Part of the VS IDE and VS code & [2, 28, 29, 32] \\ IntelliCode Compose & Internal to Microsoft & [32, 37] \\ CACHECA & Not accessible & [7] \\ Pythia & Internal to Microsoft & [26, 33, 38] \\ Galois & No IDE integration & [9] \\ \hline \end{tabular}
\end{table} 
Table 3: Overview of intelligent assistants. _Kite_, similar to Tabnine, is built on OpenAI's GPT-2 model. It suggests the next word or line of source code using local context and open-source samples. In addition to code completion, Kite displays documentation for nearby objects. To use Kite, users must install an additional application alongside the development environment plugin [39]. _IntelliCode_, rooted in Microsoft's IntelliSense, is designed for Visual Studio and Visual Studio Code. Trained on a GPT-2 transformer, it learned from numerous public GitHub repositories. IntelliCode suggests the next program word, considering local context, repository metadata, and official documentation. _IntelliCode_ Compose, an enhancement, emphasises completing entire code lines using the GPT-C model, a GPT-2 variant. It is still under development and exclusive to Microsoft developers [37]. Three other intelligent assistants identified in our primary studies include _CACHECA_, which was designed for Eclipse and based on a modified n-gram model, focusing on the current file [40]. _Pythia_ is under development, leveraging the GPT-2 model trained on select high-quality open-source projects [21]. Lastly, the open-source _Galois_ assistant, which is environment-independent and built on GPT-2, can suggest multiple words but not full lines of code [41]. After a comprehensive review and description of intelligent assistants for complementing the source code, we tested those that are available for use. These are GitHub Copilot, Tabnine, Kite, and IntelliCode. The examination provided the results of their capabilities, which are compared in Table 4.  
Recently, the landscape of intelligent code completion has been profoundly transformed by the advent of more sophisticated AI models. Prominently, GPT-3 and GPT-4, developed by OpenAI [42], have emerged as game-changers. These models have significantly advanced the capabilities of intelligent assistants in understanding and generating code, offering a more context-aware, nuanced approach than their predecessors [43]. GitHub Copilot, initially leveraging OpenAI's Codex model based on GPT-3, has now been updated to GPT-4 with its new version, Copilot X, introducing features like Copilot Chat [5]. This enables a ChatGPT-like experience, allowing developers to discuss specific code segments for better understanding or modification, even via voice input. Another notable tool is Codeium [44], which provides AI-generated autocomplete in over 20 programming languages and integrates directly with various IDEs.