AI-augmented coding is here, and rather than taking over the role of a developer, it helps make developers lives’ easier and less tedious.
GitHub Copilot, which first launched as a technical preview last summer, is a popular example of AI-augmented coding. There’s also DeepMind’s Alphacode and Diffblue Cover, which is a unit testing solution for Java code.
In a recent SD Times Live! event, Diffblue’s CEO Mathew Lodge explained that there are main categories of AI augmented coding:
- Auto completion of code, which is what GitHub Copilot does
- Coding systems designed specifically to win coding competitions, which is where Alphacode comes in
- Unit test writing, which is where Diffblue falls in, along with solutions like EvoSuite and CircleCI’s Ponicode.
According to Lodge, AI is useful in augmenting unit test writing because when writing test programs, the number of possible tests is exponential. Applying AI is a way to conduct a smart search within that space.
“We’re looking inside of the set of all possible test programs, and we want the set of programs that are valid and run, that generate high coverage and that developers find easy to read,” said Lodge.
Lodge explained that Diffblue uses what’s called probabilistic search to look for the most likely solutions within the testing area.
“You’re not guaranteed to get the best solution, and that’s not the goal, because the only way you can get the best solution is to look at every single possibility. But you are going to get a good solution out of this kind of approach most of the time,” Lodge explained.
Then, once a test fails, that’s when a developer or QA specialist needs to come in and figure out why.
Diffblue Cover writes regression unit tests for Java code, and this means tests can be written for the entire application to get a baseline of tests.
According to Lodge, a benefit of regression testing is that you can run them against new code or changes to existing code.
“We can dramatically reduce the amount of time it takes to run CI,” said Lodge. “So you get some test failures and test failures could either be because you broke something you didn’t intend to, or it can be intentional. And then after that, you can update the Diffblue baseline with the new tests.”
Another main benefit is developer retention. As companies wrestle with the reality of the Great Resignation, retaining their top developer talent is top-of-mind and one way to keep those developers on board is to make sure they’re satisfied with what they’re working on, which means eliminating some of those more mundane tasks, which is something that these AI-augmented solutions do.
To learn more, watch the webinar, “Copilot to Cover: AI-augmented coding isn’t your robot overlord – it’s here to help,” available on-demand now.