Envisioning the Future of Software Engineering

Forrest Shull, Carnegie Mellon, Software Engineering Institute; 2021 IEEE President

The world’s dependence on software became very visible earlier this year when millions suddenly joined the ranks of remote workers as companies closed their doors in reaction to Covid 19. Software gained the spotlight as many scrambled to determine what could and could not be done virtually, yet our reliance on software has been deeply rooted—and growing at an increasingly rapid rate—for many years. Today, software is clearly ubiquitous—improving our lives every day, driving efficiency and productivity, increasing competitiveness and innovation, providing new jobs and upward mobility for millions of people, and is vital to implementing aspects of national security.

Although software has been compared to electricity in terms of our dependence, it’s a more difficult commodity to understand. It’s extremely flexible, endlessly varied, never completely done, and it controls diverse and intertwined functions in ways that few fully understand. And, as computing and software technologies advance, our dependence on the critical nature of software also increases for individuals, organizations, markets, and governments.

While much of the focus in the software engineering and research communities has continued to revolve around specific topics or innovations, there’s also value in looking further ahead. Recently, we conducted a larger initiative to look at the wider discipline of software engineering and envision the future we can create – and what we need to do to prepare for that future. While we know software can deliver more and more capabilities, we need to step back and ask: can it do so safely? Are the software-reliant systems we’re creating evolvable? Reliable? Timely? Secure? Meanwhile, new system types and software innovations, such as those driven by artificial intelligence, are adding new dimensions of both opportunity and risk as we begin to entrust software with life and death decisions.

As the United States’ Federally Funded Research and Development Center focused on improving the practice of software engineering, the Carnegie Mellon University Software Engineering Institute is working to develop a broad, impact-oriented national agenda for software engineering research and development. Developing this agenda has been a community effort with participation from a broad coalition of thought leaders in industry, academia, and government.

In this talk, I will share some of our current results in terms of future challenges in engineering software-reliant systems, and key components of a research roadmap that will drive advances in foundational software engineering principles across system types such as intelligent, autonomous, safety-critical, and data-intensive systems. With our collaborators, we have also been working to articulate grand challenge problems that can be used to focus research efforts and provide confidence that progress is being made to meet important future needs. Our aim is for this work to aid the development of an ecosystem for software engineering that engages academic, government, and commercial communities to work together on solving future problems and developing critical abilities.

Bio: Dr. Forrest Shull is Lead for Defense Software Acquisition Policy Research at Carnegie Mellon University’s Software Engineering Institute. He has been lead researcher on projects for the U.S. DoD, NASA, the National Science Foundation, and commercial companies. He is the 2021 President of the IEEE Computer Society.