DARPA seeks to create software systems that could last 100 years

April 9, 2015, DARPA
Artist’s concept of software system components dynamically adapting to resource changes within an operational IT ecosystem.

As modern software systems continue inexorably to increase in complexity and capability, users have become accustomed to periodic cycles of updating and upgrading to avoid obsolescence—if at some cost in terms of frustration. In the case of the U.S. military, having access to well-functioning software systems and underlying content is critical to national security, but updates are no less problematic than among civilian users and often demand considerable time and expense. That is why today DARPA announced it will launch an ambitious four-year research project to investigate the fundamental computational and algorithmic requirements necessary for software systems and data to remain robust and functional in excess of 100 years.

The Building Resource Adaptive Software Systems, or BRASS, program seeks to realize foundational advances in the design and implementation of long-lived that can dynamically adapt to changes in the resources they depend upon and environments in which they operate. Such advances will necessitate the development of new linguistic abstractions, formal methods, and resource-aware program analyses to discover and specify program transformations, as well as systems designed to monitor changes in the surrounding digital ecosystem. The program is expected to lead to significant improvements in software resilience, reliability and maintainability.

"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 behavior 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 outdated."

Current applications execute on a software stack comprising many different layers of abstraction, providing various services and structures. Access to these layers is mediated through different kinds of interfaces, all typically specified as secondary documentation supplied along with the . Because this documentation is typically defined informally, it provides only a partial, incomplete understanding of the system as a whole and requires substantial manual effort and reasoning.

"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."

The premise on which BRASS operates is that an entirely new clean-slate approach to software design, composition and adaptation is required. This approach aims to enable the expression and discovery of new kinds of specifications, program analyses and formal methods that precisely capture the relationship between computations and the resources they use, and algorithmic transformations that enable applications to adapt to changes without the need for extensive programmer involvement.

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 optimized for different sets of resources and expose opportunities for cost reduction.

Explore further: MUSE envisions mining "big code" to improve software reliability and construction

More information: For more information about BRASS, please refer to the Broad Agency Announcement at: 1.usa.gov/1almvsw

Related Stories

Locking down the cloud

November 8, 2013

A software re-encryption system could allow users to pay for and run applications "in the cloud" without revealing their identity to the cloud host. The same approach would also allow the software providers to lock out malicious ...

Games help improve software security

December 5, 2013

Ever more sophisticated cyber attacks exploit software vulnerabilities in the Commercial Off-the-Shelf (COTS) IT systems and applications upon which military, government and commercial organizations rely. The most rigorous ...

Self-repairing software tackles malware

November 13, 2014

University of Utah computer scientists have developed software that not only detects and eradicates never-before-seen viruses and other malware, but also automatically repairs damage caused by them. The software then prevents ...

Recommended for you

Under-fire Apple removes 25,000 apps in China

August 20, 2018

Apple said Monday it had removed many gambling-related apps from its Chinese app store as the US giant comes under scrutiny amid trade tensions between Beijing and Washington.

Robots as tools and partners in rehabilitation

August 17, 2018

In future decades, the need for effective strategies for medical rehabilitation will increase significantly, because patients' rate of survival after diseases with severe functional deficits, such as a stroke, will increase. ...


Adjust slider to filter visible comments by rank

Display comments: newest first

1 / 5 (2) Apr 09, 2015
Their time might be better spent in developing a computer system that is completely hack proof. And don't tell me it's impossible, it isn't.
not rated yet Apr 09, 2015
The motivation is questionable. DARPA just needs a compiler. The compiler needs to parse, compile and execute software like this:
enable the expression and discovery of new kinds of specifications, program analyses and formal methods that precisely capture the relationship between computations and the resources they use, and algorithmic transformations that enable applications to adapt to changes without the need for extensive programmer involvement
not rated yet Apr 10, 2015
@ Moebius- Any system that can read and evaluate itself and relay that information usefully is intrinsically vulnerable. there is no way to reduce the alterability of a system to a point where it can not be obfuscated or re-directed, to the ends of a 2ndary user. The point of complete turing machines is to allow them to do ANYTHING.

@DARPA, I'm sure your internal guys have told you this. but your efforts will be futile. in the short and long run. the problem isn't that the systems weren't created with these express intents, because for unix/windows, they were. Each of these systems were designed on almost all of these core values, Based on the physical hardware's potential when it was created (an on predictions based on those capabilities).

Go ahead, spend whatever you want on developing a software system. Then spintronics computers come online in a real way and it becomes useless. quantum processing changes the game significantly, as well as zero-latency auditing etc
not rated yet Apr 10, 2015
This is a very layman-style argument. Who ever came up with this abstract is not a computer programmer, or a hardware engineer. To imagine that we'll still be using the same software systems (same optimization potentials, same input strategies and the same Gating structures) is absurd. as your hardware gets better, your ability and propencity of Real-Time optimizations changes drastically. when you remove abstraction layers you seriously reduce your ability to secure your own systems, and audit their activities, and provide error/redundancy protection.
I'd consider the likelyhood that they're attempting to create a proprietary software layering system to further abstract themselves away from outside influence to be considerably higher than that they're attempting to create an eternally upgradable system.
they'd be much better off trying to standardize hardware and component interfaces

Please sign in to add a comment. Registration is free, and takes less than a minute. Read more

Click here to reset your password.
Sign in to get notified via email when new comments are made.