PPM: Automated Generation of Diverse Programming Problems for Benchmarking Code Generation Models