Home Source code AI boosts development tools – Florida News Times

AI boosts development tools – Florida News Times

0


[ad_1]

The sudden acceleration in digital transformation caused by the COVID-19 pandemic has revealed how unprepared most businesses are. One of the biggest issues they still face is “application lag,” which is the lack of applications that end users need to do their jobs efficiently. Low-code and no-code tools are part of the way to bridge the gap by automating UI builders and robotic processes, but there is still a long way to go.

One option is to use machine learning to increase developer productivity. We’ve already used basic rule-based tools to provide code completion and help with method publishing, so we’re going to take it a step further and apply common design patterns based on large datasets of public code. Want to share methods, which algorithms are used in which context and how developers use public APIs?

GitHub co-pilot: AI coding assistant

This is what GitHub did. Uses the familiar OpenAI Codex (GPT-3 Code Based Language Model) machine learning model. Build and train services that work in the Code Editor and suggest next steps as you work. Call him First Officer, GitHub describes him as a “pair of programmer AI.” This is an interesting take, suggesting that Copilot is a collaboration tool rather than a prescriptive one.

Copilot is trained to millions of lines of code in public repositories. Installed as a Visual Studio Code extension, Copilot works in the context of the current editor window, providing suggestions based on what you type and giving feedback on usage details. The private code will not be used to train the service with the new sample code. The only signal is the code you are using.

You should not expect the code generated by Copilot to be correct. For one, this type of application is still in its infancy and there is little training other than the initial dataset. The proposition is expected to improve as more and more people use Copilot and take advantage of the way it is used for reinforcement learning. However, you need to decide which extract to use and how to use it. You should also pay attention to the code generated by Copilot for security reasons. It is not possible to audit all the code that GitHub uses to train Copilot. Even with tools like Dependabot and CodeQL security scanners, there is a lot of shoddy code that has bad patterns and common bugs.

Despite the risks, Copilot has some interesting ideas. How to get a comment and convert it to code, or suggest a test that you can use as part of a comment. Continuous Integration / Continuous Deployment (((CI / CD) process. Integrating AI into the development and testing parts of the CI / CD devops model makes perfect sense to lighten the burden on the developer and allow him to focus on the code. But again, you need to make sure that these tests are appropriate and provide the right level of code coverage. You are not limited to one solution at a time. You can paginate the results into the editor to see the best solution before accepting it.

GitHub Copilot is currently previewing Here is the waiting list.

DeepDev: New AI model for developers

Microsoft is working on a unique set of machine learning models to support application developers. The prototype of the DeepDev service has not yet been published. However, some documents will be displayed. From what is published, DeepDev appears to use a similar technique to Copilot on GitHub, but it might have a larger set of models.

Like Copilot, DeepDev is trained in combining open source code with more general documentation, with an emphasis on understanding and manipulating source code. Some models are more general and require additional training based on the source code library, while others are designed to handle some common tasks.

You need the correct API key to access DeepDev. It includes a playground where you can try out the tool before incorporating it into your own code. DeepDev appears to be a way to extend your own tools using Microsoft’s machine learning model. This allows you to integrate these models into your CI / CD pipeline and generate tests when you check in your code.

From IntelliSense to IntelliCode

Coding with artificial intelligence is an interesting development and a better development tool. Technologies like Visual Studio IntelliSense IntelliCode are already striving to make development more efficient by debugging while writing code using real-time code completion and compilation tools. IntelliCode uses the public GitHub repository Build a code completion model using GitHub stars as an indicator of code quality.

Context is important for machine learning coding tools. If you are using a set of APIs, the tool should respond to how everyone uses APIs, not how they use them. Likewise, the tool should provide the appropriate overload for the method based on the code you are writing. A large training data set and a responsive model are essential. What you need is a tool that helps you deliver what you want faster, rather than a way to repeat the same mistake in thousands of other projects.

IntelliCode is arguably the most mature and discreet AI assistant. It looks like an extension of the already familiar IntelliSense. Not limited to use with Visual Studio. Also available as a Visual Studio Code extension, so it can be used as part of your daily development environment selection. In addition to the standard version, Microsoft offers Insider builds. This allows you to try out future features. One of the useful tools in the current version of Insider is an example of the Python API, which shows examples of known API calls. They are grouped by popularity in a separate editor window, so you can copy and paste them into your code or use them as a guide on how to use the API and use Visual Studio Code’s built-in REPL to find your calls. I go. You will get the answer you need. Other Insider tools include a way to create their date / time formats by showing display examples from common JavaScript libraries.

Code generation for data conversion

Programming with such examples is another convenient way to add AI assistance to the development process. Microsoft Research Prose (((Program Summary Using Examples) is already used in Excel, many Azure and Power Platform tools, and SQL Server. Visual Studio uses it as part of IntelliCode’s refactoring tools for find patterns in your code and suggest places where you can It’s also a convenient way to generate code that consistently extracts and transforms data, receives input, and delivers it in the expected output format.

AI-assisted development tools are best viewed as pair programmers built into the publisher. It is not a machine that generates code for you (although it is possible if you want to). Instead, treat it like advice that can speed up the development process, reduce bugs, and automate repetitive tasks. Having the editor suggest a test helps you embrace test-driven development and makes it easier to manipulate strings and data if you can generate regular expressions and transformations based on the expected outcome.

To overcome this application gap, you need to deliver your code faster and more consistently. Adding machine learning to the development process allows you to choose the brains of thousands of other developers without breaking the flow or their flow. Tools like Stack Overflow help by providing examples of how other developers have solved the same or similar issues.

These new AI-powered tools go one step further by analyzing and understanding all of the millions of undocumented lines of code to find useful snippets without having to search as needed. All you have to do is sit down and code and look for suggestions when they come up.

Copyright © 2021 IDG Communications, Inc.

[ad_2]

LEAVE A REPLY

Please enter your comment!
Please enter your name here