FYI

소스코드 유사도 검사, 카피 잡기 Code plagiarism detector - MOSS (Windows GUI)

FATKITTY 2021. 4. 29. 06:27
반응형

자료구조 TA 하는데 코드 카피하는 사람들이 의외로 많다. 안 들킬줄 알았나보다.

조금의 수정도 없이 뻔뻔하게 족보를 그대로 제출하는 사람들이 있는 반면,

교묘하게 함수명/변수명을 바꾸는건 너무나 뻔한 수법이고,

if (smth == NULL) A else B 가 원문이면 

if (smth != NULL) B else A 이런식으로 순서를 조금 바꿔서 안 들키려고 하는 사람도 있었다.

뭐라도 조금 바꾼건 노력이 가상하다고 해야하나?

아무튼 인터넷 공개 소스코드는 어디까지나 참고만 해야한다.

 

딱 보기에 베낀게 뻔해서 바로 0점 매기려고 했는데 확실하게 짚고 가고싶었다.

그래서 소스코드 유사도는 어떻게 측정하는지 찾다가 MOSS를 발견.

 

사용법은 how to use moss치면 많이 나오는데 보니까 다 linux 기준이고 대부분 4~5년 전 글이었음.

설상가상으로 이메일을 보내면 자동응답으로 아이디를 부여해준다는데

난 그 자동응답 이메일조차 안 왔다.

더 이상 서비스 지원이 안 되는건가 싶어서 포기하려던 참에 어떤 친절한 블로그 글 보고 해결 ㅠㅠ

 

moss@moss.stanford.edu에 메일 보냈는데 아무리 기다려도 답장이 안 온다면

양식을 복붙해서 보내서 그런 것이다.

registeruser

mail (이메일)

이 양식을 직접 타이핑해서 다시 보내면 1~2분 내로 답장이 온다.

이메일 제목은 상관 없음!

 

무조건 직접 타이핑!
좀만 기다리면 자동응답 이메일이 온다.

 

🔽 윈도우용 MOSS는 아래 깃허브에서 다운 받아서 설치하면 된다.

github.com/shanemay/MossApp

 

shanemay/MossApp

A GUI application for submitting code files to MOSS - shanemay/MossApp

github.com

Download ZIP 클릭하고
다운받은 MossApp-master.zip에서 Publish 파일에 위치한 setup.exe를 클릭해서 설치해준다.
그리고 MossApp-master 경로에서 MossApp.sln을 실행한다.
무슨 경고문 같은게 뜨는데 확인 누르면 이렇게 설치가 시작된다. (Visual Studio 2019 기준)

 

설치가 끝났다면 이제 id를 입력하고 돌리면 된다.

답장 이메일에 user id가 부여돼있다. (9-digit number)

 

반응형

 

option M은 왜인지 잘 모르겠지만 10으로 하래서 10으로 설정함.

맨 위에 user id를 입력하고, Choose Source Files에서 유사도를 검사하고자 하는 소스코드를 모아놓은 파일을 선택해준다.

물론 소스코드 파일을 하나씩 선택해서 넣을수도 있지만 한 파일에 모조리 다 모아놓고 돌리는게 편하다.

 

cpp파일과 이미지파일들이 뒤섞임 ㅜㅜ

그런데 나는 제출물을 다운받을 때 약 100명의 수강생들의 이름,학번>각자의 소스코드.cpp와 실행화면.png로 구성된 zip파일로 다운받아지기 때문에, 일일이 cpp파일만 따로 뽑아서 파일 만들기가 너무 번거로웠다.

그래서 방법이 없나 했는데, 역시 스탠포드는 이런 경우까지 생각해줬나보다 ㅠㅠb

오른쪽에 Restrict File Types를 체크하면 특정 확장자만 선택되도록 설정해줄 수 있다.

나 같은 경우에는 cpp와 png 파일이 뒤섞여있는 파일에서 cpp만 선택되도록 .cpp로 restrict file type을 해줬다.

 

restrict file type; only accept .cpp

이렇게 하면 이미지파일 빼고 cpp파일만 선택된다!

 

이제 이 상태에서 Send Request를 클릭하고 조금만 기다리면 링크가 뜬다.

프로그램 응답없음이 떠도 침착하게 기다리면 된다.

 

저 링크를 클릭하면 Moss Results 페이지가 뜬다.

 

92% ㅋㅋㅋ

테스트해본 결과, 교묘하게 코드 순서를 바꾸고 함수명도 바꾸고 주석도 좀 수정해주면

일치율이 약 50% 정도 나온다.

그래서 50%~60%는 뜯어보면 카피가 맞지만,

"난 참고만 했을 뿐 베낀건 아니다"라고 하면 할 말이 없는 정도의 수준?

80% 이상은 정말 빼박🙄🙄

 

 

  ❤와 댓글은 큰 힘이 됩니다. 감사합니다 :-)  

반응형