2021 Year in Review
A Vision and Roadmap for Software Engineering Research and Development
Software systems continue to grow and extend their reach, delivering an expansive array of new capabilities in environments as familiar as our homes and as exotic as outer space. They are rapidly becoming more interconnected, are increasingly utilizing artificial intelligence (AI), must be considerably more resilient, and must be updated almost continuously. Software systems constitute a vital component of our national competitiveness and national security.
Software weaknesses reflect the inadequate state of the art and practice of software engineering, and systems are growing in size, complexity, and ubiquity. Significant investment in software engineering research and development is needed now to develop the foundations and tool support for a reconceived notion of the software engineering development lifecycle for continuously assuring rapidly evolving Department of Defense (DoD) systems.
To scout the future of this ever-more-complex field, the SEI led a major study producing a multiyear research and development roadmap for engineering next-generation software-reliant systems, and it recently published its results in the book Architecting the Future of Software Engineering: A National Agenda for Software Engineering Research & Development.
“To guide this work, we leveraged our relationships across the public and private sectors,” said Anita Carleton, director of the SEI’s Software Solutions Division and study lead. “We formed an advisory board comprising visionaries and thought leaders in industry, academia, research labs, the DoD, and technology companies.”
Carleton said they imagined future development of software-intensive systems less as a manual refining of specifications and code and more as a technical conversation between humans and computers. “The guiding vision we articulated replaces the current notion of the software development pipeline with one where humans and AI are trustworthy collaborators that rapidly evolve systems based on programmer intent,” said Carleton. “People and computers will each do what they do best.”
“To achieve this vision, the field of software engineering needs new development and architectural paradigms, founded on new areas of research mapped out in our study.” The research roadmap includes six focus areas:
- AI-Augmented Software Development: Re-envision the entire software development process with increased AI and automation tool support for developers.
- Assuring Continuously Evolving Software Systems: Develop a theory and practice of rapid and assured software evolution that enables efficient and bounded re-assurance of continuously evolving systems.
- Software Construction through Compositional Correctness: Create methods and tools that enable the specification and enforcement of composition rules that allow the creation and assurance of required behaviors.
- Engineering AI-Enabled Software Systems: Explore which existing software engineering practices can reliably support the development of AI systems and identify and augment software engineering techniques for the development and sustainment of systems with AI components.
- Engineering Societal-Scale Software Systems: Leverage insights from the social sciences to build and evolve societal-scale software systems that consider qualities such as bias and influence.
- Engineering Quantum Computing Software Systems: Enable easier and more reliable programming of current quantum computers, then enable increasing abstraction as larger, fully fault-tolerant quantum computing systems become available.
The guiding vision we articulated replaces the current notion of the software development pipeline with one where humans and AI are trustworthy collaborators that rapidly evolve systems based on programmer intent.Anita Carleton
Director, SEI Software Solutions Division
“In Architecting the Future of Software Engineering, we have articulated a set of recommendations, an analysis of the current state of the practice, emerging trends and technologies, and a set of research focus areas and milestones spanning the next 10-to-15-year period,” said Carleton. “We encourage practitioners and leaders in the field to download a copy of the book and consider how you or your organization can help advance and evolve these research areas of software engineering in the coming years.”
To download a copy of Architecting the Future of Software Engineering: A National Agenda for Software Engineering Research & Development, visit sei.cmu.edu/go/nationalagenda.