Dynamic software aims at eliminating updates by responding to environment

The US Defense Advanced Research Projects Agency is embarking on a project to eliminate software updates by establishing a computer program that avoids obsolescence. 

DARPA’s Building Resource Adaptive Software Systems (BRASS) program aims to take a new approach to software development, aiming for programs that can dynamically adjust to the resources they use and the environment they operate in. DARPA said it expects the program to produce “significant improvements in software resilience, reliability and maintainability.”

DARPA notes that software has a short and unpredictable shelf life compared with other engineering tools, leading to time-consuming and potentially costly upgrades, particularly as software becomes more complex.

For the US military, having access to well-functioning software systems and underlying content is critical to national security, but updates can be as problematic to the America’s armed forces as they are in the civilian world due to the time and expense that they can incur.

“Technology inevitably evolves, but very often corresponding changes in libraries, data formats, protocols, input characteristics and models of components in a software ecosystem undermine the behaviour of applications,” said Suresh Jagannathan, DARPA program manager. “The inability to seamlessly adapt to new operating conditions undermines productivity, hampers the development of cyber-secure infrastructure and raises the long-term risk that access to important digital content will be lost as the software that generates and interprets content becomes out-dated.”

With BRASS, researchers want to get away from the current model of applications executing on software stacks with a lot of different layers of abstraction to what DARPA calls a “clean-slate approach” to software design that allows new specifications to be accepted automatically and algorithms that enable applications to adapt to changes without manual intervention from a programmer.

“Ensuring applications continue to function correctly and efficiently in the face of a changing operational environment is a formidable challenge,” said Jagannathan. “Failure to respond to these changes can result in technically inferior and potentially vulnerable systems. Equally concerning, the lack of automated upgrade mechanisms to restructure and transform applications leads to high software maintenance costs and premature obsolescence of otherwise functionally sound software.”

This approach aims to enable the expression and discovery of new kinds of specifications, program analyses and formal methods that accurately capture the relationship between calculations and the resources they use, and algorithmic transformations that ensure applications adapt to changes without the need for upgrading.

According to Jagannathan, BRASS could “lead to the construction of families of programs all generally preserving high-level functionality but with different implementations that are optimised for different sets of resources and expose opportunities for cost reduction.”