New article: contracts in practice






For almost anyone programming in Eiffel, contracts are just a standard part of daily life; Patrice Chalin’s pioneering study of a few years ago [1] confirmed this impression. A larger empirical study is now available to understand how developers actually use contracts when available. The study, to published at FM 2014 [2] covers 21 programs, … Read more




New article: passive processors






  The SCOOP concurrency model has a clear division of objects into “regions”, improving the clarity and reliability of concurrent programs by establishing a close correspondence between the object structure and the process structure. Each region has an associated “processor”, which executes operations on the region’s objects. A literal application of this rule implies, however, … Read more




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




Niklaus Wirth birthday symposium, 20 February, Zurich






In honor of Niklaus Wirth’s 80-th birthday we are organizing a symposium at ETH on February 20, 2014. This is a full-day event with invited talks by: Vint Cerf Hans Eberlé Michael Franz me Carroll Morgan Martin Odersky Clemens Szyperski Niklaus Wirth himself From the symposium’s web page: Niklaus Wirth was a Professor of Computer … Read more