In as little as 10 to 15 years, software engineering may look more like a technical conversation between humans and computers than a process of manually refining specifications and code, and the software ecosystem must prepare for that future. That is just one of the conclusions of a new study titled Architecting the Future of Software Engineering: A National Agenda for Software Engineering Research & Development that was released today by the Software Engineering Institute at Carnegie Mellon University.
For this study, the SEI engaged the software engineering community and assembled an advisory board of senior thought leaders across commercial industry, academia, and government, with participation from Microsoft, Google, SpaceX, Lockheed Martin, Boeing, DARPA, and others. The board was chaired by Deb Frincke, associate laboratory director for national security sciences, Oak Ridge National Laboratory. With their input, the study team worked to create the multi-year research and development vision and roadmap for engineering next-generation software-reliant systems.
In her foreword to the study, Under Secretary of Defense for Research and Engineering Heidi Shyu wrote, “Software is an essential, if not the central, part of every Department of Defense (DoD) system. Our hardware has become increasingly programmable, and software has become ubiquitous. Therefore, software engineering is a critical enabler for everything that we do in the DoD. … Consequently, this software engineering technology roadmap is a guide for our research and investment strategy that is vital for our national security.…The DoD will continue to look to the Carnegie Mellon University Software Engineering Institute as a leader in improving the state of the art and practice in software engineering.”
This study addresses the following questions:
How will software systems of the future be rapidly developed, assured, analyzed, and deployed?
What major open problems and grand challenges are important?
What software engineering research is needed to invent solutions for these challenges?
How can we incentivize strategic partnerships and collaborations among government, academia, and industry?
“As software-enabled systems and applications become integral to every sector of our economy, this is a critical time to re-envision the future of software engineering, and I am pleased that CMU’s SEI is working with its partners to define this paradigm shift. With breathtaking advances in artificial intelligence and machine learning, we can create the next generation of societal and global software platforms, ones that are trustworthy, reliable, safe, and secure,” said Carnegie Mellon University President Farnam Jahanian.
The study identifies areas of research that are critical for enabling future systems, provides a roadmap to guide the research efforts of the software engineering community, and makes a call to action for continual investment in software engineering research to achieve the vision described by the research roadmap.
“Software-reliant systems must be architected to be more evolutionary, not static—they will undergo continuous updates and improvements,” said Paul Nielsen, director and CEO, Software Engineering Institute. “Software for our critical infrastructure sectors will be rapidly developed and deployed, increasingly modular and composed from trustworthy elements, and even more user focused than in the past. This is why it is so important to create a national agenda for software engineering to identify which technologies and area of research are most critical for enabling our future.”
Although advances in software have emerged incrementally and organically from many sectors and enabled advances that were unimaginable 20 years ago, they do not provide the levels of capability, safety, quality, and evolvability that future systems will require. While sound research in software engineering is being carried out, a focused effort, continual investment, and improvement in critical software engineering technologies are needed; otherwise, assured, next-generation applications may simply not be possible.
“We imagine a future where humans and computers are trustworthy collaborators. They work together to rapidly deliver desired capability, as people become more adept at expressing intent in a way that enables the computer to learn from experience,” said Anita Carleton, lead author and director of the Software Solutions Division at the SEI. “These software-intensive systems will require the software engineering community to create new approaches for development and architecture that not only address size and complexity but also enable the predictable use of new computational models like AI and quantum components.”