CodeHalu: Code Hallucinations in LLMs Driven by Execution-based Verification