Question: have gave or have given?
Answer: Both are correct, and it will depend on location which form is more commonly used. (I would consider had given to be the correct answer but gave would be ok.) kept is the imperfect form of keep, gave is the imperfect form of give and had given is the perfect form [of give].