The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
Stage | Create |
Group | Code Creation |
Maturity | minimal |
Content Last Reviewed | 2023-09-22 |
Thanks for visiting this category direction page on Code suggestions in GitLab. This page belongs to the Code Creation group of the Create stage and is maintained by Kevin Chu (kchu at gitlab dot com).
Code suggestion systems use Generative AI to suggest relevant code snippets and autocomplete code while software developers are writing code. These systems aim to boost programmer productivity and reduce time spent on rote coding tasks. Some key points about AI code suggestion systems:
In the long run, we intend to revolutionize the software development process through the integration of AI-assisted code suggestions, resulting in increased productivity, reduced errors, and improved overall software quality. Furthermore, we intend to enrich the experience by introducing NLP search in our WebIDE to help developers speed up the development process.
Initially, we are focused on traditional developer personas including:
In the future, we may expand to security personas to help write more secure code and review code for security vulnerabilities and fix them early in the software development lifecycle (SDLC), before you commit.
By implementing AI Assisted Code Suggestions in integrated development environments (IDEs), we intend to transform the software development lifecycle for our customers in the following ways:
Overall, the integration of AI Assisted Code Suggestions should greatly improve the efficiency, quality, and speed of the software development process. We are working through several constraints such as legal, and data privacy concerns in order to make the best experience available for our customers.
With the Beta release, we are now focused on providing functionalities like code completion, code recommendations as well as code fillers to improve the quality of the suggestions by Q2, 2023. With that, We plan on extending our language support to 13 programming languages. Currently, code suggestions are available to use in Visual Studio Code via GitLab workflow extensions. We will soon add support for the new GitLab WebIDE. We are actively adding monitoring and infrastructure support to better scale and optimize code suggestions. We will continue iterating on early beta user feedback and enhance the underlying models, the inference backend, and extend support for other IDEs.
We want code suggestions to feel natural and not get in the way, we will be improving the UX for code suggestions experience to ensure developers enjoy a seamless experience as they code. To improve the quality of the code suggestions, We are exploring merging models via request routing to have multiple specialized models handling the request types that are best suited to handle. we are also exploring code suggestions for GitLab-ci.yml files for MVC - An additional use case that can help us pave the way for future training on customer code and explore test harness generation to help developers automate the creation of tests by generating them through code suggestions.
Smart code completion to optimize code Summary: How might we ensure developers can write code more quickly and precisely, which completes code snippets based on context? This may lead to fewer mistakes and more effective development.
Currently, we are not developing a fully original GitLab-trained model, however, that is something we may consider in the future. For now, we will focus on open-source code generation models.
Continuous integration and deployment Summary: How might we facilitate continuous integration and deployment by identifying code changes that could cause potential conflicts? This will enable developers to resolve issues quickly and roll out production code faster.
To Automatic bug detection and patching
Smart code completion
**Ability to turn suggestions on | off as needed** extending greater control over the developer IDE experience. |
Test case generation and automation
Programming in natural language
This category is currently at minimal maturity.
We plan to measure the success of this category based on the following metrics:
Please see the content in our internal handbook