Towards empirical answers to important software engineering questions






(Adapted from a two-part article on the Communications of the ACM blog.) 1 The rise of empirical software engineering One of the success stories of software engineering research in recent decades has been the rise of empirical studies. Visionaries such as Vic Basili, Marvin Zelkowitz and Walter Tichy advocated empirical techniques early [1, 2, 3]; … Read more




Empirical answers to fundamental software engineering questions






This is a slightly reworked version of an article in the CACM blog, which also served as the introduction to a panel which I moderated at ESEC/FSE 2013 last week; the panelists were Harald Gall, Mark Harman, Giancarlo Succi (position paper only) and Tony Wasserman. For all the books on software engineering, and the articles, … Read more




A fundamental duality of software engineering






A couple of weeks ago I proposed a small quiz. (I also stated that the answer would come “on Wednesday” — please understand any such promise as “whenever I find the time”. Sorry.) Here is the answer. The quiz was: I have a function: For 0 it yields 0. For 1 it yields 1. For … Read more




Domain Theory: the forgotten step in program verification






  Program verification is making considerable progress but is hampered by a lack of abstraction in specifications. A crucial step is, almost always, absent from the process; this omission is the principal obstacle to making verification a standard component of everyday software development. 1. Steps in software verification In the first few minutes of any … Read more