patch analysis