Can AI Write its Own Applications? | @CloudEXPO #AI #ArtificialIntelligence #MachineLearning #DigitalTransformation
We want to be able to express our intent for the application and let the software take it from there.
By: Jason Bloomberg
May. 6, 2019 08:00 AM
Early last year, a Microsoft research project dubbedannounced that it had made progress creating AI that could write its own programs.
Such a feat has long captured the imagination of technology optimists and pessimists alike, who might consider software that creates its own software as the next paradigm in technology – or perhaps the direct route to building the evil Skynet.
As with most machine learning or deep learning approaches that make up the bulk of today’s AI, DeepCoder was creating code that it based on large numbers of examples of existing code that researchers used to train the system.
The result: software that ended up assembling bits of human-created programs, a featas ‘looting other software.’
And yet, in spite of DeepCoder’s PR faux pas, the idea of software smart enough to create its own applications remains an area of active research, as well as an exciting prospect for the digital world at large.
The Notion of ‘Intent-Based Programming’
What do we really want when we say we want software smart enough to write applications for us? The answer: we want to be able to express our intent for the application and let the software take it from there.
The phrase ‘intent-based’ comes from the emerging product category ‘intent-based networking,’ an AI-based approach to configuring networks that divines the business intent of the administrator.
An intent-based networking system (IBNS) enables admins to define a high-level business policy. The IBNS then verifies that it can execute the policy, manipulates network resources to create the desired state, and monitors the state of the network to ensure that it is enforcing all policies on an ongoing basis, taking corrective action when necessary.
Intent-based programming, by extension, takes the concept of intent-based networking and extends it to any type of application a user might desire.
For example, you could ask Alexa to build you an application that, say, kept track of your album collection. It would code it for you automatically and present the finished, working application to you, ready for use.
What Might Be Going on Under the Covers
In the simple Alexa example above, the obvious approach for the AI to take would be to find an application similar to the one the user requested, and then make tweaks to it as necessary, or perhaps assemble the application out of pre-built components.
In other words, Alexa would be following a similar technique as DeepCoder, borrowing code from other places and using those bits and pieces as templates to meet a current need.
But assembling templates or other human-written code isn’t what we really mean by AI-written software, is it? What we’re really looking for is the ability to create applications that are truly novel, and thus most of their inner workings don’t already exist in some other form.
In other words, can AI be creative when it creates software? Can it create truly novel application behavior, behavior that no human has coded before?
5GLs to the Rescue
Using software that can take the intent of the user and generate the desired application has been a wish-list item for computer science researchers for decades. In fact, the Fifth Generation Language (5GL) movement from the 1980s sought to “make the computer solve a given problem without the programmer,” according to.
The idea with 5GLs was for users to express their intent in terms of constraints, which the software would then translate into working applications. This idea appeared promising but turned out to have limited applicability.
The sorts of problems that specifying constraints alone could solve turned out to be a rather small set: mostly mathematical optimization tasks that would seek a mathematical solution to a set of mathematical expressions that represented the constraints.
The challenge facing the greater goal of creating arbitrary applications was that 5GLs weren’t able to express algorithms – the sequence of steps programmers specify when they write code by hand.
As a result, 5GLs didn’t really go anywhere, although they did lead to an explosion of declarative, domain-specific languages like SQL and HTML – languages that separate the representation of the intent of users from the underlying software.
But make no mistake: expressing your intent in a declarative language is very different from software that can create its own applications. Writing SELECT * FROM ALBUMLIST is a far cry from ‘Alexa, build me an app that keeps track of my albums.’
The missing piece to the 5GL puzzle, of course, is AI.
A Question of Algorithms
In the 1980s we had no way for software to create its own algorithms – but with today’s AI, perhaps we do. The simple optimization tasks that 5GLs could handle have grown into full-fledged automated optimization for computer algebra systems, which would qualify as computer-generated algorithms. However, these are still not general purpose.
There are also research projects like, which creates machine learning-generated neural network architectures. You can think of a neural network architecture as a type of application, albeit one that uses AI. So in this case, we have AI that is smart enough to create AI-based applications.
AutoML and similar projects are quite promising to be sure. However, not only have we not moved much closer to Skynet, but such efforts also fall well short of the intent-based programming goal I described earlier.
The Context for Human Intent
Fundamentally, AutoML and intent-based programming are going in different directions, because they have different contexts for how users would express their intent. The Alexa example above is unequivocally human-centric, as it leverages Alexa’s natural language processing and other contextual skills to provide a consumer-oriented user experience.
In the case of AutoML (or any machine learning or deep learning effort, for that matter), engineers must express success conditions (i.e., their intent) in a formal way.
If you want to teach AI to recognize cat photos, for example, this formal success condition is trivial: of a data set containing a million images, these 100,000 have cats in them. Either the software gets it right or it doesn’t, and it learns from every attempt.
What, then, is the formal success condition for ‘the album tracking application I was looking for’? Answering such a question in the general case is still beyond our abilities.
Today’s State of the Art
Today’s AI cannot create an algorithm that satisfies a human’s intent in all but the simplest cases. What we do have is AI that can divine insights from patterns in large data sets.
If we can boil down algorithms into such data sets, then we can make some headway. For example, if an AI-based application has access to a vast number of human-created workflows, then it can make a pretty good guess as to the next step in a workflow you might be working on at the moment.
In other words, we now have autocomplete for algorithms – what we call ‘next best action.’ We may still have to give our software some idea of how we want an application to behave, but AI can assist us in figuring out the steps that make it work.
The Intellyx Take
AI that can provide suggestions for the next best action but cannot build an entire algorithm from scratch qualifies more as Augmented Intelligence than Artificial Intelligence.
When we are looking for software that can satisfy human intent, as opposed to automatically solving a problem on its own, we’re actually looking for this sort of collaboration. After all, we still want a hand in building the application – we just want the process to be dead simple.
It’s no surprise, therefore, that the burgeoning low-code/no-code platform market is rapidly innovating in this direction.
Today’s low-code/no-code platforms support sophisticated, domain-specific declarative languages that give people the ability to express their intent in English-like expressions (or other human languages of choice).
They also have the ability to represent apps and app components as templates, affording users the ability to assemble pieces of applications with ‘drag and drop’ simplicity.
And now, many low-code/no-code platform vendors are adding AI to the mix, augmenting the abilities of application creators to specify the algorithms they intend their applications to follow.
Someday, perhaps, we’ll simply pick up our mic and tell such platforms what we want and they’ll build it automatically. We’re not quite there yet, but we’re closer than we’ve ever been with today’s low-code/no-code platforms – and innovation is proceeding at a blistering pace. It won’t be long now.
Copyright © Intellyx LLC. publishes the , advises companies on their digital transformation initiatives, and helps vendors communicate their agility stories. As of the time of writing, Microsoft is an Intellyx customer. None of the other organizations mentioned in this article are Intellyx customers. Image credit: .
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throughout enterprises of all sizes.
Register Today and SAVE ▸ Here
Speaking Opportunities ▸ Here
Sponsorship & Exhibit Opportunities ▸ Here
Silicon Valley Faculty ▸ Here
Silicon Valley Schedule ▸ Here
CloudEXPO Has Been the M&A Capital For Cloud Companies
CloudEXPO has been the M&A capital for Cloud companies for more than a decade with memorable acquisition news stories which came out of CloudEXPO expo floor. DevOpsSUMMIT New York faculty member Greg Bledsoe shared his views on IBM's Red Hat acquisition live from NASDAQ floor. Acquisition news was announced during CloudEXPO New York which took place November 12-13, 2019 in New York City.
Our Silicon Valley 2019 schedule will showcase 200 keynotes, sessions, general sessions, power panels, and hands on tutorials presented by 150 rockstar speakers in 10 hottest conference tracks of 2019:
CloudEXPO Silicon Valley 2019 Show Prospectus ▸ HERE
Prospectus At-a-Glance ▸ HERE
CloudEXPO is the single event where technology buyers and vendors meet to experience and discus cloud computing and all that it entails. For more than a decade, sponsors and exhibitors of CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities through our following unique tools. For more information on sponsorship, exhibit, and keynote opportunities call us at 954 242-0444 or contact us ▸ Here
FinTech and Blockchain Are Now Part of CloudEXPO 2019 Program
Financial enterprises in New York City, London, Singapore, and other world financial capitals are embracing a new generation of smart, automated FinTech that eliminates many cumbersome, slow, and expensive intermediate processes from their businesses.
Accordingly, attendees at the upcoming 23rd CloudEXPO, June 24-26, 2019 at Santa Clara Convention Center in Santa Clara, CA will find fresh new content in full new FinTech & Enterprise Blockchain track.
ServerlessSUMMIT & Kubernetes at CloudEXPO Silicon Valley
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility.
Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility.
Serverless and Kubernetes are great examples of continuous, rapid pace of change in enterprise IT. They also raise a number of critical issues and questions about employee training, development processes, and operational metrics.
DevOpsSUMMIT at CloudEXPO Celebrates Its 12th Event in Six Years
Cloud-Native thinking and Serverless Computing are now the norm in financial services, manufacturing, telco, healthcare, transportation, energy, media, entertainment, retail and other consumer industries, as well as the public sector.
The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential.
ServerlessSUMMIT and DevOpsSUMMIT at CloudEXPO expands the DevOps community, enable a wide sharing of knowledge, and educate delegates and technology providers alike.
There's a real need for serious conversations about Serverless and Kubernetes among the people who are doing this work and managing it.
The graph represents a network of 1,329 Twitter users whose recent tweets contained "#DevOps", or who were replied to or mentioned in those tweets, taken from a data set limited to a maximum of 18,000 tweets. The network was obtained from Twitter on Thursday, 10 January 2019 at 23:50 UTC.
DXWorldEXPO Showcases Cutting-Edge IoT, Artificial Intelligence, Machine Learning, and Digital Transformation
Now is the time for a truly global DX event, to bring together the leading minds from the technology world in a conversation about Digital Transformation. DX encompasses the continuing technology revolution, and is addressing society's most important issues throughout the entire $78 trillion 21st-century global economy.
DXWorldEXPO® has organized these issues along 10 tracks, 22 keynotes and general sessions, and a faculty of 222 of the world's top speakers.
DXWorldEXPO® has three major themes on its conference agenda:
Technology - The Revolution Continues
Global 2000 companies have more than US$40 trillion in annual revenue - more than 50% of the world's entire GDP. The Global 2000 spends a total of US$2.4 trillion annually on enterprise IT. The average Global 2000 company has US$11 billion in annual revenue. The average Global 2000 company spends more than $600 million annually on enterprise IT. Governments throughout the world spend another US$500 billion on IT - much of it dedicated to new Smart City initiatives.
For the past 10 years CloudEXPO® helped drive the migration to modern enterprise IT infrastructures, built upon the foundation of cloud computing. Today's hybrid, multiple cloud IT infrastructures integrate Big Data, analytics, blockchain, the IoT, mobile devices, and the latest in cryptography and enterprise-grade security.
Digital Transformation is the key issue driving the global enterprise IT business. DX is most prominent among Global 2000 enterprises and government institutions.
About DXWorldEXPO LLC
DXWorldEXPO LLC is a Lighthouse Point, Florida-based trade show company and the creator of DXWorldEXPO - Digital Transformation Conference & Expo. The company produces and presents the world's most influential technology events including CloudEXPO, DevOpsSUMMIT, and FinTechEXPO.
Digital Transformation Blogs