English

ObjSim: Lightweight Automatic Patch Prioritization via Object Similarity

Software Engineering 2020-06-11 v1

Abstract

In the context of test case based automatic program repair (APR), patches that pass all the test cases but fail to fix the bug are called overfitted patches. Currently, patches generated by APR tools get inspected manually by the users to find and adopt genuine fixes. Being a laborious activity hindering widespread adoption of APR, automatic identification of overfitted patches has lately been the topic of active research. This paper presents engineering details of ObjSim: a fully automatic, lightweight similarity-based patch prioritization tool for JVM-based languages. The tool works by comparing the system state at the exit point(s) of patched method before and after patching and prioritizing patches that result in state that is more similar to that of original, unpatched version on passing tests while less similar on failing ones. Our experiments with patches generated by the recent APR tool PraPR for fixable bugs from Defects4J v1.4.0 show that ObjSim prioritizes 16.67% more genuine fixes in top-1 place. A demo video of the tool is located at https://bit.ly/2K8gnYV.

Keywords

Cite

@article{arxiv.2006.04911,
  title  = {ObjSim: Lightweight Automatic Patch Prioritization via Object Similarity},
  author = {Ali Ghanbari},
  journal= {arXiv preprint arXiv:2006.04911},
  year   = {2020}
}

Comments

Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA '20), July 18--22, 2020, Virtual Event, USA

R2 v1 2026-06-23T16:09:42.829Z