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 | ai_assisted |
Maturity | minimal |
Content Last Reviewed | 2023-04-10 |
Thanks for visiting this category direction page on Code suggestions in GitLab. This page belongs to the AI Assisted group of the ModelOps stage and is maintained by Neha Khalwadekar (nkhalwadekar at gitlab dot com).
This direction page is a work in progress, and everyone can contribute. We welcome feedback, bug reports, feature proposals, and community contributions..
We intend to make code suggestions available for any external IDE and terminal for ultimate users, starting with GitLab's VS Code plugin and new Web IDE. GitLab aspires to build AI-based solutions to increase developer productivity by helping them code faster and more efficiently. Get code suggestions that match a repository context and style conventions, and cycle through different options to decide what to accept, reject, or edit.
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.
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
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.
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
This category is currently at minimal maturity. We will share further maturity plans as we receive feedback from our first beta experiences in the coming milestones.
Currently, we support the following languages with the highest confidence: Python, C, C++, Java, Javascript, and Go.
Extended programming language: Python, C, C++, Java, JavaScript, Go, C'#', Scala, Kotlin, PHP, Ruby, Rust, Typescript.
We plan to measure the success of this category based on the following metrics:
Please see the content in our internal handbook
As this category is new, we are actively engaging analysts on new reports and research, we'll share links to those as they are published.