Deep TabNine autocompleter tool
Image: Images: Depositphotos

Deep TabNine is a new auto-completion tool that suggests finished lines of codes based on what you have written so far. It is a deep learning-based tool that works for multiple programming languages.

Based on a predictive text deep-learning language model GPT-2 by Open AI, Deep TabNine aims to help developers code faster. It is developed by a computer science student, Jacob Jackson, at the University of Waterloo in Canada.

Code Autocompletion With Deep Learning

Deep TabNine is a deep learning-based tool that was trained on two million files from GitHub. It predicts each token based on the tokens that come before it.

GPT-2 was trained for the same purpose but instead of predicting natural language sentences Deep TabNine predicts the building blocks of code.

Deep TabNine supports several languages such as Java, Python, JavaScript, C, C++, PHP, TypeScript, Kotlin, Objective-C, HTML, CSS, Go, C#, Ruby, Rust, Swift,  Haskell, OCaml, Scala, Perl, SQL,  and Bash.

TabNine for Python:

Java:

Other tools like Deep TabNine are already available — including Microsoft’s IntelliSense for Visual Studio. However, its ability to suggest multiple tokens instead of a single one is what makes this autocomplete tool so special.

A standard version of TabNine is also available but it isn’t based on deep learning. It uses machine learning to provide responsive, reliable, and relevant suggestions.

It is to be noted that Deep TabNine comes with one tradeoff — it is too intensive to run on a laptop and it may not offer suggestions as quickly as the standard version of TabNine.

Jackson hopes to create a better model that would easily run on laptops. For now, he is offering a TabNine Cloud beta service that uses GPUs to speed up autocomplete suggestions.

Meanwhile, he is working on a model that would run on a laptop with “reasonable latency.” For enterprise customers, Deep TabNine offers a license to run the model on company hardware.

Also Read: GitLab Survey Reveals Clash Between Programmers And Security Professionals