christopherbitti9's blog

By christopherbitti9, 5 months ago, In English

I am a firm believer that the Codeforces and broader competitive programming community is being underutilized in the fight against cheaters. I want to create a platform where people can upload evidence that certain Codeforces users are cheating. Evidence can then be added to those reports by other people to build cases against the suspected cheaters.

This would provide a centralized reporting system for our community and a suspect database for Codeforces admins to look through.

I would also implement a voting feature. Every case file will have a "suspicion score" attached to it based on how many users voted that the person is guilty versus how many voted that they are not. Each vote and user on the platform will have to be tied to a Codeforces account to avoid flooding the platform with new accounts to vote for a cheater's innocence.

If a user has successfully identified a cheater before on the platform, their "investigator score" will increase, which in turn will make their votes count for more than the votes of regular users.

If the suspicion score of a case exceeds a certain threshold, the Codeforces handle of the suspected user will be made public so that Codeforces admins can consider banning them.

What do you guys think of this concept? If you have any objections or ideas, please share them!

If we are to do this, if we are to survive as a competitive community, everyone needs to keep their eyes peeled for verminous cheaters. My recommendation is that after every contest, look at the performances, submissions, and profile trends of the two people ranked ahead of you and the two people ranked below you. If everyone does this, no cheaters will slip through the cracks. They'll eventually slip up and do something weird.

»
5 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by christopherbitti9 (previous revision, new revision, compare).

»
5 months ago, hide # |
 
Vote: I like it +2 Vote: I do not like it

I think the codeforces admins are very sluggish in hearing of queries like banning cheaters and helping innocnet people remove their plag. It won't be that helpful until they come to action. Otherwise, many know the people who cheat but can't take any action against them.

  • »
    »
    5 months ago, hide # ^ |
     
    Vote: I like it +9 Vote: I do not like it

    I think that part of the reason for that is that most of the reports come in through the blog system which is messy. A lot of threads get lost within days. This platform would provide a centralized record of all reports ensuring that, eventually, all suspicious cases will be dealt with.

»
5 months ago, hide # |
 
Vote: I like it +12 Vote: I do not like it

There is a cheater database already created by macaquedev Here you go

»
5 months ago, hide # |
Rev. 2  
Vote: I like it +3 Vote: I do not like it

There is already a cheater reporting system, albeit less sophisticated. And people usually create blogs for sharing evidence. I don't think the main problem is a lack of a system for these things.

Plus, it is only possible to find evidence when the cheater is very lazy (e.g. copying code). With current methods, it is not possible to catch a cheater who uses an LLM merely to learn a solution or a cheater who relies on a friend during a contest. And even if we succeeded in preventing lazy cheating, cheaters would just adapt. Therefore, cheating is too large of a problem to be solved with code evidence.

The only effective ways I know of to permanently battle cheating are by enforcing in-person surveillance or by removing an incentive to compete for people who are not truly interested in competitive programming.

  • »
    »
    5 months ago, hide # ^ |
     
    Vote: I like it 0 Vote: I do not like it

    I never said we should only analyze people's code. We should analyze their rating growth trends, account age, etc. Anyone making a new account these days should immediately be placed on a suspect list. If their rating balloons, they'll need to explain themself and provide evidence that they had competitive programming experience already. If they already had been competing somewhere like AtCoder, they'll need to prove the account link (this is not hard to do). If someone goes from performing at a 1200 level to performing at a 2200 level, that immediately requires explanation.

    The only way cheaters can get around this is by using AI very carefully to emulate slow, natural rating growth over the course of, say, a year. Most of these cheaters are dogs who are desperate for a job and think competitive programming will help them get one. If they are forced to play the long game for 6 months to a year, competitive programming will become significantly less valuable to them.