by Jacob
“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 application program interface. 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.
See also