Remember meForgot password?
    Log in with Twitter

article imageAI is transforming how programmers write software

By James Walker     Sep 21, 2017 in Technology
Artificial intelligence is moving into new sectors as machine learning gains more capabilities. A growing trend is to use AI in software development, allowing programmers to be more efficient. In the future, machines could create their own code.
There's two main ways in which AI assists with programming. The first is productivity, since the technology can help developers to make quicker progress.
The other advantage lies in a program's features. AI can offer capabilities that weren't previously available, improving the functionality of the software. In either scenario, the use of AI leads to more advanced software programs that can be more reliable.
One of AI's most promising applications is deployment control, the development stage where an application is upgraded in production to run a new version. It can be fraught with risks as a failed deployment could lead to a broken app. AI can mitigate the danger by checking for problems in advance of them actually arising.
AI's also being used by quality assurance teams to spot, analyse and even patch bugs. Automated software testing has been around for years but AI gives it a new lease of life. Machine learning features allow testing suites to proactively spot bugs before they're encountered while running the app. The problem is automatically fixed and the development team can move on in their sprint.
AI is so effective in software development because the process reflects how machine learning models operate. The AI monitors the data flows in an application to understand what is going on. It can reason a logical way to resolve the issue by adjusting sections of the code until the expected output is produced. Since the number of possible causes for most bugs is finite, a bug-hunting process that could take humans hours is reduced to seconds with an AI.
AI's capabilities in the field could eventually lead to the eradication of programming. In an interview with Bloomberg this week, IBM CEO Ginni Rometty said AI will emphasise reasoning and progressive learning, not direct programming.
Rometty explained that IBM's Watson AI is being designed for use in business scenarios with a limited number of data points. AIs trained with small datasets could be used in businesses in fields like the regulatory industry but also software development.
"Everything you know until today is programmable – an entire era for decades has been programmable," Rometty said. "Watson would be the beginning of a new era where you didn't program. Machines would look at data, understand, reason over it, and they continue to learn: understand, reason and learn, not program, in my simple definition."
Before Watson takes over, AI will continue to grow its role in augmenting the capabilities of human teams. There are AI-powered tools to help developers write documentation, test their code and measure performance. Machine learning's also being used to streamline the overall process, such as by providing more accurate estimates of how long a task will take to complete.
This is the kind of area where AI excels, assessing a large number of variables to produce an overview of an entire project. Project managers get more insight into how their team's performing while individual members can offload tedious tasks to the AI. The overall result lets software studios ship higher quality products at a faster rate, increasing their chance of satisfying their customers.
More about Ai, Artificial intelligence, machine learning, software development, Programming
Latest News
Top News