An Analogy: Software AI and Natural Language
Thirty years ago, only humans could interpret the meaning of text and speech. Now our cell phones understand our voices well enough to make restaurant recommendations, give driving directions, and tell bad jokes.
And even though natural speech is fraught with accents, metaphors, and hidden meaning, a machine understood Alex Trebek well enough to beat the best Jeopardy!® players.
Computers achieve natural-language understanding through a series of normalization steps, from processing sounds to recognizing words and understanding sentences.
What if we could use a similar process to unlock the immense human knowledge and intent embedded in software? Functional software applications are, by definition, logically consistent. Shouldn’t software actually be easier to normalize than the messy ambiguity of human communication?
Could it be that simple?
What can be done when software is normalized into structured data?
The assistive AI collaborates with professionals to achieve unprecedented capabilities and efficiencies in software development.
Reveals and simplifies code dependencies.
Achieves programming language independence by exploiting functional equivalence.
Facilitates productive code refactoring and reuse.
Minimizes the impact of system scale.
Communicates the knowledge and human intent embedded in software with natural language and visualization techniques.
Reveals and exploits algorithms and models embedded in software resident in the cloud.