본문으로 바로가기

http://theory.stanford.edu/~aiken/moss/


stanford에서 만든 moss라는 프로그램으로 간단히 코드 카피를 체크할 수 있다.


우리가 받을 프로그램은 정확히는 프로그램이 아니고,

그냥 서버로 내가 비교할 파일들을 보내는 perl 스크립트이다.


이 파일들의 카피 여부는 서버가 알아서 잘 판단해주고 그걸 웹에서 보여준다..


맨 위에 있는 링크를 타고 들어가면 위와 같은 글이 뜨는데,

다들 영어를 잘하니까 알겠지만, moss@moss.stanford.edu에 메일을 보내라고 한다.


메일 제목은 아무거나 적어도 되고,

메일 내용만

registeruser 
mail username@domain


위와 같은 형식을 유지하면 된다. (여기서 메일 주소 부분만 자기 메일 주소로 수정해주면 된다.)




메일보내고 1~3분 정도 있으면 답장이 온다. (당근 자동답장이지)



대충 위와같이 메일이 온다.

cut here아랫부분을 전부 복사해서

아무 곳에다가 moss.pl 이라는 파일을 만들고 붙여넣는다. (이름을 moss로 해도 상관없다.)

$ sudo chmod ug+x moss.pl

위와 같은 명령어를 입력해서 실행이 가능하도록 바꾸는것도 잊지말자.


참고로 mac os나 ubuntu말고 windows에서 사용하려면,

https://www.youtube.com/watch?v=f7RMWvN0KTc 여기 동영상을 참고하면 되겠다.

외국어로 말하지만 어차피 그림보면 다 이해가 간다. ㅋㅋㅋ



해당 파일은 perl로 작성되었으므로, 당연히 perl이 깔려있어야 한다. 아마 대부분 perl은 깔려 있을것이다.

없으면 역시

$ sudo apt-get install perl

로 깔아준다.



이제 moss.pl이 있는 경로에서 ./moss.pl로 코드 카피를 적발하는 프로그램을 쓸 수 있다.


만약 내가 채점해야하는 코드들이 전부 c언어이면


$ ./moss.pl -l c *.c

또는

$ perl moss.pl -l c *.c

라는 명령어로 실행할 수 있다.




다 실행하고 나면 url하나를 알려주는데, 그 주소를 타고 들어가서 웹에서 확인하면 된다.

위의 스샷에서는 http://mosss.stanfor.end/results/2652.... 이 부분이다.



해당 사이트에 들어가면, 아래와 같이 결과가 나온다.



%는 어느정도 일치하는지를 보여주는데,

물론 적당히 높은거 까서 보면 엄청난 일치율을 보여주는 것을 확인 할 수 있다.

변수명 바꾸고 위치바꾸고 해봐야 moss 손바닥이다. ㅋㅋㅋㅋㅋㅋ








이게 95%나 뜬건데,

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

저 스샷이 전부를 보여주는 건 아니지만 암튼 별짓 다한다 정말 ㅋ


moss를 계속 써야 한다면, ~/.bash_profile에 등록해서 쓰는것도 좋은 방법이다.



만약 c, java 같은 코드들을 전부 섞어서 체크해야 한다면,

$ moss.pl *.c *.java

이런식으로 써주면 된다.

다만, -l 태그를 써서 언어를 확실히 지정해 주는 것이 더 좋다.






아무튼 베끼지 맙시다~!



#코드 #카피 #cheating #moss #code copy #detecting plagiarism

'Development > open sources' 카테고리의 다른 글

오늘 만든 Makefile (PS용)  (0) 2017.01.25
Moss - Detecting Plagiarism (코드 카피 체크 프로그램)  (7) 2016.12.20
vim 통합 플러그인  (0) 2016.12.16

댓글을 달아 주세요

  1. BlogIcon sgc109 2018.06.22 14:08

    '암튼 별짓 다한다 정말 ㅋ'
    ㅋㅋㅋㅋㅋㅋㅋ
    이번에 TA하는데 도움이 많이되네요!

  2. SynProngs 2018.10.01 13:51

    왜 전 답장이 안올까요...?

  3. sibal123 2019.05.02 00:21

    윈도우에서 모든 파일을 선택하는게 안되나요?
    예를들어 *.c *.cpp 이런식으로요..
    파일이 존재하지 않는다는 오류가 계속 나오네요ㅠㅠ

    • BlogIcon plzrun 2019.05.03 12:07 신고

      글쎄요.. 제가 이걸 Windows에서 사용해본적은 없어서 잘 모르겠네요.
      근데, Windows에서도 Globbing(Regex는 아니지만 *.c와 같은 표현식)이 동작합니다.

    • ieggiegg@naver.com 2019.05.08 16:33

      저도 동일하게 문제가 발생하는데 혹시 해결하셨나요?