Moore's Law reflects how general-use hardware devices and communication networks have enjoyed dramatic technological advances and price/performance improvements. But software development remains a labor intensive and expensive process subject to Brook's Law of diminishing returns.

Digitization and dematerialization have lead the technology revolution by transferring machine's essential functions into software, such as with cameras and servers.

Now Phase Change is effectively digitizing and dematerializing software development.

What does it mean?

An Analogy: Software AI & Natural Language

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?

In this division of cognitive labor, the software team creatively guides the development process towards the intended abstract model while the cognitive-computing agent understands and reasons on the formal computational world created by the digitization and normalization process.

The agent doesn't simply interpret the source code as text. It utilizes specialized program analysis and advanced analytical techniques to acquire a conceptual understanding of the application.

The agent uses intuitive visualizations and natural language to communicate and interact with the software team as if it were an expert colleague.

The Phase Change cognitive agent is designed for ubiquity. Its core abilities will apply to all programming languages, all hardware platforms, all software development life-cyle participants, and all tasks.

Reuse of Software Components

Phase Change's digitization technologies create a normalized representation of an application, including the human concepts.

This enables the cognitive agent to create conceptually based software units — conceptual software components — that can be recognized, abstracted, and stored in central repositories for reuse — without human labor or intervention.

These conceptual software components can be indexed by developer intention and reused on many levels: within the same application, company, industry, or cross-industry and without regard for the programming language in which the software component was originally written.

The future of software development is here. Phase Change's cognitive-computing platform and cognitive agent will create extraordinary new capabilities, drive exponential productivity growth, and disrupt the software ecosystem.