acm - an acm publication

Articles

Automated bug fixing: an interview with Westley Weimer, Department of Computer Science, University of Virginia and Martin Monperrus, University of Lille and INRIA, Lille, France

Ubiquity, Volume 2015 Issue March, March 2015 | BY Walter Tichy 


Full citation in the ACM Digital Library  | PDF


Connection Failure

COMMENTS

I'll summarize the link in the previous blog entry. While Weimer's GenProg relies on programmer-provided test cases, Furia at al's AutoFix uses programmer-provided assertions. The interesting insight behind AutoFix is that given assertions, one can generate random test cases automatically and use the assertions as so-called oracles, meaning that the assertions decide whether a test case fails or succeeds. So the programmer is relieved of writing unit tests, but must provide assertions instead (or in addition). The fascinating question is: Which way is better? Furia writes that assertions lead to better fault localization and more intelligible fixes; he also thinks that his method generates fixes at a fraction of GenProg's runtime because of reduced search space. So AutoFix might have an advantage, but the question is: What would programmers rather write: tests or assertions? My experience is that programmers don't write enough tests, but they hardly ever write assertions, even though programming languages such as Java and Eiffel provide syntax for them. If we forced them to write assertions then they are likely to write useless pre-conditions and post-conditions that echo the (potentially faulty) code. So which way should we go?

��� Walter Tichy, Thu, 11 Jun 2015 12:30:05 UTC

Interesting interview! I have written down some comments on the same topic with reference to AutoFix, our technique for automated program repair bugcounting.net/blog/?p=299

��� Carlo A. Furia, Tue, 07 Apr 2015 18:24:03 UTC

POST A COMMENT
Leave this field empty