Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
iFixR: Bug Report driven Program Repair
Univ Luxembourg, Luxembourg, Luxembourg..
Univ Luxembourg, Luxembourg, Luxembourg..
Univ Luxembourg, Luxembourg, Luxembourg..
Univ Luxembourg, Luxembourg, Luxembourg.;Furiosa Ai, Seoul, South Korea..
Show others and affiliations
2019 (English)In: ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING / [ed] Dumas, M Pfahl, D Apel, S Russo, A, ASSOC COMPUTING MACHINERY , 2019, p. 314-325Conference paper, Published paper (Refereed)
Abstract [en]

Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is then the systematization of patch generation for user-reported bugs. Although this ambition is aligned with the momentum of automated program repair, the literature has, so far, mostly focused on generate-and-validate setups where fault localization and patch generation are driven by a well-defined test suite. On the one hand, however, the common (yet strong) assumption on the existence of relevant test cases does not hold in practice for most development settings: many bugs are reported without the available test suite being able to reveal them. On the other hand, for many projects, the number of bug reports generally outstrips the resources available to triage them. Towards increasing the adoption of patch generation tools by practitioners, we investigate a new repair pipeline, iFixR, driven by bug reports: (1) bug reports are fed to an IR-based fault localizer; (2) patches are generated from fix patterns and validated via regression testing; (3) a prioritized list of generated patches is proposed to developers. We evaluate iFixR on the Defects4J dataset, which we enriched (i.e., faults are linked to bug reports) and carefully-reorganized (i.e., the timeline of test-cases is naturally split). iFixR generates genuine/plausible patches for 21/44 Defects4J faults with its IR-based fault localizer. iFixR accurately places a genuine/plausible patch among its top-5 recommendation for 8/13 of these faults (without using future test cases in generation-and-validation).

Place, publisher, year, edition, pages
ASSOC COMPUTING MACHINERY , 2019. p. 314-325
Keywords [en]
Information retrieval, fault localization, automatic patch generation
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:kth:diva-261345DOI: 10.1145/3338906.3338935ISI: 000485629300031Scopus ID: 2-s2.0-85070636546OAI: oai:DiVA.org:kth-261345DiVA, id: diva2:1358069
Conference
The 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia — August 26-30, 2019
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)Swedish Foundation for Strategic Research , trustfull
Note

QC 20191007

Available from: 2019-10-07 Created: 2019-10-07 Last updated: 2019-10-13

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records BETA

Monperrus, Martin

Search in DiVA

By author/editor
Monperrus, Martin
By organisation
Theoretical Computer Science, TCS
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 2 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf