Jul 26, 2019

TabNine adds powerful deep learning model to code suggestions

TabNine is a popular all-language autocompleter that has recently added deep learning models to its service to enable smarter code suggestions. The project was developed by a computer science student at the University of Waterloo who created the program as an alternative to less sophisticated code completion tools. TabNine uses a deep learning text-generation algorithm called GPT-2, which was designed by the AI research company OpenAI. Founded by Elon Musk and Sam Altman, OpenAI conducts extensive research in the field of AI and often makes its patents and research open to public.

TabNine is trained on two million public files on GitHub and uses that open source data to offer powerful code suggestions. Given its training data set, TabNine is best suited for writing commonly structured or boilerplate code—not exploratory code—that has been written before by other developers in the community. The program costs $49, but according to the creator, "TabNine will save you at least 1 second per minute. If you value your time above $1.40/hour, it will pay for itself in less than a year."

TabNine is not alone in its pursuit of more intelligent time-saving code recommendation systems. Microsoft offers IntelliCode, its AI-assisted developer productivity extension that uses machine learning to make better code suggestions. Kite, a startup based in San Francisco, offers a plugin that uses machine learning to give developers code completion functionality, but is available for Python only. TabNine is unique in that it offers wide language support and is capable of suggesting longer, more complex code snippets.

The creator of TabNine also noted that he is working to allow enterprises to fine-tune the deep learning models using internal source code. Not only will developers be able to draw from the developer community, they will be able to write more uniform code within the codebase of their own company. The effects of smarter code suggestions compound rapidly over time: developers can write code faster, thereby adding more data to the deep learning models more quickly. Furthermore, more uniform code cuts down time developers spend trying to understand confusing code, allowing them to focus on the parts of software development that matter most.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.