Panel:
The Future of Software Engineering Beyond the Hype of AI
May 1, 2025 (14H00 - 15H30, Canada Hall 1)
The first ICSE was held in Washington DC in September 1975. That year also saw the publication of "The Mythical Man Month," Fred Brooks's insightful collection of essays on software. Our global thirst for knowledge-on-the-go is supported by innovative web, mobile, networking, plus cloud-based applications, enabled by faster and more capable hardware. Software innovation faces challenges that include risks from nefarious actors and hidden defects. Innovations such as the integration of AI technology take time to learn and adopt. How can we best keep up? What have we discovered through research and practice? What might the future hold as we learn and collaborate to develop new software applications that are usable, economical, sustainable, resilient, and trustworthy? Join us for a 50th anniversary ICSE panel to discuss and learn what is required to meet the challenges of today and tomorrow.
Panel Organization
- Panel organizer and moderator: Steven Fraser, Innoxec (USA/Canada)
- Panel raconteur and co-facilitator: Dennis Mancl, MSWX Software Experts (USA)
Panelists:
- Tom DeMarco,
The Atlantic Systems Guild (USA)
- Maria Klawe,
Math for America (USA)
- Bertrand Meyer,
Constructor Institute of Technology (Switzerland)
- Adriana Meza Soria,
MIT - IBM Watson AI Lab (Mexico/USA)
- Mary Shaw,
Carnegie Mellon University (USA)
- Laurie Williams, North Carolina State University (USA)
Panelist Bios and Position Statements:
Tom DeMarco
Tom DeMarco is an American software engineer, author, and consultant on software engineering practices. He was an early developer of structured analysis. Tom contributed to the development of ESS-1, the first large scale Electronic Switching System developed by Bell Labs. Tom is a recipient of the Warnier Prize for "lifetime contribution to the field of computing," and a recipient of the Stevens Award for "contribution to the methods of software development." Tom received a BSEE degree in Electrical Engineering from Cornell University, a MSc from Columbia University, and a diplôme from the University of Paris. He is a member of the ACM and a Fellow of the IEEE.
Position: The work of software engineering is important, vital to the success and prosperity of ... blah, blah, blah. Right. It's also amusing. It can be deeply satisfying to create a product that is elegant and perfectly suited to purpose, and our notions of elegance and perfect fit are constantly being improved and enhanced. Software development can be a vehicle for gaining peer esteem. And the social pleasures of teamwork, of joint creation, are icing on the cake. If you think this talk of pleasure and satisfaction is frivolous in the deeply serious world of work, think again. Without it, the work we do is just turning tricks. That is not a recipe for success of the individual, his or her employer, or any project they might take on. Whatever direction software engineering takes in its next half century, it will succeed only to the extent that the deep needs that define us as human are cultivated and respected.
Maria Klawe
Maria Klawe joined Math for America as president in late 2023 after a 17-year term as Harvey Mudd College's fifth president. Previously, she served as dean of engineering and professor of computer science at Princeton University. Maria joined Princeton from the University of British Columbia where she served in various roles from 1988 to 2002. Before her time at UBC, Maria spent eight years with IBM Research in California and two years at the University of Toronto. Maria received her PhD and BSc in mathematics from the University of Alberta. Klawe is a member of the boards of Phenome Health and the nonprofits, Museum of Mathematics (MoMath), and the Institute for Computational and Experimental Research in Mathematics. She has also served as a founding advisory board member of Parity.org, a fellow for the American Academy of Arts & Sciences, and is a trustee for the Simons Laufer Mathematical Sciences Institute.
Position: My focus is on how the importance of software engineering and more recently AI has impacted education from K-12 to postsecondary levels. As software engineering has impacted every sector in our society, the need for people who understand computer science has grown exponentially. At least initially, the arrival of AI amplifies this need. It will be interesting to see how this evolves over the next decade.
Bertrand Meyer
Bertrand Meyer is a French academic, author, and consultant in the field of computer languages. He created the Eiffel programming language and the concept of design by contract. Bertrand pursues the ideal of simple, elegant and user-friendly computer languages and is one of the earliest and most vocal proponents of object-oriented programming (OOP). His book Object-Oriented Software Construction, translated into 15 languages, is one of the earliest and most comprehensive works presenting the case for OOP. He is currently Professor of Software Engineering and Provost at Constructor Institute of Technology (previously Schaffhausen Institute of Technology (SIT)), a new research university in Schaffhausen, Switzerland.
Bertrand received a master's degree in engineering from the École Polytechnique in Paris, a second master's degree from Stanford University, and a PhD from the Université de Nancy. He had a technical and managerial career for nine years at Électricité de France, and for three years was on faculty at the University of California, Santa Barbara. Bertrand was professor and Chair of Software Engineering at ETH Zürich, where he pursued research on building trusted components with a guaranteed level of quality. Bertrand has been awarded the Dahl-Nygaard Prize, the IEEE Computer Society Harlan D. Mills Award, and an ACM Software System Award.
Position: The fundamental problems of software engineering remain those identified early on: correctness, extendibility, reusability. They are only magnified by the scale of today's ambitions for systems. Like other technical advances before it, modern statistics-based AI provide welcome help towards addressing them. The key underlying challenges, however, remain.
Along with piecemeal advances I have been trying to develop a comprehensive approach involving systematic requirements engineering, correctness by construction (through "Design by Contract"), a supporting notation to accompany a seamless development process, and advanced development tools. I will point out where this work agrees with the contributions of the other panelists and where we part.
Adriana Meza Soria
Adriana Meza Soria is a research engineer at the MIT-IBM AI Watson Laboratory, where she is a key member of the AI Models Engineering team responsible for developing Granite, IBM's family of Large Language Models for language and code. These models power AI-driven features embedded in popular IBM products, including the IBM Z platform, WatsonX Code Assistant, and SWE-Agent 1.0.
At the intersection of Software Engineering and Generative AI, Adriana's research focuses on creating high-quality synthetic data for tasks such as code generation, software design, and tool use. Her work aims to enhance the effectiveness of LLM and Agent-driven solutions across various domains, with a particular emphasis on software engineering practices, especially in the contexts of software meetings and design.
Adriana's academic journey began in Mexico, where she earned a BSc in Computational Systems Engineering and a Master's in Engineering. She later pursued a PhD in Software Engineering at the University of California, Irvine (UCI), where she graduated in 2022. During her time at UCI, Adriana was committed to supporting other talented individuals from Mexico pursuing research opportunities. In recognition of her service, she was honored with the Latino Excellence and Achievement Award in 2021 and became the first recipient of the Rosalva Gallardo Valencia Graduate Award in 2019.
Position: The integration of Generative AI tools into software development workflows has sparked a diverse range of opinions within the software engineering community. Although the primary goal is to enhance productivity, many express concerns that this advancement may inadvertently lead to a significant reduction - or even the eventual elimination - of programming jobs in the future.
Throughout history, software engineering practice has evolved significantly, from coding in low-level assembly languages to leveraging high-level languages. Development tools have also evolved - from basic text editors to advanced integrated development environments (IDEs) tailored to the needs of software developers. Furthermore, new and more practical methodologies have appeared, moving from the rigid waterfall model to Agile development approaches. New paradigms, tools, and methodologies have introduced higher levels of abstraction to our field, enabling developers to focus on defining what needs to be built while delegating complex implementation details to technology. Generative AI, in particular, has the potential to drive this transformation further, envisioning a future where software engineers play a different but equally vital role in the development process.
For this transformation to benefit our field, software engineering research is essential. Regarding programming and DevOps tools, for instance, AI integration currently follows two paths. One path centers on enhancing widely adopted development tools like IDEs and code repositories with AI-driven features and assistants. Integration of AI into the tools that developers use daily is crucial for ensuring a smooth transition to an AI-assisted development era. The other path, however, explores the design of innovative tools that fundamentally redefine the development experience, such as AI software agents or declarative prompting languages. Even though these tools are still in an exploratory phase, I foresee that AI software agents will be valuable to speed up software maintenance tasks, to support newcomers completing complex tasks, or to enable users with a non-computer-science background to become programmers. We do not need to choose one path over the other as both are useful resources for improving developers' practices.
Beyond programming tasks, software engineering research should explore AI's potential to support broader activities, such as project management, system design, or documentation. LLMs currently excel at coding tasks because they can draw on abundant publicly available code data. However, the application of LLMs to other activities has not been explored as extensively, primarily because the outcome of non-programming development activities is often not properly captured. Addressing these gaps could unlock unprecedented advancements across all stages of the software engineering lifecycle, driving meaningful progress in the field while keeping software engineers involved.
Landon Noll
Landon Curt Noll is an astronomer and lifelong computer enthusiast. Landon began his journey with computers in 1964 at the tender age of four, climbing step ladders to mount magnetic tapes for use on an IBM 360 model 30. By 1974, Landon had become an early telecommuter using ARPANET. He explored the world of computational mathematics by utilizing the Macsyma software on a MULTICS system at MIT. In 1978, Landon co-discovered what was then the largest known prime number using a network-connected CDC Cyber 174. Landon has held or co-held eight world records relating to the discovery of large prime numbers.
Landon has contributed to significant advances in planetary science, computer science, cryptography, and computational number theory. He has conducted astronomical observations during total solar eclipses worldwide and has led meteorite search expeditions near the South Pole. He co-founded the 40-year-old International Obfuscated C Code Contest, the longest-running contest on the Internet. He is also known as the "N" in the widely used FNV (Fowler-Noll-Vo) hash. His UNIX experience contributed to the development of IEEE 1003 (POSIX). Landon participated in the development of the IEEE 1619 cryptographic protection standard, and he co-authored the Cryptologica paper on the security of Ciphertext Stealing in XTS-AES.
He retired from Cisco as a Security Architect and Resident Astronomer in 2020. Prior to Cisco, he held roles at SGI, Amdahl, National Semiconductor, and the US Government. Landon earned BA degrees in Mathematics and Physics from Linfield College and is a member of the American Mathematical Society and an associate of the American Astronomical Society.
Position: Software engineering faces challenges due to a lack of broadly applied best practices that ensure rigor, accountability, and certification. Unlike practitioners in other professional fields (health, law, building architecture, aerospace design), almost anyone can call themselves a "software engineer" without consequences. Software product licenses often renounce responsibility for a product's "fitness of purpose" and "damages caused." Many software engineers lack engineering training, and while engineering is a discipline that complements science, engineers are not necessarily scientists. Some so-called software engineers claim computer science knowledge but lack understanding of the scientific method. New computer science innovations are often underutilized in software development.
Software and hardware development are influenced by hype cycles, multi-year periods where a new idea dominates due to marketing, investment, and press coverage. The "idea of the day" is chosen for popularity, not suitability. Examples include structured programming, object-oriented design, agile methodology, big data, RISC architecture, quantum computing, machine learning, and AI. While each of these areas has great value, their hype cycles led to unrealistic claims, massive developer influx, and a surge in self-proclaimed experts. When the next hype cycle arrives, the previous idea collapses, attention shifts, funding dries up, and progress slows down.
To improve software development, we must elevate software engineering to the level of other professional engineering disciplines. We should fund computer science R&D beyond the hype cycle to ensure that software and hardware better benefits humanity.
Mary Shaw
Mary Shaw is the Alan J. Perlis Professor of Computer Science in SCS at Carnegie Mellon. She has been on the CMU faculty since earning her PhD in Computer Science at CMU. She has made fundamental contributions to an engineering discipline for software through developing data abstraction with verification, establishing software architecture as a major branch of software engineering, designing influential and innovative curricula in software engineering and computer science supported by two influential textbooks, and helping to found the Software Engineering Institute at Carnegie Mellon. Her current research focuses on software design.
Mary is the recipient of the United States National Medal of Technology and Innovation, the nation's highest honor for technological achievement. She has also received the IEEE TCSE Lifetime Achievement Award, the Stibitz Computer Pioneer Award, and the ACM SIGSOFT Outstanding Research Award, as well as the IEEE TCSE Distinguished Educator and Distinguished Women in Software Engineering Awards. She is a Fellow of the ACM, the IEEE, and the American Association for the Advancement of Science. Mary has a PhD in Computer Science from CMU and a BA in Mathematics from Rice University.
Position: The past year has seen regular cries of anguish about how artificial intelligence (AI), meaning generative AI (genAI), will make software engineering irrelevant or obsolete and eliminate vast numbers of programming jobs. To the contrary, software engineering (SE) is alive and well. It is a rich and robust engineering discipline that addresses all aspects of software; it is not simply programming, or implementing given specifications, or project management.
For over half a century AI has been an incubator for new software techniques; AI gives these techniques, sometimes disruptively, to SE, and SE forgets where they came from. These have included programming constructs such as linked lists and functional programming; design approaches such as exploratory programming, and conceptual shifts such as going from computation over numbers to symbolic programming. Generative AI is another disruptive new idea. It is fundamentally statistical rather than algorithmic. It involves collection and curation of massive datasets, and it has other properties that raise concerns such as opacity, nondeterminism, poor specifications, and unreliability. However, SE has seen software with these properties before - not in quite the same form, but in a close enough form to have robust techniques and theories. SE can evolve to deal with new generative AI subsystems. AI can continue contributing to SE.
Generative AI may raise the level of abstraction in programming, not to eliminate programming but to make each line of code accomplish more. I foresee new software architectures to integrate genAI components and AI development tools, especially to support vernacular programmers. However, I foresee less impact on engineering decisions and high-level design, which involve too much tacit knowledge (which is therefore not accessible for model training), and too much subtle context and engineering judgment. In all of this, genAI can make recommendations, but careful human oversight will still be required for now.
Gen AI may also finally force SE to address a question that we have been avoiding: What should we really mean by "correctness" of software? Our mindset about correctness dates back to Turing and the concept of symbolic verification that an implementation matches its specification. However, in practice, a specification rarely captures all properties of interest, a full formal specification is rarely available anyhow, and the software is built on top of unverified components. Perhaps genAI, which requires essentially probabilistic rather than symbolic reasoning, will finally force us to find a better model for correctness. This line of argument is elaborated in the essay: tl;dr: Chill, y'all: AI Will Not Devour SE. (Onward! Essays at SPLASH 2024, pp. 303-315).
Laurie Williams
Laurie Williams is the Goodnight Distinguished University Professor of Security Sciences in the Computer Science Department of the College of Engineering at North Carolina State University (NCSU). Laurie is the director of the National Science Foundation-sponsored Secure Software Supply Chain Center (S3C2), and co-director of the NSA-sponsored North Carolina Partnership for Cybersecurity Excellence (NC-PaCE) and the NCSU Secure Computing Institute. She was the co-director of the National Security Agency (NSA)-sponsored Science of Security Lablet at NCSU from 2011-2023. Laurie is an IEEE Fellow and an ACM Fellow. Laurie's research focuses on software security, software processes, and empirical software engineering.
Position: In modern software engineering, up to 80% of a typical software product comes from the open-source software supply chain. Software organizations did not anticipate how the software supply chain could become a deliberate attack vector. The software industry used to worry only about passive adversaries who might find and exploit vulnerabilities in open-source libraries. Although communication libraries such as log4j were made available through open-source by well-intentioned developers, developers soon learned that they contained some security weaknesses. But now the industry needs to defend against a new generation of software supply chain attacks, where attackers aggressively implant vulnerabilities directly into module dependencies (e.g., the 2022 protestware attack in the node-ipc module of Node.JS). Adversaries also find their way into the build and deployment process to deploy rogue software, such as occurred with the 2024 SolarWinds attack. Once implanted, these vulnerabilities become an efficient attack vector for adversaries to gain leverage at scale by exploiting the software supply chain. The future of software engineering should include establishing practices to restore trust in the software supply chain and developing secure software products with open-source components.
What potential does GenAI have for software engineering? Software engineering theory says we should spend at least as much time validating and verifying systems as designing and developing them. In reality, systems are often designed and developed and then rapidly deployed without much validation and verification. If GenAI can speed up the implementation of code, albeit with code we can't blindly trust, will we spend the "saved" time actually validating and verifying the code - including the removal of vulnerabilities?
Panel Organization:
Steven Fraser (Panel impresario and moderator)
Steven Fraser is an independent researcher and consultant for Innoxec based in Silicon Valley, California. He advises companies, universities, and government agencies on strategies and practices to catalyze partnerships that accelerate product R&D through collaboration, networking, and open innovation. Previously, Steve led HP's Global University Programs, served as the Director of the Cisco Research Center, led Qualcomm's technical learning programs, served as a Visiting Scientist at CMU's Software Engineering Institute, and was the California-based Senior Manager for BNR/Nortel's Global External Research and Disruptive Technologies Team. As an expert on tech transfer, company-university collaboration, and software best practices, Steve leverages his corporate experience to advise corporate, university, and government clients. As a conference and panel impresario, Steve has organized over 100 interactive panels, workshops, and forums for the ACM, IEEE, Agile Alliance, HP, Cisco, Qualcomm, and Nortel to foster collaboration and community learning. Steve received a PhD in Electrical (Software) Engineering from McGill University (Montréal), a MSc in Engineering Physics (Queen's at Kingston), and a BSc in Physics and Computer Science (McGill University). Steve is a Senior Member of both the ACM and the IEEE and was recognized as an IEEE Computer Society Distinguished Contributor in 2021. Beginning with his work in software reuse in the late 1980s, Steve believes that the best software should be the software you don't need to write. To this end, collaboration, communication, and coordination are key - whether catalyzing the escape of innovations from the lab or delivering resilient and trustworthy software in the service of humanity.
Dennis Mancl (Panel raconteur and co-facilitator)
Dennis Mancl is a retired software developer and coach with decades of Bell Labs experience in software practices. Dennis is most interested in the soft issues of software engineering: teamwork, collaboration, design brainstorming, refactoring, diverse teams, critical thinking skills, and continuing education. Dennis is always open to learning new things about software principles and practices. He continues to be an active presenter at international conferences, with a special interest in organizing and reporting on conference panel discussions. Dennis believes that the future of software engineering will be a set of technologies and practices that will drive us to develop less and less code. If we do it right, that lower volume of code will be faster, more resilient, and better quality.