Void safety: Getting rid of the spectre of null-pointer dereferencing






A spectre is haunting programming — the spectre of null-pointer dereferencing. All the programming languages of old Europe and the New World have entered into a holy alliance to make everyone’s programs brittle:  Java, C, Pascal, C++, C# and yes, until recently, Eiffel. The culprit is the use of references to denote objects used in calls: … Read more




Contracts written by people, contracts written by machines






What kind of contract do you write? Could these contracts, or some of them, be produced automatically? The idea of inferring contracts from programs is intriguing; it also raises serious epistemological issues. In fact, one may question whether it makes any sense at all. I will leave the question of principle to another post, in … Read more