

{"id":265,"date":"2013-10-04T17:14:51","date_gmt":"2013-10-04T15:14:51","guid":{"rendered":"https:\/\/project.inria.fr\/se-seminars\/?p=265"},"modified":"2013-10-04T17:15:32","modified_gmt":"2013-10-04T15:15:32","slug":"discovering-program-invariants-and-automatic-program-repair","status":"publish","type":"post","link":"https:\/\/project.inria.fr\/se-seminars\/discovering-program-invariants-and-automatic-program-repair\/","title":{"rendered":"Discovering Program Invariants and Automatic Program Repair"},"content":{"rendered":"<p><\/p>\n<div>On Thursday 10 October 2013, 9:30-10:30 <a href=\"http:\/\/goo.gl\/maps\/32z7m\">INRIA Lille Salle Pl\u00e9ni\u00e8re (aka du Conseil)<\/a>, <a href=\"http:\/\/www.cs.virginia.edu\/~weimer\/\">Westley Weimer (University of Virginia)<\/a> will give a talk on &#8220;Discovering Program Invariants and Automatic Program Repair &#8220;.<\/div>\n<p>&nbsp;<\/p>\n<div><em>Abstract:<\/em><\/div>\n<p>There are more bugs in real-world programs than human programmers can<br \/>\nrealistically address. Automatic program repair has been a longstanding<br \/>\ngoal in software engineering, yet debugging remains a largely manual<br \/>\nprocess.<\/p>\n<p>Debugging brings an implementation closer to its specification: we<br \/>\nthus desire to know that specification. We briefly discuss recent advances<br \/>\nin dynamic invariant detection and specification mining. Using techniques<br \/>\nas diverse as polyhedra, equation solving, and software quality metrics, we<br \/>\ncan discover critical aspects of what a program &#8220;does do&#8221; or &#8220;should do&#8221;<br \/>\nwith fewer than 5% false positives.<\/p>\n<p>We then introduce a fully automated approach for crafting patches<br \/>\nthat repair bugs in off-the-shelf legacy systems. An extended form of<br \/>\ngenetic programming is used to evolve repairs that leverage existing<br \/>\nprogrammer expertise and preserve required functionality. In a<br \/>\nlarge-scale, systematic study of high-priority defects from programs<br \/>\ninvolving over 5 million lines of code and over 10,000 test cases, we<br \/>\nfind that our technique can repair 60 of 105 bugs, freeing developer<br \/>\neffort. Publicly-available cloud computing prices allow our results to be<br \/>\nreproduced for $356; a successful repair completes in 88 minutes and<br \/>\ncosts $5.92 on average, a result that is strongly human competitive.<br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>On Thursday 10 October 2013, 9:30-10:30 INRIA Lille Salle Pl\u00e9ni\u00e8re (aka du Conseil), Westley Weimer (University of Virginia) will give a talk on &#8220;Discovering Program Invariants and Automatic Program Repair &#8220;. &nbsp; Abstract: There are more bugs in real-world programs than human programmers can realistically address. Automatic program repair has been a longstanding goal in &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/project.inria.fr\/se-seminars\/discovering-program-invariants-and-automatic-program-repair\/\">Continue reading<\/a><\/p>\n","protected":false},"author":65,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-265","post","type-post","status-publish","format-standard","hentry","category-talk","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/comments?post=265"}],"version-history":[{"count":2,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts\/265\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/posts\/265\/revisions\/267"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/media?parent=265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/categories?post=265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/project.inria.fr\/se-seminars\/wp-json\/wp\/v2\/tags?post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}