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




New preprint: Lessons from Formally Deployed Software Systems






Li Huang, Sophie Ebersold, Alexander Kogtenkov, Bertrand Meyer and Yinling Liu, Lessons from Formally Verified Deployed Software Systems, submitted for publication (since March 2023), preprint available here for the full version (with detailed review of all 32 projects) and here for a shorter one (with same core content but only 11 detailed reviews, the others … Read more




The French School of Programming






July 14 (still here for 15 minutes) is not a bad opportunity to announced the publication of a new book: The French School of Programming. The book is a collection of chapters, thirteen of them, by rock stars of programming and software engineering research (plus me), preceded by a Foreword by Jim Woodcock and a … Read more




“Object Success” now available






A full, free online version of Object Success (1995)   I am continuing the process of releasing some of my earlier books. Already available: Introduction to the Theory of Programming Languages (see here) and Object-Oriented Software Construction, 2nd edition (see here). The latest addition is Object Success, a book that introduced object technology to managers … Read more




The legacy of Barry Boehm






August of last year brought the sad news of Barry Boehm’s passing away on August 20. If software engineering deserves at all to be called engineering today, it is in no small part thanks to him. “Engineer” is what Boehm was, even though his doctorate and other degrees were all in mathematics. He looked the … Read more




Logical beats sequential






Often,  “we do this and then we do that” is just a lazy way of stating “to do that, we must have achieved this.” The second form is more general than the first, since there may be many things you can “do” to achieve a certain condition. The extra generality is welcome for software requirements, … 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




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




Some contributions






Science progresses through people taking advantage of others’ insights and inventions. One of the conditions that makes the game possible is that you acknowledge what you take. For the originator, it is rewarding to see one’s ideas reused, but frustrating when that happens without acknowledgment, especially when you are yourself punctilious about citing your own … Read more




Time to resurrect PSP?






Let us assume for the sake of the argument that software quality matters. There are many ingredients to software quality, of which one must be the care that every programmer devotes to the job. The Personal Software Process, developed by Watts Humphrey in the 1990s [1], prescribes a discipline that software developers should apply to … Read more