This article discusses several cheating-deterrent methods (education, evaluation, clear expectations, etc.) and evaluates their combined effectiveness in reducing cheating in a CS1 course.
I use all of these methods in all of the courses I teach, and I find that rates of students cheating fluctuate significantly over time. In particular, I had managed to get violations (at least, identified violations) down to nearly nil for a few consecutive semesters, but this past semester they spiked significantly. Many students blamed ChatGPT, but it is my professional opinion that old-fashioned plagiarism was at least as well represented as ChatGPT even for students who blamed the usage of ChatGPT for their infractions.