AI is used to find hidden meaning in large datasets. What if an AI system could truly understand an end-to-end business process. What if an AI system could optimise a business process autonomously?
During a recent IBM panel discussion, Baishakhi Ray, assistant professor and head of the ARiSE Lab, Columbia University spoke about how the masses of source code available in the public domain can be treated as big data. She describes it as “big code”, which is analogous to written language, but has its own set of properties. Like the way natural language is processed using AI, big code is more structured, and has different semantic properties. Ray believes that analysing code in the same way as text can be analysed using AI, has a lot of potential in software development.
Data models of code analysed by AI could then be applied to automate tasks such as detecting vulnerabilities, automatic code writing and synthesising small programs and functions. According to Ray, such models could help software developers responsible for secure coding recognise the patterns that make certain lines of source code prone to security attacks.
AI-powered Application modernisation
AI-based code analysis is one of the approaches IBM sees as key to application modernisation. According to Nick Fuller, director, hybrid cloud services, IBM Research modernising code requires “AI-infused tooling”.
In effect, AI can help software developers understand what legacy code is doing more effectively. Not only can AI be deployed to analyse source code line by line but, Munindar Singh, professor, department of computer science, North Carolina State University believes AI also provides IT modernisation projects teams with the ability to combine this knowledge with AI’s ability to decipher business process logic. In effect, the machine can learn how each section of source code relates to the business process. In order for AI to make sense of what the source code is trying to achieve, it needs to understand the business process.
The data model built using such techniques can be enhanced as more and more code is analysed.
At a higher level of abstraction, AI builds a data model representing the business process, akin to a digital twin. Over time, as the business process changes, this data model adapts. The experts on the IBM panel talked about the idea of AI generating simple applications. But, if AI can understand source code and understand how this relates to a business process, there is no reason to doubt that an AI system will eventually be able to adapt enterprise software autonomously, to reflect changes in business processes.