{"id":5694,"date":"2024-03-13T15:55:27","date_gmt":"2024-03-13T14:55:27","guid":{"rendered":"https:\/\/www.uni.lu\/snt-en\/blog\/core-researches\/natural-natural-program-repair\/"},"modified":"2025-10-30T09:07:05","modified_gmt":"2025-10-30T08:07:05","slug":"natural-natural-program-repair","status":"publish","type":"core-researches","link":"https:\/\/www.uni.lu\/snt-en\/core-researches\/natural-natural-program-repair\/","title":{"rendered":"Natural Program Repair (NATURAL)"},"content":{"rendered":"","protected":false},"excerpt":{"rendered":"<p>A method to develop intelligent agents able to understand a natural language description of a problem a user faces with software, and address it.<\/p>\n","protected":false},"author":398,"featured_media":5693,"template":"","meta":{"featured_image_focal_point":[],"show_featured_caption":false,"ulux_newsletter_groups":"","uluxPostTitle":"NATURAL","uluxPrePostTitle":"","_trash_the_other_posts":false,"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"rp_acronym":"NATURAL","rp_abstract":"Automatic bug fixing, i.e., the idea of having programs that fix other programs, is a long-standing dream that is increasingly embraced by the software engineering community. Indeed, despite the significant effort that humans put into reviewing code and running software test campaigns, programming mistakes slip by, with severe consequences. Fixing those mistakes automatically has recently been the focus of a number of potentially promising techniques. Proposed approaches are however recurrently criticised as being shallow (i.e., they mostly address unit test failures, which are often neither hard nor important problems).\n\nInitial successes in automatic bug fixing are based on scenarios such as the following: when a bug is localised, patches are generated repetitively and automatically, through trial and error, until a valid patch is produced. The produced patch could then be later revised by developers. While the reported achievements are certainly worthwhile, they do not address what we believe is a more comprehensive challenge of software engineering: to systematically fix features of a software system based on end-user requirements.\n\nThe ambition of NATURAL is to develop a methodology for yielding an intelligent agent that is capable of receiving a natural language description of a problem that a user faces with a software feature, and then synthesising code to address this problem so that it meets the user\u2019s expectations. Such a repair bot would be a trustworthy software contributor that:\n\n1. Targets real bugs in production via exploiting bug reports, which remain largely under-explored\n2. Aligns with the conversational needs of collaborative work via generating explanations for patch suggestions\n3. Shifts the repair paradigm towards the design of self-improving systems via yielding novel algorithms that iteratively integrate feedback from humans.\n\nUltimately, NATURAL will be transformative in the practice of software engineering.","rp_start_date":"2021-02-01 14:55:23","rp_duration":60,"rp_main_funder":"European Research Council","rp_other_funders":[],"rp_external_partners":[],"rp_keywords":["Practice","Bug reports","Program repair","Debugging","Software engineering"],"rp_members":[{"id":"50000802","isExternal":false,"isPI":true,"name":"Tegawend\u00e9 Bissyande","featuredImageUrl":"https:\/\/www.uni.lu\/en\/person-image\/NTAwMDA4MDJfX1RlZ2F3ZW5kw6kgRnJhbsOnb2lzIGQgQXNzaXNlIEJJU1NZQU5ERQ==","detailsPageUrl":"https:\/\/www.uni.lu\/snt-en\/blog\/people\/tegawende-francois-d-assise-bissyande\/"},{"id":"50038509","isExternal":false,"isPI":false,"name":"Haoye Tian","featuredImageUrl":"https:\/\/www.uni.lu\/en\/person-image\/NTAwMzg1MDlfX0hhb3llIFRJQU4=","detailsPageUrl":"https:\/\/www.uni.lu\/snt-en\/blog\/people\/haoye-tian\/"},{"id":"50037436","isExternal":false,"isPI":false,"name":"Andrew Habib","featuredImageUrl":"https:\/\/www.uni.lu\/en\/person-image\/NTAwMzc0MzZfX0FuZHJldyBDTEFSSw==","detailsPageUrl":"https:\/\/www.uni.lu\/en\/blog\/people\/andrew-clark\/"},{"id":"50043854","isExternal":false,"isPI":false,"name":"Yinghua Li","featuredImageUrl":"https:\/\/www.uni.lu\/en\/person-image\/NTAwNDM4NTRfX1lpbmdodWEgTEk=","detailsPageUrl":"https:\/\/www.uni.lu\/snt-en\/blog\/people\/yinghua-li\/"},{"id":"50046656","isExternal":false,"isPI":false,"name":"Xunzhu Tang","featuredImageUrl":"https:\/\/www.uni.lu\/en\/person-image\/NTAwNDY2NTZfX1h1bnpodSBUQU5H","detailsPageUrl":"https:\/\/www.uni.lu\/snt-en\/blog\/people\/xunzhu-tang\/"},{"id":"50046864","isExternal":false,"isPI":false,"name":"Weiguo Pian","featuredImageUrl":"https:\/\/www.uni.lu\/en\/person-image\/NTAwNDY4NjRfX1dlaWd1byBQSUFO","detailsPageUrl":"https:\/\/www.uni.lu\/snt-en\/blog\/people\/weiguo-pian\/"}]},"research-project-status":[271],"research-project-type":[264],"field-of-interest":[281],"organisation":[184,201],"authorship":[398],"acf":[],"_links":{"self":[{"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/core-researches\/5694"}],"collection":[{"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/core-researches"}],"about":[{"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/types\/core-researches"}],"author":[{"embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/users\/398"}],"version-history":[{"count":2,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/core-researches\/5694\/revisions"}],"predecessor-version":[{"id":12519,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/core-researches\/5694\/revisions\/12519"}],"wp:authorship":[{"embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/users\/398"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/media\/5693"}],"wp:attachment":[{"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/media?parent=5694"}],"wp:term":[{"taxonomy":"research-project-status","embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/research-project-status?post=5694"},{"taxonomy":"research-project-type","embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/research-project-type?post=5694"},{"taxonomy":"field-of-interest","embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/field-of-interest?post=5694"},{"taxonomy":"organisation","embeddable":true,"href":"https:\/\/www.uni.lu\/snt-en\/wp-json\/wp\/v2\/organisation?post=5694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}