Eiffel as an expression language






A functional-programming style, or more generally a style involving more expressions and fewer instructions, is possible in Eiffel. In particular, Eiffel’s agent mechanism embeds a full functional-programming mechanism in the object-oriented framework of the language. To make the notations simpler, we are discussing and tentatively implementing a number of proposed extensions. They involve no fundamental … Read more




PhD positions in concurrency/distribution/verification at ETH






As part of our “Concurrency Made Easy” ERC Advanced Investigator Grant project (2012-2017), we are offering PhD positions at the Chair of Software Engineering of ETH Zurich. The goal of the project is to build a sophisticated programming and verification architecture to make concurrent and distributed programming simple and reliable, based on the ideas of … Read more




Negative variables: new version






I have mentioned this paper before (see the earlier blog entry here) but it is now going to be published [1] and has been significantly revised, both to take referee comments into account and because we found better ways to present the concepts. We have  endeavored to explain better than in the draft why the … Read more




Saint Petersburg Software Engineering Seminar: 14 January 2014 (6 PM)






There will be two talks in the Software Engineering Seminar at ITMO, 18:00 local time, Tuesday, January 14, 2014. Please arrive 10 minutes early for registration. Place: ITMO, Sytninskaya Ulitsa, Saint Petersburg. Andrey Terekhov (SPBGU): Programming crystals (I do not know whether this talk will be in Russian or English. An abstract follows but the … Read more




New paper: alias calculus and frame inference






For a while now I have  been engaged in  a core problem of software verification: the aliasing problem. As with many difficult problems in science, it is easy to state the basic question: can we determine automatically whether at a program point p the values of two reference expressions e and f can ever denote … Read more




Informatics education in Europe: Just the facts






  In 2005 a number of us started Informatics Europe [1], the association of university departments and industrial research labs in computer science in Europe. The association has now grown to 80 members across the entire continent; it organizes the annual European Computer Science Summit and has published a number of influential reports. The last … Read more




The laws of branching (part 2): Tichy and Joy






Recently I mentioned the first law of branching (see earlier article) to Walter Tichy, famed creator of RCS, the system that established modern configuration management. He replied with the following anecdote, which is worth reproducing in its entirety (in his own words): I started work on RCS in 1980, because I needed an alternative for … Read more