patchanalysis