Your IP: does Google care?






  A search for my name on Google Scholar [1] shows, at the top of the resulting list, my book Object-Oriented Software Construction [2], with over 7800 citations in the scientific literature. Very nice (thanks, and keep those citations coming!). That top result is a link to a pirated version [3] of the full content … Read more




How good are strong specifications? (New paper, ICSE 2013)






  A core aspect of our verification work is the use of “strong” contracts, which express sophisticated specification properties without requiring a separate specification language: even for advanced properties, there is no need for a separate specification language, with special notations such as those of first-order logic; instead, one can continue to rely, in the … Read more




Multirequirements (new paper)






  As part of a Festschrift volume for Martin Glinz of the university of Zurich I wrote a paper [1] describing a general approach to requirements that I have been practicing and developing for a while, and presented in a couple of talks. The basic idea is to rely on object-oriented techniques, including contracts for … Read more




ESEC/FSE 2013: 18-26 August, Saint Petersburg, Russia






The European Software Engineering Conference takes place every two years in connection with the ACM Foundations of Software Engineering symposium (which in even years is in the US). The next ESEC/FSE  will be held for the first time in Russia, where it will be the first major international software engineering conference ever. It comes at … Read more




A Pretty Good Motto






Antoine Galland (1646-1715), one of the great orientalists of the classical age, was sent by the government of Louis XIV to the court of the Sultan. Among his many discoveries he revealed the Thousand and One Nights and other Arabian Tales to the Western public through his French translation, Les Mille et Unes Nuits, Paris … Read more




Negative variables and the essence of object-oriented programming (new paper)






In modeling object-oriented programs, for purposes of verification (proofs) or merely for a better understanding, we are faced with the unique “general relativity” property of OO programming: all the operations you write (excluding non-OO mechanisms such as static functions) are expressed relative to a “current object” which changes repeatedly during execution. More precisely at the … Read more




Hitting on America






  The study of agile methods is good for your skeptical bones. “Build the simplest thing that works, then refactor if needed.” Maybe. Maybe. But what about getting it right the first time around? Erich Kästner wrote an apposite ditty on this topic [1]: They tell you it’s OK if first you fail; OK perhaps … Read more