SpecGen: Automated Generation of Formal Program Specification via Large Language Model