A closer look at real-world patches

Kui Liu, Dongsun Kim, Anil Koyuncu, Li Li, Tegawende F. Bissyande, Yves Le Traon

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

8 Citations (Scopus)

Abstract

Bug fixing is a time-consuming and tedious task. To reduce the manual efforts in bug fixing, researchers have presented automated approaches to software repair. Unfortunately, recent studies have shown that the state-of-The-Art techniques in automated repair tend to generate patches only for a small number of bugs even with quality issues (e.g., incorrect behavior and nonsensical changes). To improve automated program repair (APR) techniques, the community should deepen its knowledge on repair actions from real-world patches since most of the techniques rely on patches written by human developers. Previous investigations on real-world patches are limited to statement level that is not sufficiently fine-grained to build this knowledge. In this work, we contribute to building this knowledge via a systematic and fine-grained study of 16,450 bug fix commits from seven Java open-source projects. We find that there are opportunities for APR techniques to improve their effectiveness by looking at code elements that have not yet been investigated. We also discuss nine insights into tuning automated repair tools. For example, a small number of statement and expression types are recurrently impacted by real-world patches, and expression-level granularity could reduce search space of finding fix ingredients, where previous studies never explored.

Original languageEnglish
Title of host publicationProceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018
Subtitle of host publication23–29 September 2018 Madrid, Spain
EditorsFoutse Khomh, David Lo
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages275-286
Number of pages12
ISBN (Electronic)9781538678701
ISBN (Print)781538678718
DOIs
Publication statusPublished - 2018
EventIEEE International Conference on Software Maintenance and Evolution 2018 - Madrid, Spain
Duration: 23 Sep 201829 Sep 2018
Conference number: 34th
https://icsme2018.github.io/

Conference

ConferenceIEEE International Conference on Software Maintenance and Evolution 2018
Abbreviated titleICSME 2018
CountrySpain
CityMadrid
Period23/09/1829/09/18
Internet address

Keywords

  • Abstract syntax tree
  • Fix pattern
  • Program patch

Cite this

Liu, K., Kim, D., Koyuncu, A., Li, L., Bissyande, T. F., & Le Traon, Y. (2018). A closer look at real-world patches. In F. Khomh, & D. Lo (Eds.), Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018: 23–29 September 2018 Madrid, Spain (pp. 275-286). [8530036] Piscataway NJ USA: IEEE, Institute of Electrical and Electronics Engineers. https://doi.org/10.1109/ICSME.2018.00037
Liu, Kui ; Kim, Dongsun ; Koyuncu, Anil ; Li, Li ; Bissyande, Tegawende F. ; Le Traon, Yves. / A closer look at real-world patches. Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018: 23–29 September 2018 Madrid, Spain. editor / Foutse Khomh ; David Lo. Piscataway NJ USA : IEEE, Institute of Electrical and Electronics Engineers, 2018. pp. 275-286
@inproceedings{79702b330bb547bda64488f21e2e9566,
title = "A closer look at real-world patches",
abstract = "Bug fixing is a time-consuming and tedious task. To reduce the manual efforts in bug fixing, researchers have presented automated approaches to software repair. Unfortunately, recent studies have shown that the state-of-The-Art techniques in automated repair tend to generate patches only for a small number of bugs even with quality issues (e.g., incorrect behavior and nonsensical changes). To improve automated program repair (APR) techniques, the community should deepen its knowledge on repair actions from real-world patches since most of the techniques rely on patches written by human developers. Previous investigations on real-world patches are limited to statement level that is not sufficiently fine-grained to build this knowledge. In this work, we contribute to building this knowledge via a systematic and fine-grained study of 16,450 bug fix commits from seven Java open-source projects. We find that there are opportunities for APR techniques to improve their effectiveness by looking at code elements that have not yet been investigated. We also discuss nine insights into tuning automated repair tools. For example, a small number of statement and expression types are recurrently impacted by real-world patches, and expression-level granularity could reduce search space of finding fix ingredients, where previous studies never explored.",
keywords = "Abstract syntax tree, Fix pattern, Program patch",
author = "Kui Liu and Dongsun Kim and Anil Koyuncu and Li Li and Bissyande, {Tegawende F.} and {Le Traon}, Yves",
year = "2018",
doi = "10.1109/ICSME.2018.00037",
language = "English",
isbn = "781538678718",
pages = "275--286",
editor = "Khomh, {Foutse } and Lo, {David }",
booktitle = "Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018",
publisher = "IEEE, Institute of Electrical and Electronics Engineers",
address = "United States of America",

}

Liu, K, Kim, D, Koyuncu, A, Li, L, Bissyande, TF & Le Traon, Y 2018, A closer look at real-world patches. in F Khomh & D Lo (eds), Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018: 23–29 September 2018 Madrid, Spain., 8530036, IEEE, Institute of Electrical and Electronics Engineers, Piscataway NJ USA, pp. 275-286, IEEE International Conference on Software Maintenance and Evolution 2018, Madrid, Spain, 23/09/18. https://doi.org/10.1109/ICSME.2018.00037

A closer look at real-world patches. / Liu, Kui; Kim, Dongsun; Koyuncu, Anil; Li, Li; Bissyande, Tegawende F.; Le Traon, Yves.

Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018: 23–29 September 2018 Madrid, Spain. ed. / Foutse Khomh; David Lo. Piscataway NJ USA : IEEE, Institute of Electrical and Electronics Engineers, 2018. p. 275-286 8530036.

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

TY - GEN

T1 - A closer look at real-world patches

AU - Liu, Kui

AU - Kim, Dongsun

AU - Koyuncu, Anil

AU - Li, Li

AU - Bissyande, Tegawende F.

AU - Le Traon, Yves

PY - 2018

Y1 - 2018

N2 - Bug fixing is a time-consuming and tedious task. To reduce the manual efforts in bug fixing, researchers have presented automated approaches to software repair. Unfortunately, recent studies have shown that the state-of-The-Art techniques in automated repair tend to generate patches only for a small number of bugs even with quality issues (e.g., incorrect behavior and nonsensical changes). To improve automated program repair (APR) techniques, the community should deepen its knowledge on repair actions from real-world patches since most of the techniques rely on patches written by human developers. Previous investigations on real-world patches are limited to statement level that is not sufficiently fine-grained to build this knowledge. In this work, we contribute to building this knowledge via a systematic and fine-grained study of 16,450 bug fix commits from seven Java open-source projects. We find that there are opportunities for APR techniques to improve their effectiveness by looking at code elements that have not yet been investigated. We also discuss nine insights into tuning automated repair tools. For example, a small number of statement and expression types are recurrently impacted by real-world patches, and expression-level granularity could reduce search space of finding fix ingredients, where previous studies never explored.

AB - Bug fixing is a time-consuming and tedious task. To reduce the manual efforts in bug fixing, researchers have presented automated approaches to software repair. Unfortunately, recent studies have shown that the state-of-The-Art techniques in automated repair tend to generate patches only for a small number of bugs even with quality issues (e.g., incorrect behavior and nonsensical changes). To improve automated program repair (APR) techniques, the community should deepen its knowledge on repair actions from real-world patches since most of the techniques rely on patches written by human developers. Previous investigations on real-world patches are limited to statement level that is not sufficiently fine-grained to build this knowledge. In this work, we contribute to building this knowledge via a systematic and fine-grained study of 16,450 bug fix commits from seven Java open-source projects. We find that there are opportunities for APR techniques to improve their effectiveness by looking at code elements that have not yet been investigated. We also discuss nine insights into tuning automated repair tools. For example, a small number of statement and expression types are recurrently impacted by real-world patches, and expression-level granularity could reduce search space of finding fix ingredients, where previous studies never explored.

KW - Abstract syntax tree

KW - Fix pattern

KW - Program patch

UR - http://www.scopus.com/inward/record.url?scp=85058333823&partnerID=8YFLogxK

U2 - 10.1109/ICSME.2018.00037

DO - 10.1109/ICSME.2018.00037

M3 - Conference Paper

SN - 781538678718

SP - 275

EP - 286

BT - Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018

A2 - Khomh, Foutse

A2 - Lo, David

PB - IEEE, Institute of Electrical and Electronics Engineers

CY - Piscataway NJ USA

ER -

Liu K, Kim D, Koyuncu A, Li L, Bissyande TF, Le Traon Y. A closer look at real-world patches. In Khomh F, Lo D, editors, Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution - ICSME 2018: 23–29 September 2018 Madrid, Spain. Piscataway NJ USA: IEEE, Institute of Electrical and Electronics Engineers. 2018. p. 275-286. 8530036 https://doi.org/10.1109/ICSME.2018.00037