Artificial intelligence is the result of coding, and now coding is the result of artificial intelligence. Yes, AI has come full circle, because more companies and more coders are using it to aid the software development process. Now, software developers can use AI to write and review code, detect bugs, test software, and even optimize development projects. And thanks to such aids, not only can companies deploy new software and apps more efficiently, but a whole new generation of developers can learn to code more easily.
These are some of the conclusions to be drawn from a newly published Deloitte report. Focused on AI-assisted software development, Deloitte authors David Schatsky and Sourabh Bumb explain how a diverse range of companies have launched dozens of AI-driven software development tools over the past year and a half. And the market for such assistive development software is growing vigorously, with startups in the sector raising a healthy $704 million across the year ending in September 2019. As such, Deloitte expects that AI-powered development tools are going to become increasingly important in meeting the growing demand for software from businesses.
The benefits of AI-assisted coding are numerous. However, the principle benefit for companies is efficiency. Many of the new AI-powered tools work in a similar way to spell- and grammar-checkers, enabling coders to reduce the number of keystrokes they need to type by around 50%. They can also spot bugs while code is being written, while they can also automate as many as half of the tests needed to confirm the quality of software. As the Deloitte report notes, this is particularly important in an age defined by increasing reliance on open-source code, which can sometimes come with bugs or sub-optimizations.
Of course, as great as the use of AI in development may be for companies, it brings the inevitable fear that automation will end up taking jobs from coders. But this is unlikely, says Deloitte’s David Schatsky, who points out that AI-powered development brings the additional benefit of ‘democratization.’
“For the most part, these AI tools are helping and augmenting humans, not replacing them,” he tells me. “These tools are helping to democratize coding and software development, allowing individuals not necessarily trained in coding to fill talent gaps and learn new skills. There is also AI-driven code review, providing quality assurance before you even run the code.”
A recent report from IDC forecasts that the global market for custom application development services will grow from $47 billion in 2018 to over $61 billion in 2023. This growth will be driven and facilitated by a parallel growth in AI-powered software development. But such development doesn’t only bring the benefit of automatic code writing and bug detection, since it can also be used to automatically organize and schedule software development projects. For example, France-based telecoms firm Orange recently used an AI-powered project management tool to automate the previously manual process of updating project timelines.
“AI supports humans throughout the software development lifecycle,” Schatsky says. “As with most automation, AI here accelerates the work. In some cases it eliminates certain tasks, but people are still needed throughout. Many companies are adopting ‘low-code development’ tools that enable people who are not trained as programmers to develop applications. Some of these make limited use of AI. But people are still needed to create the applications.”
Not only are people needed to create and oversee the applications, but Schatsky expects that AI will be used to help a new generation of coders gain more experience and knowledge in software development. “AI could be used to help novice coders by providing guidance while coding, pointing out potential errors and recommending ways of tackling certain tasks,” he says.
A 2018 Forrester study found that 37% of companies involved in software development were using AI-powered coding. Now, with companies such as Tara, DeepCode, Kite, Functionize, and Deep TabNine, as well as many others, providing automated coding services, it’s likely that this percentage is higher and growing higher still. And for David Schatsky, the use of AI in coding will ultimately result in greater efficiency and better overall software.
He says, “Many companies that have implemented these AI tools have seen improved quality in the end products, in addition to reducing both cost and time. Utility improvements have been seen since quality is higher – with quicker and more accurate bug detection and more ability to test the products throughout the development process, the software is more likely to work better and be easier to use.”