  Automatic patch generation can significantly reduce the window of exposure
after a vulnerability is disclosed. Towards this goal, a long-standing problem
has been that of patch localization: to find a program point at which a patch
can be synthesized. We present PatchLoc, one of the first systems which
automatically identifies such a location in a vulnerable binary, given just one
exploit, with high accuracy. PatchLoc does not make any assumptions about the
availability of source code, test suites, or specialized knowledge of the
vulnerability. PatchLoc pinpoints valid patch locations in large real-world
applications with high accuracy for about 88% of 43 CVEs we study. These
results stem from a novel approach to automatically synthesizing a test-suite
which enables probabilistically ranking and effectively differentiating between
candidate program patch locations.
