More sizzle than steak? Using an LLM to produce verified bug fixes (new preprint)






New article: “Do AI models help produce verified bug fixes?” (Huang Li, Ilgiz Mustafin, Marco Piccioni, Alessandro Schena, Reto Weber and Bertrand Meyer), submitted for publication, preprint available on arXiv.  Automatic Program Repair (APR) involves four steps: Locating the bug. Producing candidate corrections. Validating them (to make sure that they do correct the problem). Selecting the … Read more




A paean to programming






A Google search for something entirely unrelated led me to a very old issue of the Daily Nexus, the student newspaper of the University of California, Santa Barbara, where I was teaching back then.  Apparently (I had forgotten all about it of course) I was piqued by a student’s letter to the editor, where he … Read more




New article: obituary of Niklaus Wirth






Bertrand Meyer: Obituary for Niklaus Wirth, in Formal Aspects of Computing, volume 37, issue 2, pages 1-11, published 3 March 2025, available here (publisher’s site). Shortly after Niklaus Wirth — Turing Award winner for his many seminal contributions including Pascal, Algol W, Modula, virtual machines, Lilith/Ceres, railway diagrams, PL/360, seminal textbooks…  — passed away last … Read more




A remarkable group photo






On 13-15 September 1999 a symposium took place in St Catherine College in Oxford,  in honor of Tony Hoare’s “retirement” from Oxford (the word is in quotes because he has had several further productive careers since). The organizers were Jim Woodcock, Bill Roscoe and Jim Davies. The proceedings are available as Millenial Perspectives in Computer … Read more




Niklaus Wirth and the Importance of Being Simple






[This is a verbatim copy of a post in the Communications of the ACM blog, 9 January 2024.] I am still in shock from the unexpected death of Niklaus Wirth eight days ago. If you allow a personal note (not the last one in this article): January 11, two days from now, was inscribed in … Read more




Statement Considered Harmful






I harbor no illusion about the effectiveness of airing this particular pet peeve; complaining about it has about the same chance of success as protesting against split infinitives or music in restaurants. Still, it is worth mentioning that the widespread use of the word “statement” to denote a programming language element, such as an assignment, that … Read more




New book: the Requirements Handbook






I am happy to announce the publication of the Handbook of Requirements and Business Analysis (Springer, 2022). It is the result of many years of thinking about requirements and how to do them right, taking advantage of modern principles of software engineering. While programming, languages, design techniques, process models and other software engineering disciplines have … Read more




Introduction to the Theory of Programming Languages: full book now freely available






Short version: the full text of my Introduction to the Theory of Programming Languages book (second printing, 1991) is now available. This page has more details including the table of chapters, and a link to the PDF (3.3MB, 448 + xvi pages). The book is a survey of methods for language description, particularly semantics (operational, … Read more




OOSC-2 available online (officially)






My book Object-Oriented Software Construction, 2nd edition (see the Wikipedia page) has become hard to get. There are various copies floating around the Web but they often use bad typography (wrong colors) and are unauthorized. In response to numerous requests and in anticipation of the third edition I have been able to make it available … Read more




PhD and postdoc positions in verification in Switzerland






The Chair of Software Engineering, my group at the Schaffhausen Institute of Technology in Switzerland (SIT), has open positions for both PhD students and postdocs. We are looking for candidates with a passion for reliable software and a mix of theoretical knowledge and practical experience in software engineering. Candidates should have degrees in computer science … Read more