ObjSim: Lightweight Automatic Patch Prioritization via Object Similarity

06/08/2020
by   Ali Ghanbari, et al.
0

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 genuine fixes in top-1 place. A demo video of the tool is located at https://bit.ly/2K8gnYV.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset