
Richard P. Gabriel's Patterns of Software: Tales from the Software Community is the kind of book that Passages, as a column, aspires to bring back to the attention of the software community. I am fairly sure this book, from 1996, is largely forgotten, but I think it deserves a wide audience, to this day, because it has things to say that we still need to hear, and it says them well. It's not as obscure as some ''lost'' software books: it remains available in Kindle format, and is easily obtained (though it seems to be technically out of print) in hardback or softcover formats. However, the most recent review on Amazon is from April 2016, more than ten years ago, and I had never heard of the book until recently, when I was probing more deeply into the influence of Christopher Alexander's views on architecture on software engineering, trying to go beyond just ''everyone has read Design Patterns and knows about the visitor pattern, even people who don't care that much specifically about OO, like myself.''
It is with great sadness that I start out this article by acknowledging the passing of the first editor of SIGSOFT Software Engineering Notes, Peter Neumann. In his honor, what follows is the last Letter from the Editor that Peter wrote for the October 1993 issue of ACM Software Engineering Notes (vol 18 no 4) (FWIW, I left in the spelling errors, since spell check wasn't around for LaTex in 1993.) This is followed by the first issue of SEN that I edited.
Software profoundly influences how we live and work, often reflecting human behavior and societal values. Consequently, software-intensive systems and software engineering technologies must be developed and deployed responsibly to avoid harming users, society, or the environment. This raises questions about what constitutes the responsible development and use of technology, including which human values and which social and environmental norms are embedded in software engineering practices and products. With the increased incorporation of AI in software-intensive systems, software engineers are confronted with even more ethical and moral choices to incorporate into these processes and products. To address these responsibility issues, the workshop hosted a half-day event featuring themed presentation tracks, interactive discussions, and a stimulating concluding panel. The workshop comprised research papers (visionary, exploratory, empirical, and solution-oriented) and industrial papers (lessons learned and challenges) published in the ACM workshop proceedings.
In this paper, we report on the outcomes of the Eighth Workshop on Modeling and Simulation of Software-Intensive Systems (MSSiS 2026), held in conjunction with the 48th International Conference on Software Engineering (ICSE 2026), in Rio de Janeiro, Brazil, on April 12th 2026. The workshop focused on the role of modeling and simulation in the engineering of next-generation software-intensive systems, and in particular, cyber-physical systems, including digital twins and AI-enabled environments.
BRIDGES 2026, the third edition of BRIdging the Divides with Globally Engineered Software that incorporated a Summer School, was held from January 9 to 11, 2026, at Loloata Island Resort near Port Moresby, Papua New Guinea (PNG). The school brought together students, local professionals, organizers, international speakers, and industry partners to explore innovative prototyping through AI-powered technologies and open source software. The event combined keynote talks, GitHub and AI tooling tutorials, a student hackathon, prototype presentations, and discussions about sustaining a local software engineering ecosystem. Overall, BRIDGES 2026 welcomed and supported 21 students and produced three open source prototypes addressing problems in the Papua New Guinean context. Website: https://bridges-png.github.io/.
Peter Gabriel Neumann-known throughout the field as PGN-died on May 17, 2026, aged 93, from complications of a traumatic fall. For seven decades, he chronicled how computer systems fail and patiently advocated for the principles that make them fail less often. Neumann was born on Sept. 21, 1932, in New York City. He entered Harvard University in 1952 as a math major and took three Harvard degrees: an A.B. in mathematics (1954), and an S.M. (1955) and Ph.D. (1961) in applied mathematics. A Fulbright fellowship took him to Germany's Technische Hochschule Darmstadt for a second doctorate, a Dr. rerum naturarum (1960). As an undergraduate, he took several graduate courses in computer-related topics, including Howard Aiken's 1953 architecture course, and that summer, he programmed punch cards at the Naval Ordnance Laboratory. He dated his career as a computing professional to that year.
Over the past three decades, automation has become a fundamental aspect of software development. Teams increasingly aim to automate activities across the entire development lifecycle, from requirements specification, to system maintenance. This move towards automation has been crucial for reducing development time and costs while embedding quality into every phase of the development process. The Workshop on Automated and verifiable Software sYstem DEvelopment (ASYDE) provided a forum to share and discuss innovative contributions to research and practice related to novel software engineering approaches to automated and verifiable development of software systems. The 7th edition of ASYDE took place on November 16th, 2025, co-located with the 40th IEEE/ACM International Conference on Automated Software Engineering (ASE) in Seoul, South Korea.
The first edition of the Winter School on AI-Infused Software Engineering - Research and Practice (AISE 2026) was held from 7-10 January 2026 at Dhirubhai Ambani University (formerly DAIICT), India. As a co-located event of AISE 2026, a collaborative Hackathon titled ''InnovAItion – Shaping Future Innovations''was held from 9th to 11th January 2026 at Dhirubhai Ambani University (formerly DA-IICT), India, specifically for undergraduate and graduate students. In this report, we present the details of the school program, outcomes, and learning. The school brought together graduate students, research scholars, faculty, and industry professionals to explore practical and research aspects of embedding AI into the Software Engineering (SE) life cycle. The school program combined lectures, tutorials, and hands-on sessions to promote skills, research collaborations, and tool-building relevant to the SE practice. Early outcomes include evidence of learning gains in participants' ability to apply the knowledge in their research, teaching, and the development of AI-aware software artifacts. The school also raised participants' awareness of how to use AI for various software tasks and strengthened AI-for-SE research and teaching across the region.
''The low hanging fruit'' is not always the one worth cutting. Most of the time, it's the only thing we aim for just because we are too lazy or incapable of reaching out to what's deep and high. ''What is the low hanging fruit?'' is sometimes then a direction of ease rather than impact. When it comes to efficiency and speed of software delivery, I've always witnessed initiatives to cut QA. At the end of the day, QA is a visible stage in the software production process that has its volume and shape – the low hanging fruit so to speak. It's not software creation activity, it involves manual activity, and it has its own cycle of time other than development time. That's why when people think of what to optimize to achieve speed, they think of removing or shrinking QA. However, at the higher trenches of the software development tree more drastic inefficiencies that delay software delivery and kill its productivity. This article examines those inefficiencies for the sake of directing our attention to what we really need to solve to improve delivery speed. It turns out that it's not QA that we should attack the most. If we really want to be efficient, let's leave the ''low hanging fruit'' mentality and aim for what's high and deep – the real drivers behind software delivery inefficiency.
Donald Schön's The Reflective Practitioner is a guide to being a thoughtful, decent, fully human, philosophical software engineer. It does this by way of looking at the question of how professionals can examine their own practice and behavior, while practicing a profession. Case studies in architecture, psychology, systems science, materials science, town planning, and business management are used to explore this question and present the idea of a reflective practitioner, who thinks about action while acting. Let us pause a moment, for an epigraph: Epictetus: … Every man wishes his sons to be philosophers while they are young; but takes especial care, as they grow older, to teach them its insufficiency and unfitness for their intercourse with mankind. The paternal voice says: 'You must not be particular; you are about to have a profession to live by; follow those who have thriven the best in it.' Now, among these, whatever be the profession, canst thou point out to me one single philosopher? Seneca: Not just now; nor, upon reflection, do I think it feasible. - ''Epictetus and Seneca,'' Walter Savage Landor (from Imaginary Conversations) Schön's book was in my mind a great deal recently, in part because I actually read it for the first time, but mostly because it seemed to suddenly appear before me constantly. First, I encountered a mention of it in the course of some other reading that I cannot now recall, which brought me to acquire and start reading the book. Second, Mary Shaw, who I was interviewing for a forthcoming book of conversations with eminent scholars and innovators of software engineering, mentioned The Reflective Practitioner, and directed me to a particular part of the book concerning the distinction between solving and setting a problem. Next Daniel Jackson, interviewed in the same context, prompted by my mention of the book, made a comment to the effect that transforming students into reflective practitioners is what is required if we are to enable them to be effective collaborators with AI, rather than yet another category of weavers displaced by a new, and doubtless very different, Jacquard loom. Then, finally, I read the above passage in Landor's book of imaginary conversations between historical figures (one of the unique neglected classics of the nineteenth century, as rewarding, and as little read, as the work of Thomas Love Peacock).
To call attention to the upcoming 50th year celebration, I have gathered some bits of historical information and artifacts from past issues of SEN. Unfortunately, the ACM DL omitted a significant portion of SEN contents (e.g., only random samples of frontmatter) so this first column will be brief. Stay tuned for the next issue.
Information and communication technologies (ICT) are causing ever-growing energy consumption and carbon emissions. Software is at the center of ICT, from large-scale data centers to personal devices. Improving software energy efficiency is critical for reducing the energy footprint of ICT and contributing to sustainable development. As the main principle for developing and operating modern software systems, DevOps offers significant opportunities to improve software sustainability, as integration between development and operations enables continuous collection and analysis of energy consumption data, which can be used to optimize the energy efficiency of software and its deployment environment.
As automation becomes increasingly central to software engineering, the need for systems that can explain their behavior is urgent. The 1st International Workshop on Explainable Automated Software Engineering (Ex-ASE 2025) provided a venue to explore how explanations can be integrated into automated processes, from requirements to testing and deployment, to support transparency, accountability, and trust. This report summarizes the workshop's inaugural edition, featuring a keynote on Large Language Model (LLM) reasoning and technical papers addressing developer comprehension, AI testing, and high-stakes domains.
Alan Schwarz's The Numbers Game: Baseball's Lifelong Fascination with Statistics is this column's topic, but I'm going to postpone talking about it until I've digressed into a little, seemingly unrelated, software engineering history/biography.
The scientific peer review system has been slowly deteriorating over the last years, and not just within empirical software engineering (ESE) research. Increased submission numbers, high workload, and the rise of generative AI use with all its associated issues have made many cracks in the system more visible. To get a better understanding of the current state of peer review in the ESE community, we conducted a questionnaire survey, which accumulated 120 responses. We report on (i) the perceived review load of community members, (ii) review quality perception as well as frequent challenges for and issues with reviews, (iii) the use of LLM-based tools in the reviewing process, and (iv) the community's suggestions for improving the peer review system. We hope that these community opinions can facilitate more evidence-based discussions about how people want to see the review system change for the better.
In this paper we report the outcomes of the 1st and 2nd edition of the International Workshop on Gamification in Software Development, Verification, and Validation (Gamify 2022 and Gamify 2023) which were held as part of the 30th and 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2022, in Singapore, November 17, 2022 and ESEC/FSE 2023, online workshop, December 4, 2023).
Laurent Bossavit's The Leprechauns of Software Engineering: How Folklore Turns Into Fact and What to do About It begins with a bang: ''Early results were often criticized, but decades of research have now accumulated in support of the incontrovertible fact that bugs are caused by bug-producing leprechauns who live in Northern Ireland fairy rings. (Broom 1968, Falk 1972, Patlon-Spall 1981, Falk & Grimberg 1998, Demetrios 1995, Haviland 2001).'' You may not want to believe this claim (you know bugs are caused by boggarts, malicious hairy squat things that lurk in cave and marshland; leprechauns are mythical other than in that one episode of Bonanza); or, perhaps a more common reaction, you may instinctively find it appealing: so much that seems awry in software is now explained! In either case, you must acknowledge the lengthy support for the claim, founded in the scientific literature, in that mighty rolling chorus of citations.
William Goldbloom Bloch's The Unimaginable Mathematics of Borges' Library of Babel is not actually the book I originally intended to write about for this issue. I had never heard of this book (published in 2008; finalist for the 2008 American Association of American Publishers PROSE award in Mathematics) until about two weeks before the deadline for this column, which is somewhat surprising, given the topic. I ran across the book while wandering in a library, naturally, and when I saw the title I was forced to stop and pay attention to it. My first reaction (beyond the initial interest in the intersection of math and Borges) was to be slightly annoyed at the title, thinking ''unimaginable'' to be sloppy (Borges imagined it, you lout!) and superficial. But, in fact, the precision with which the title was chosen is part of why I made this book this column's classic for software engineers. You see, Bloch says: ''Finally, about the title of the book: why the word 'unimaginable'? By way of an answer, we note that in his sixth Meditation, Descartes makes clear the distinction between simply naming a thing and visualizing it in a clear, precise way that allows for mental manipulations.''
John Crowley's Engine Summer is a novel that feels less like a traditional narrative and more like a cryptic program written in a language only partially understood-a whispered incantation from a future past, delivered in prose both luminous and elusive. At its surface, it tells the story of Rush That Speaks, a young man journeying through a posttechnological world where memories and stories are the closest things to data, and where truth is a shape-shifting entity, woven out of voices layered like code commits in a sprawling, fractured archive.