Software 2.0 - How Will AI Impact Future Software Development?
Updated: Jun 11, 2019
In the 2003 Terminator movie Rise of the Machines, the world’s first self-modifying software application famously turns against its creators. Sci-fi movies like those of the Terminator series, therefore, often inspire fierce philosophical debate.
Should self-improving AI applications ever be let loose on the Internet? More importantly, will AI hasten the end of civilization as we know it? Or will AI spearhead a new era of digital innovation and enlightenment?
The AI & Software 2.0 Revolution is Already Here
As surprising as it might sound, self-improving and even self-coding software, has been with us for some time already.
In 2017, Microsoft and the University of Cambridge collaborated on a project called DeepCoder. The result was an AI program capable of writing its own code. To do this DeepCoder merges snippets of code taken from existing programs, in a similar way to how human developers look to existing apps when writing code themselves.
In response to DeepCoder and other recent advances in AI, Tesla AI director Andrej Karpathy, has stated that what we are currently witnessing with AI, amounts to the emergence of a new software development era he calls "Software 2.0."
What is Software 2.0?
Andrej Karpathy believes that Software 2.0 will revolutionize how software developers conceptualize and create new programs.
Instead of coding new apps from scratch, developers in the Software 2.0 era, will define what a new app should do, before letting AI do the rest. However, the implications of apps which can write and later modify themselves, are even more far-reaching.
Cybersecurity & Bug Bounty Benefits
The security implications of self-improving software are obvious.
Software developers often offer bounties to anyone who can identify bugs in code. However, self-modifying apps will (potentially) be able to identify bugs and security weaknesses automatically, by checking their code against databases of millions of similar apps.
Moving on from app development, AI will likely soon also play a significant role managing the maintenance and security of critical IT infrastructure and networks. Self-learning and self-improving AI, after all, will be able to respond to cybersecurity threats in real-time, much faster than human IT technicians.
AI Security Threats
One problem with self-improving AI, is that in the wrong hands, programs might eventually be used to mount debilitating attacks against non-AI protected networks. There is good news, though.
Given the capabilities of AI applications like DeepCoder, it is possible that security threats might be countered in the future, by AI rugged operating systems and applications. Specifically, apps and operating systems which update in real-time to patch new security threats as soon as they appear in the wild. (As opposed to periodically via scheduled system updates.)
In the immediate future Software 2.0 will likely manifest in three key areas:
l Self-improving applications will usher in a new era in cybersecurity
l AI enabled software development tools will significantly reduce the amount of time needed to build and launch new applications
l A new generation of software developers will emerge who will create complex programs without having a high degree of software development technical experience
However, self-modifying programs might also allow us to arrive at a point in the future, where new applications are both created and conceptualized by AI.
At present, it is impossible to envisage what apps designed and built solely by artificial intelligence might look like. It is not inconceivable, though, to imagine that even major search engines like Google might one day be replaced by AI created alternatives. All that really remains to be seen is how quickly the future happens.