Skip to main content
QUICK REVIEW

[논문 리뷰] Open-ended Exploration of the Program Repair Search Space with Mined Templates: the Next 8935 Patches for Defects4J.

Matías Martínez, Martin Monperrus|arXiv (Cornell University)|2017. 12. 11.
Software Engineering Research인용 수 3
한 줄 요약

이 논문은 미네랄 템플릿을 사용하여 초거대한 검색 공간을 탐색하는 프로그램 복구 접근법인 Cardumen을 소개한다. 이 접근법은 77개의 Defects4J 버그에서 테스트 셋 적합한 패치 8,935개를 발견하여 새로운 기록을 수립했으며, 이는 이전에 알려지지 않은 8개의 올바른 패치를 식별한 것이다.

ABSTRACT

In this paper our goal is to perform an open-ended exploration of the program repair search space. Our idea is to collect the largest number of test-suite adequate patches, independently of whether they are fully correct or overfitting. For that, we design Cardumen, a repair approach based mined templates that has an ultra-large search space. We evaluate the capacity of Cardumen to discover test-suite adequate patches (aka plausible patches) over the 356 real bugs from Defects4J by Just et al. (2014). Cardumen finds 8935 patches over 77 bugs of Defects4J. This is the largest number of automatically synthesized patches ever reported, all patches being available in an open- science repository. Moreover, Cardumen identifies 8 unique patches, that are patches for Defects4J bugs that were never repaired in the whole history of program repair.

연구 동기 및 목표

  • 정확한 패치를 넘어서 프로그램 복구 검색 공간의 개방형 탐색을 수행하기 위해.
  • 정확성이나 과적합 여부에 관계없이 가능한 한 많은 테스트 셋 적합(유력한) 패치를 식별하기 위해.
  • 실제 세계의 Defects4J 버그에 대해 이전에 알려지지 않은 올바른 패치를 발견하기 위해.
  • 모든 발견된 패치를 연구 재사용을 위해 개방 과학 레포지터리에 공개하기 위해.

제안 방법

  • Cardumen은 미네랄 템플릿을 사용하여 수많은 문법적 복구 후보를 생성한다.
  • 기존 패치의 코드 조각을 재조합하여 초거대한 검색 공간을 체계적으로 탐색한다.
  • 기존 복구 데이터를 활용하여 공통적인 복구 패턴을 추출하고 이를 템플릿으로 재사용한다.
  • 정확성을 기준으로 하기보다는 테스트 셋 적합성으로 패치를 검증함으로써 발견 수를 극대화한다.
  • 이 방법은 개방형이 되도록 설계되어 있으며, 유력한 패치의 수와 다양성을 우선시한다.
  • 모든 생성된 패치는 재현 가능성과 재사용을 위해 개방형 레포지터리에 수집 및 공개된다.

실험 결과

연구 질문

  • RQ1템플릿 기반 접근법을 사용하여 Defects4J 벤치마크에서 발견할 수 있는 최대 테스트 셋 적합 패치 수는 얼마인가?
  • RQ2이 중에서 프로그램 복구 역사상 이전에 생성된 바가 없는 패치는 몇 개인가?
  • RQ3개방형 탐색 전략은 다양하고 잠재적으로 올바른 유력한 패치를 발견할 수 있는가?
  • RQ4미네랄 템플릿을 사용해 효과적으로 탐색할 수 있는 복구 검색 공간의 규모는 얼마인가?
  • RQ5실제 세계의 Defects4J 버그에 대해 이전에 알려지지 않은 올바른 패치는 몇 개인가?

주요 결과

  • Cardumen은 356개의 Defects4J 버그 중 77개에서 테스트 셋 적합한 패치 총 8,935개를 발견하였다.
  • 이 연구에서 보고된 바에 따르면, 자동으로 합성된 패치의 수가 가장 많다.
  • 이 방법은 프로그램 복구 역사상 이전에 생성된 적이 없는 8개의 고유한 패치를 식별하였다.
  • 발견된 패치의 대부분은 유력하지만 반드시 정확한 것은 아니었으며, 이는 개방형 탐색의 가치를 강조한다.
  • 모든 8,935개의 패치는 향후 연구를 위해 개방 과학 레포지터리에서 공개되어 있다.
  • 결과는 초거대 규모의 템플릿 기반 복구 공간 탐색의 가능성과 가치를 입증한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.