All blogs / Software / engineering practice
Bertrand Meyer's technology+ blog
Software engineering, programming methodology, languages, verification, general technology, publication culture, and more
- Posts
- 359 from 31 Jul 2009 to 21 Jul 2026
- Posting
- monthly (10 in the last year)
- Kind
- personal blog
- Feed
- http://feeds.feedburner.com/BertrandMeyer
2026 7
- Questions and answers on AI and verification: a follow-up to my May ACM Tech Talk
- Q&A after ACM Webinar on Software Verification in the Age of Artificial Intelligence
- Newsletter archive available
- Celebrating Tony Hoare’s mark on computer science
- Yes, AI is intelligent. Prove me wrong.
- Assemblée annuelle de la SDIS
- CloudFlare outage: the lesson that will not be drawn
2025 16
- Criteria and recipes for good technical definitions
- A revolutionary approach to university teaching
- Thanks for your help but I write my own texts
- Exponentially bad phrasing
- More sizzle than steak? Using an LLM to produce verified bug fixes (new preprint)
- A paean to programming
- New article: obituary of Niklaus Wirth
- New preprint: Lessons from Formally Deployed Software Systems
- New preprint: Seamless and Traceable Requirements
- New preprint: Loop unrolling — formal definition and application to testing
- New preprint: a standard framework for research on bugs and automatic program repair
- New paper: seeding contradiction
- New preprint: Programming Really Is Simple Mathematics
- This is much worse than Munich
- New preprint: Software engineering as a domain to formalize
- “I don’t have time for administration”
2024 13
- The path wrongly taken
- Europe asleep (a key-not)
- The power and terror of imagination
- Freely accessible books
- And what if everything went well?
- The French School of Programming
- Descente aux enfers
- Upside down
- Horribly transparent
- Mathematics is not a game of hit and miss
- A new scientific index
- A remarkable group photo
- Niklaus Wirth and the Importance of Being Simple
2023 12
- AI will move mountains
- A writing exercise
- The “NATO expansion” canard
- New article: scenarios versus OO requirements
- Statement Considered Harmful
- Toute la rage du Monde
- “Object Success” now available
- The mathematics of the seven messengers
- The Seven Messengers
- Macron and Borne: profiles in courage
- Le courage de Macron
- The legacy of Barry Boehm
2022 11
- Logical beats sequential
- New paper: optimization of test cases generated from failed proofs
- New book: the Requirements Handbook
- Winter will be warm
- Introduction to the Theory of Programming Languages: full book now freely available
- Introduction to axiomatic semantics
- Hilbert spaces
- OOSC-2 available online (officially)
- Why stop at pronouns?
- A problem child?
- One way to become a top scientist…
2021 12
- Mr. and Mrs. Bei Uns
- PhD and postdoc positions in verification in Switzerland
- Panel on methodology and agility, this Monday (20 September)
- A standard plan for modern requirements
- Publication announcement: survey on requirements techniques, formal and non-formal
- On beauty and software (online talk on Wednesday, 17 CET / 11 EDT / 8 PDT)
- Tomorrow (Thursday) noon EDT: ACM talk on requirements
- Some contributions
- Le français dans le monde
- Time to resurrect PSP?
- Between you and me
- The extremely bizarre idea of an inauguration
2020 27
- The right forms of expression
- Questionnaire on deployed, formally verified systems
- New video lecture: distances, invariants and recursion
- Fan mail
- Why we love computers and software
- L’appel du 19 juin
- Things to do to an algorithm
- A novel concept for success in science
- New master program at SIT: Webinar tomorrow
- PhD and postdoc positions in verification in Switzerland
- Which one is better? Please answer this poll
- The fool wants nothing
- A retort that we could use
- How to protect from the coronavirus
- Free tutoring for children
- Getting a program right, in nine episodes
- A little Schubertiade to brighten the gloom
- Notations you didn’t even know you could use
- Serious newspapers: now is the moment to unlock Coronavirus material, or incur eternal shame
- Time to live up to the boasting
- In the scary land of irrational discourse
- Getting your priorities right
- Call for suggestions: beauty
- An annoying practice from another age
- LASER 2020 in Elba Island: DevOps, Microservices and more, first week of June
- Two talks by Gilles Brassard in Zurich and Schaffhausen, this Wednesday
- Talk on requirements at UC Santa Barbara tomorrow
2019 19
- This Wednesday in Nice: survey talk on the Eiffel method
- Defining and classifying requirements (new publication)
- What happened to the kilogram? Schaffhausen, 16 December
- Are my requirements complete?
- Adult entertainment
- June LASER school, Elba, on Devops, Microservices…
- Those were the days
- Entrez sans frapper
- Formality in requirements: new publication
- Publications on CS/SE/informatics education
- A theorem of software engineering
- Software Engineering Education: FISEE coming up
- Software engineering education: Villebrumier LASER center, November
- Sunrise was foggy today
- Schedule and last deadline for LASER AI + ML + SE, Elba, June
- Soundness and completeness: with precision
- Gail Murphy to speak at Devops 19
- AI+ML+SE — Reminder about LASER school, coming up in June
- Sense and sensibility of systematically soliciting speaker slides
2018 21
- La folie française
- The Formal Picnic approach to requirements
- Ten traits of exceptional innovators
- I didn’t make it up…
- Just call me “Your Highness”
- Empirical answers: keynote and deadline
- More French Poetry on Amazon
- Why not program right?
- New speaker and final announcement for LASER 2018 on blockchains (Elba, June)
- Creative writing
- New paper: making sense of agile methods
- Mainstream enough for me
- Blue hair and tenure track
- Un po’ tondo
- Towards empirical answers to important software engineering questions
- Festina retro
- The end of software engineering and the last methodologist
- Emerald wishes
- In pursuit and in flight
- Before I start screaming once again…
- Blockchains, bitcoin and distributed trust: LASER school lineup complete
2017 12
- Small and big pleasures
- Devops (the concept, and a workshop announcement)
- Split the Root: a little design pattern
- New session of online Agile course starts now
- Concurrency/verification positions at Politecnico di Milano
- LASER summer school on software for robotics: last call for registration
- Feature interactions, continued
- The perils of feature interaction
- Об опыте иностранца, говорящего по-русски
- The coming European renaissance
- The mythical Brooks law
- Software for robotics: LASER summer school, Elba Island, 9-17 September
2016 7
2015 11
- Danke sehr!
- Design by Contract: ACM Webinar this Thursday
- In English this time: a Marseillaise for our age
- A Marseillaise for our age
- How to learn languages
- New paper: Theory of Programs
- Agile methods: follow-up webinar and discussion
- Understanding and assessing Agile: free ACM webinar next Wednesday
- Awareness and merge conflicts in distributed development (new paper)
- Framing the frame problem (new paper)
- Detecting deadlock automatically? (New paper)
2014 28
- Infinite loop in Microsoft Word
- Lampsort
- New MOOC opens Tuesday
- Analysis of agile methods: book signing in Paris this Friday at 5 PM
- A gold medal
- Harlan Mills award 2015: nominations sought
- Record enrollment
- Non-morganatic specifications
- Computing: the Art, the Magic, the Science
- When pictures lie
- The Eiffel Documentation Drive
- Programming language features
- Reading Notes: Single-Entry, Single-Exit
- Accurately Analyzing Agility
- Attached by default?
- Code matters
- Crossing the Is and doting on the Ts
- Would they?
- Lamport, Turing
- New article: contracts in practice
- New article: passive processors
- Agile book announced
- Learning to program, online
- Eiffel as an expression language
- LASER 2014 (Elba, September)
- PhD positions in concurrency/distribution/verification at ETH
- Negative variables: new version
- Saint Petersburg Software Engineering Seminar: 14 January 2014 (6 PM)
2013 46
- Niklaus Wirth birthday symposium, 20 February, Zurich
- New paper: alias calculus and frame inference
- The biggest software-induced disaster ever
- Informatics education in Europe: Just the facts
- Hungarian rotation
- The secret of success
- Reuse of another kind
- The laws of branching (part 2): Tichy and Joy
- Another displaced business
- The laws of branching (part 1)
- Swiss railway prowess
- Empirical answers to fundamental software engineering questions
- Concurrency video
- Smaller, better textbook
- Barenboim = Rubinstein?
- The invariants of key algorithms (new paper)
- Informatics: catch them early
- Reading notes: strong specifications are well worth the effort
- New course partners sought: a DOSE of software engineering education
- Reading notes: misclassified bugs
- Reading notes: the design of bug fixes
- New series: Reading Notes
- Adult entertainment
- Apocalypse no! (Part 2)
- Specify less to prove more
- Presentations at ICSE and VSTTE
- What is wrong with CMMI
- Ershov lecture
- Bringing C code to the modern world
- The origin of “software engineering”
- LASER summer school: Software for the Cloud and Big Data
- The ABC of software engineering
- Apocalypse no! (part 1)
- Public lecture at ITMO
- Doing it right or doing it over?
- The waves of publication
- Conferences: Publication, Communication, Sanction
- Master, please explain: “gun control”
- Master, please explain: your opinion of Facebook
- Master, please explain: “impotence”
- Master, please explain: “arrogance”
- Master, please explain: “recursively”
- Your IP: does Google care?
- How good are strong specifications? (New paper, ICSE 2013)
- Interesting functionalities
- Multirequirements (new paper)
2012 39
- ESEC/FSE 2013: 18-26 August, Saint Petersburg, Russia
- A Pretty Good Motto
- Negative variables and the essence of object-oriented programming (new paper)
- The education minister who wants fewer students
- Who gets what
- Hitting on America
- Loop invariants: the musical
- Publication list
- Why so many features?
- Computer scientist gallery, updated
- Memories of a dark time
- Technology plus
- Habit, happiness, and programming languages
- Handshake with a clown
- Word of the day
- A fundamental duality of software engineering
- Precedent
- Quiz (2): hint
- Quiz (1): What is this function?
- Salad requirements, requirements salad
- The manhood test
- EIS: Putting into Practice the Single Model Principle
- SP software engineering seminar (web-streamed): talks by H. Gall and L. Baresi, Thursday, 5 July
- Positions open at ETH in concurrency and verification
- The most beautiful monument of Europe
- Talks in coming months
- Domain Theory: precedents
- Domain Theory: the forgotten step in program verification
- Aliasing and framing: Saint Petersburg seminar next week
- Seminar sessions in Saint Petersburg: CafeOBJ and the frame issue
- A carefully designed Result
- New LASER proceedings
- ERC Advanced Investigator Grant: Concurrency Made Easy
- R&D positions in software engineering
- TOOLS 2012, “The Triumph of Objects”, Prague in May: Call for Workshops
- Never design a language
- Concurrency seminars
- Webinar today: the Varieties of Loop Invariants
- Various interviews
2011 30
- Webinars Dec. 29: (1) Model-based contracts (2) Assessing agile methods
- Guest article: funding great research
- How to design software
- Ado About The Resource That Was (Not)
- The Modes and Uses of Scientific Publication
- Averaging
- John McCarthy
- The story of our field, in a few short words
- PhD position: concurrent programming (SCOOP) for robotics
- The charming naïveté of an IEEE standard
- Fun with Bayes
- Nastiness in computer science
- All Bugs Great and Small
- European Computer Science Summit 2011
- A safe and stable solution
- Scopus’s view of computer science research
- Specification explosion
- Towards a Calculus of Object Programs
- Testing insights
- If I’m not pure, at least my functions are
- Agile methods: the good, the bad and the ugly
- Concurrent programming is easy
- Incremental research again
- Assessing concurrency models
- The Professor Smith syndrome: Part 2
- The Professor Smith syndrome: Part 1 – a quiz
- Stendhal on abstraction
- In praise of Knuth and Liskov
- Publish no loop without its invariant
- From duplication to duplicity: a short history of the technology of knowledge transfer
2010 22
- About Watts Humphrey
- The Future Of Software Engineering
- Every bilingual dictionary should be a Galois connection
- Email and its perils
- The cloud and its risks
- Programming limerick of the month, October 2010
- Speech synthesis technology
- The rise of empirical software engineering (II): what we are still missing
- The rise of empirical software engineering (I): the good news
- Another DOSE of distributed software development
- Analyzing a software failure
- From programming to software engineering: ICSE keynote slides available
- PGT-PPP (Pretty Good Translation, Pretty Poor Privacy)
- The other impediment to software engineering research
- Barbie to the rescue
- Programming on the cloud?
- Verification As a Matter Of Course
- Reflexivity, and other pillars of civilization
- A couple of loop examples
- More expressive loops for Eiffel
- The theory and calculus of aliasing
- Just another day at the office
2009 26
- Touch of Class book page available
- Dwelling on the point
- The Case of the Handsome Couple: answer
- The Case of the Handsome Couple: hints
- The Case of the Handsome Couple
- Knuth & company
- The CPU Clock principle of software releases
- Do you know Java?
- SEAFOOD 2010
- The one sure way to advance software engineering
- Programming limerick of the month, September 2009
- Programming limerick of the month, August 2009
- Specifying user interfaces
- The great programming haiku competition
- Rejection letter classic
- Talking about testing…
- What is the purpose of testing?
- “Touch of Class” published
- One cheer for incremental research
- The good and the ugly
- Methods need theory
- Void safety: Getting rid of the spectre of null-pointer dereferencing
- Contracts written by people, contracts written by machines
- Long AND clear?
- Computer technology: making mozzies out of betties
- The understated breakthrough