PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/11/10 23:09:02
Name 무제
Subject 치팅 검사 프로그램에 대해서

주로 프로그래밍 코드를 짜는 과목에서 다른 사람 코드를 베꼈나 안 베꼈나
어떤 프로그램을 돌려서 확인을 한다고 하는데요,

교수님이 말씀하시기를 변수이름 바꾸는건 당연하고 코드가 작동하는 구조를 조금 변경한것이라도
남의 것을 베낀것이라면 100% 잡아낼 수 있다고 자신하십니다. 미국 대학에서 널리 쓰인다고 하는데..

그런 프로그램들이 어떻게해서 치팅을 잡아내는지 그 원리가 궁금합니다.

ps. MOSS 말고도 유사한 프로그램이 있나요? 있다면 그 원리는 어떤것인가요.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
포프의대모험
09/11/11 01:41
수정 아이콘
어엄청 복잡한게 아니라면 짜는 과정에서 상당히 비슷해질 수 있을거같은데 의도한거랑 아닌거랑 구별해낸다는게..
프로그래밍쪽은 잘 모르지만 고등학교 선생님들이 흔히 써먹으신
"훼이크다 비읍시옷드라!" 아닐까 조심스레..?(피해의식에 찌들었음 ㅠㅠ)
이디어트
09/11/11 01:51
수정 아이콘
치팅프로그램이랑 같은 구조인진 모르겠지만, 저희학교는 레포트 검사기가 있습니다.
워드파일로 낸 레포트를 글자가 얼마나 똑같은지로 검사를 하는 원리인데요..
(문단 위치좀 바꿔주고, 글자 크기, 자간, 스타일 따위는 바로바로 들통난다고 하네요)
저희학교에선 교수님들에게 배포했다고 하더군요.

이런 원리랑 같은거라면.. 프로그래밍을 안해봐서 잘 모르겠네요;;

글 같은거라면 남의것을 배끼는게 글자같은거만 봐도 충분히 알수있다고 생각되긴 하지만..
프로그래밍은 전혀 다른사람 두명이 짠다고 완전 다른 알고리즘을 가져가나요??;;
그렇게 복잡한 프로그래밍을 해본적이 없어서..
주로 프로그래밍 짜는 수업이라면 전공이 프로그래밍 짜는건 아니고, 교과 커리큘럼안에 있다는 말씀 같은데.. 그런 수준이라면 좀 쉬운 문제가 나온다고 생각이 되는데..
만약 그런식으로 단순한 알고리즘이라면 교수가 내민 카드는 노페어로 뻥카치는게 아닐까 싶네요..

전공 수준으로 어렵게 낸다면.. 배낀거 백퍼 들킬수도 있다고 생각합니다;;
MoreThanAir
09/11/11 03:07
수정 아이콘
원리야 뭐 코드의 진행방식 (루프의 위치나 변수의 할당 위치 등등) 해서 구조적으로 파악하는 것이겠죠. 그렇게 때문에 변수 이름 몇 개 바꾼다고 소용도 없을껍니다. 일종의 Machine learning방식으로 여러 데이타를 축적해서 표절을 판별할 수도 있을껍니다.

참고로 뻥카는 아니니깐 절대 베낄 생각은 하지 마세요. 제가 걸려봐서 압니다. 지난 학기 네트워크 과목 들었던 선배코드를 참고로 해서 IP를 정수에서 스트링으로 바꾸거나 등등의 기본적인 툴 함수만 몇 개 가져다 썼는데도 교수가 작년 들었던 그 선배 아이디까지 바로 알고 그 사람이 누구길래 코드를 준거냐고 다그치더군요. 프로그램 뼈대는 베낀 것이 아니고 간단한 툴함수만 가져다 썼다고 해서 겨우 academic integrity 문제로는 안 넘어갔습니다만 조심하셔야 합니다.

프로그래밍언어도 우리가 일반적으로 쓰는 언어보다 훨씬 간단한 언어형태이니 충분히 베낀걸 잡아낼 수 있습니다. 우리가 쓰는 복잡한 언어로 쓰는 논문 등도 표절을 찾아내는 소프트웨어가 있거든요. 재미삼아 말씀드리면 얼마 전 타임지 기사에 표절을 잡아내는 소프트웨어를 이용하여 세익스피어의 새로운 소설을 찾아내었다는 내용도 있었습니다-
정신놓은너구
09/11/11 07:04
수정 아이콘
해당 프로그래밍 언어의 스캐너 및 파서를 구현해서 AST(abstract syntax tree) 를 생성한 다음, 축적된 여러 데이터와 비교해서 유사도를 측정하는 방식으로 알고 있습니다. 뭐 억지로 예를 들자면 영어에서 보면 1형식 부터 5형식(...이었던가;;) 문장 구조가 있지 않습니까. 프로그래밍 언어 또한 그 빌어먹으실 노암 촴스키 교수의 언어학에서 기반하기 때문에 소스에서 해당 프로그래밍 언어의 문장 구조를 분석한 다음 그걸 매치시켜 보는거죠.

단순히 글자 매칭이나 라인 별 매칭이 아니라 프로그램 구조에 대한 비교이기 때문에, 탐지율은 상당히 높습니다. 뭐, 아예 작정하고 바꾼다면 안걸릴 수는 있습니다만 그런 수고를 할 능력과 시간이 있다면 차라리 직접 소스를 짜는게 훨씬 스트레스 덜 받을 겁니다.;;;;
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
공지 통합 공지사항 + 질문 게시판 이용에 관하여. [22] 항즐이 08/07/22 90694
163976 야구 질문입니다 [6] 一切唯心造75255 13/04/03 75255
163975 이런 계산이 가능한가요? [5] 시미군92186 13/04/03 92186
163974 4월말-5월초에 입고 나가기 좋은 스타일 어디서 볼 수 있나요? [2] 자음연타좀73965 13/04/03 73965
163951 쿼티폰 추천부탁드립니다 [11] 천둥63884 13/04/03 63884
163950 요즘 할만한 게임 뭐가 있나요? [10] 목화씨내놔68747 13/04/03 68747
163949 bm코드 짚기가 너무 어려운데 어떻게 하셨나요? [12] 뽀로로75347 13/04/03 75347
163948 여행사에 대해서 궁금한점이 있습니다 [4] 소녀시대컴백59019 13/04/03 59019
163947 세들어사는집을 비워둔 상태인데 수도요금은 계속 내야하는건가요 ? [18] Ha.록74197 13/04/03 74197
163946 이렇게 하면 살을 얼마나 뺄 수 있을까요? [10] 연애박사71033 13/04/03 71033
163945 lol이 중고등학생 친목용 게임으론 최고인 것 같지만... [34] 창이95857 13/04/03 95857
163943 변 질문 ......... [1] 피지컬보단 멘탈57972 13/04/03 57972
163942 혹시 서울 재즈 페스티벌 가려고 계획하시는분 있으세요?! [5] Nujnah_Eab55836 13/04/03 55836
163941 류현진선수 대뷔전 [6] 가게두어라61439 13/04/03 61439
163940 노트북이 맛이 갔습니다. [1] 시지프스57822 13/04/03 57822
163939 축구 룰 질문드립니다 - 홈 & 어웨이 방식 [5] Dwyane56056 13/04/03 56056
163938 니달리와 트포에 대해서. [8] 자기 사랑 둘60186 13/04/03 60186
163937 [퍼드]60랭 진로조언+인벤 활용법좀 [5] 이즈리얼54366 13/04/03 54366
163935 악성코드 이건 어떤 프로그램이 좋나요?? [3] 김치찌개57101 13/04/03 57101
163934 경제 문제 하나 여쭤보고 싶습니다 [2] 643634632656686 13/04/03 56686
163931 미국 학생비자 질문드려요... [3] 神용재56981 13/04/03 56981
163930 발음과 발성은 후천적으로 고칠수 없나요? [12] H266265 13/04/03 66265
163929 저가형 헤드폰 하나 추천해주시겠어요? [3] azurespace52010 13/04/03 52010
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로