Software that self-updates to work on new platforms could find uses beyond military applications.
How often do you update the apps on your phone or desktop? While it should be fairly often, Raytheon BBN Technologies and the Defense Advanced Research Projects Agency (DARPA) are working to make updating apps a thing of the past.
It began when DARPA initiated the Building Resource Adaptive Software Systems (BRASS) program, seeking to realize and implement long-lived software systems that are capable of dynamically adapting to changes in the resources they depend on and environments in which they operate. This could make them essentially “immortal” since the software will continue to work without updates, software hacks or emulation as new digital platforms are released.
More recently, Raytheon was announced as leading the team developing the methods and technology that will allow for this future software to operate.
“Mobile apps are pervasive in the military, but frequent operating system upgrades, new devices and changing missions and environments require manual software engineering that is expensive and causes unacceptable delays,” said Partha Pal, principal scientist at Raytheon BBN.
“We are developing techniques to eliminate these interruptions by identifying the way these changes affect application functionality and modifying the software.” he added.
Raytheon’s team, including members from Securboration, Inc., Oregon State University, Vanderbilt University and Syracuse University has outlined three steps to achieve their goal:
- Develop a set of static and dynamic discovery techniques to identify the ways in which changes in the application’s ecosystem can affect the software’s functionality;
- Develop a set of transformation technologies that modify the software as needed to adapt to these changes;
- Create a software framework to demonstrate and evaluate software evolution in response to ecosystem changes.
Although this will be important for the military, where mobile applications are common, it also has obvious applications for civilians. In fact, anyone who uses software could potentially benefit from the technology.
While it remains to be seen how the developments will work across multiple software and hardware platforms, or whether it would require a proprietary operating system to handle the potential changes, not having to update certain pieces of software could save many headaches for engineers and consumers alike.
For a very different approach to improving software, read about adding bugs to make software better.