• 제목/요약/키워드: plagiarism detection

검색결과 65건 처리시간 0.027초

계층적 군집화 기법을 이용한 소스 코드 표절 검사 (Hierarchical Clustering Methodology for Source Code Plagiarism Detection)

  • 손기락;문승미
    • 정보교육학회논문지
    • /
    • 제11권1호
    • /
    • pp.91-98
    • /
    • 2007
  • 인터넷 통신의 발달 및 워드프로세서의 기능 향상으로 인해 일선 교육현장에서의 표절은 심각한 문제가 되고 있다. 본 연구에서는 C, C++, Java 등으로 작성된 프로그램 소스 코드들의 유사도를 측정하는 방법을 제시하고, 소스 코드를 계층적으로 군집화하고 표절 결과를 수형도로 시각화하는 방법을 제시한다. 채점자는 시각화된 수형도를 보고 임계값을 설정하여 표절 그룹을 분리할 수 있다. 실제 데이터에서 효과를 알아보기 위해서 학부 1학년생 컴퓨터 개론 및 실습과목 강의 중에 제출된 과제물 프로그램을 이용하여 실험해 보았으며, 유용하고 현실성 있는 방법임을 확인하였다.

  • PDF

메모리 액세스 로그 분석을 통한 프로그램 표절 검출 (Program Plagiarism Detection through Memory Access Log Analysis)

  • 박성윤;한상용
    • 정보처리학회논문지D
    • /
    • 제13D권6호
    • /
    • pp.833-838
    • /
    • 2006
  • 프로그램 소스코드를 표절하는 것은 소프트웨어의 지적재산권을 침해하는 행위이다. 표절을 감추기 위하여 소스코드의 구조를 일부 바꾸거나 변수 명을 바꾸는 등의 수단을 쓰기도 하기 때문에 표절을 검출하기란 쉽지 않은 일이다. 표절 행위를 막기 위해 이를 검출하기 위한 여러 가지 방법들이 고안되었으며 대부분 프로그램의 소스코드를 다양한 방법으로 분석하여 표절 검출하려고 한다. 본 논문에서는 소스 코드에 기반하지 않고 실행중인 프로그램의 메모리 액세스 로그 분석을 통해 알고리즘 유사도를 측정하여 프로그램의 표절 여부를 검출하는 새로운 방법을 제시한다. 두 프로그램의 메모리 액세스 로그는 일반적인 스트링 비교 알고리즘을 이용하여 분석될 수 있으며, 본 논문에서는 일반적인 방법보다 특성화된 방법을 제시한다. 이를 통해 메모리 액세스 로그가 프로그램의 표절 검출도구로서 사용되어질 수 있음을 보여준다.

웹 검색과 문서 유사도를 활용한 2 단계 신문 기사 표절 탐지 시스템 (A Two Phases Plagiarism Detection System for the Newspaper Articles by using a Web Search and a Document Similarity Estimation)

  • 조정현;정현기;김유섭
    • 정보처리학회논문지B
    • /
    • 제16B권2호
    • /
    • pp.181-194
    • /
    • 2009
  • 최근 문서 저작권에 대한 관심과 중요도가 높아지고 있어 문서 표절에 관한 연구가 지속적으로 이루어지고 있다. 이러한 표절 문제는 신문기사의 경우에서도 큰 관심을 끌고 있는데, 이는 상업적 가치가 큰 기사의 표절 또는 무단도용 문제가 적지 않게 발생하고 있기 때문이다. 현재까지의 문서 표절 관련 연구는 실시간 특성이 매우 강한 신문 기사의 표절 문제에 적용하기 어려웠다. 따라서 현재는 이러한 표절 기사를 가려내기 위해 수백 개의 신문사에서 하루 수천 건씩 올라오는 기사들을 눈으로 일일이 가려내는 상황이다. 본 논문에서는 이러한 시간과 비용의 문제를 줄이기 위해 네이버와 다음에서 제공하는 웹 검색 OpenAPI를 활용해 표절 가능성이 있는 기사들을 1차적으로 선별한 다음, 선별된 기사들과 원본 기사와의 문서 유사도를 측정하여 선별된 기사들의 표절 여부를 자동으로 판정할 수 있도록 하였다. 본 연구에서는 실험을 위하여 연합뉴스에서 제공되는 기사를 원본 기사로 활용하였고, 표절 가능성이 있는 기사는 네이버 및 다음의 뉴스 서비스에서 제공되는 모든 기사 중에서 선별하도록 하였다.

유전체 서열의 정렬 기법을 이용한 소스 코드 표절 검사 (Applying Genomic Sequence Alignment Methodology for Source Codes Plagiarism Detection)

  • 강은미;황미녕;조환규
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제9권3호
    • /
    • pp.352-367
    • /
    • 2003
  • 일반적인 컴퓨터 프로그램의 구성적, 구문적 특징은 소스 코드로부터 추출한 키워드들의 서열로 나타낼 수 있다. 따라서 추출한 키워드의 서열을 비교하면 두 프로그램의 유사성과 상이점에 대해서 잘 파악할 수 있다. 서열의 유사성을 측정하는 여러 가지 방법은 생물학적 유전자 서열을 다루는 생물정보학에서 활발한 연구가 이루어져왔다. 본 논문에서 우리는 두 프로그램간의 유사성을 측정하고 서열 정렬 방법을 이용하여 부분 표절 검출을 하는 새로운 방법을 제안한다. 제시한 방법의 성능을 평가하기 위해서, 2001년 자료구조 수업에 참석한 수강생들이 제출한 프로그램을 실험 데이타로 사용하여 표절을 검사하였다. 실험결과는 제안된 기법이 표절 검사에 있어 가장 널리 사용되는 지문법(fingerprint)보다 더 효과적임을 보여 주었다.

효율적인 프로그램 표절 탐지에 관한 연구 (A Study on Efficient Program Plagiarism Detection)

  • 안병렬;김문현
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 춘계학술발표대회
    • /
    • pp.147-150
    • /
    • 2006
  • 본 논문에서는 각종 언어로 구현된 프로그램의 소스 코드를 표절 하였을 경우 이를 효과적으로 탐지하는 방법과 이론을 제시하고자 한다. 기존에 사용되고 있는 프로그램 표절(plagiarism) 검사 소프트웨어의 장단점을 분석하고, 특히 단점을 극복하기 위한 방법으로 Pattern Matching을 이용한 표절 검출방법을 소개한다. 그리고 기존의 Pattern Matching을 이용한 방법에서 나타나는 문제점을 극복하여 좀 더 발전된 방식의 자동 표절 검출 시스템을 소개하고자 한다.

  • PDF

한글 말뭉치를 이용한 한글 표절 탐색 모델 개발 (Developing of Text Plagiarism Detection Model using Korean Corpus Data)

  • 류창건;김형준;조환규
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권2호
    • /
    • pp.231-235
    • /
    • 2008
  • 최근 들어 각종 창작물에 대한 표절 사건이 빈번하게 발생하고 있다. 특히 문서들 간의 표절은 현재 많은 이슈가 되고 있다. 영어에 관한 표절연구는 서양에서 오래전부터 이뤄져 왔지만 한글은 구조적인 어려움으로 인해 아직 많은 연구가 이뤄지지 않고 있다. 한글은 영어와 구조적인 특징이 많이 다르기 때문에 영어기반의 탐색 기법을 한글 문서에 적용하기는 어렵다. 본 논문에서는 한글의 특성에 맞는 새로운 표절 탐색 기법을 소개하고 한글 말뭉치를 이용하여 그 성능을 실험해본다. 제안된 기법은 "k-mer"와 "지역정렬" 방법을 기반으로, 문서들 간의 표절구간을 매우 빠르고 정확하게 찾아낸다. 또한 우리는 천만어절 이상의 크기를 가진 한글 말뭉치를 이용하여 표절이 일어나지 않은 일반적인 문서에서 우연히 나타나게 될 유사 확률에 관한 모형을 만들었다. 시스템을 이용하여 성능을 측정해 본 결과, 표절 문서를 매우 정확하게 찾는 것을 알 수 있었다.

제한된 프로그램 소스 집합에서 표절 탐색을 위한 적응적 알고리즘 (An Adaptive Algorithm for Plagiarism Detection in a Controlled Program Source Set)

  • 지정훈;우균;조환규
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권12호
    • /
    • pp.1090-1102
    • /
    • 2006
  • 본 논문에서는 대학생들의 프로그래밍 과제물이나 프로그래밍 경진대회에 제출된 프로그램과 같이 동일한 기능을 요구받는 프로그램 소스 집합들에서 표절행위가 있었는지를 탐색하는 새로운 알고리즘을 제시하고 있다. 지금까지 보편적으로 사용되어 온 대표적인 알고리즘은 부분 스트링간의 완전 일치를 통한 Greedy-String-Tiling이나 두 스트링간의 지역정렬(local alignment)을 이용한 유사도 분석이 주된 방법론이었다. 본 논문에서는 해당 프로그램 소스의 집합에서 추출된 키워드들의 빈도수에 기반한 로그 확률값을 가중치로 하는 적응적(adaptive) 유사도 행렬을 만들어 이를 기반으로 주어진 프로그램의 유사구간을 탐색하는 새로운 방법을 소개한다. 우리는 10여개 이상의 프로그래밍 대회에서 제출된 실제 프로그램으로 본 방법론을 실험해 보았다. 실험결과 이 방법은 이전의 고정적 유사도 행렬(match이면 +1, mismatch이면 -1, gap이면 -2)에 의한 유사구간 탐색에 비하여 여러 장점이 있음을 알 수 있었으며, 제시한 적응적 유사도 행렬을 보다 다양한 표절탐색 목적으로 사용할 수 있음을 알 수 있었다.

X-treeDiff+ 기반의 프로그램 복제 탐지 (Program Plagiarism Detection based on X-treeDiff+)

  • 이석균
    • 전자공학회논문지CI
    • /
    • 제47권4호
    • /
    • pp.44-53
    • /
    • 2010
  • 컴퓨터 프로그래밍 교육에서 프로그램 복제는 프로그래밍 학습 효율을 저해하는 심각한 요인이다. 본 논문에서는 학생들이 프로그래밍 과제의 무분별한 복제를 방지하기 위해 유사 또는 동일 프로그램을 탐지하는 기법을 제안한다. 지문법이나 스트링 매칭을 기반으로 하는 기존의 탐지 기법과는 달리, 우선 C 프로그램을 파싱하여 문법요소를 엘리먼트로 하는 XML 문서로 변화시킨 후 XML 문서의 변화탐지 알고리즘인 X-treeDiff+를 실행시켜 그 차이를 분석하는 방법을 취한다. 이때 대응의 정도를 나타내는 유사도와 두 문서의 차이로 제시되는 일련의 편집연산인 편집스크립트를 프로그램 복제의 관점에서 분석하여 복제 여부에 대한 판단을 하게 된다. 편집스크립트의 분석은 두 프로그램 간의 변환 과정을 유추할 수 있게 하여 기존 방법들과는 달리 사용자는 과제의 성격이나 복제의 정도를 고려한 정성적인 판단이 가능하다는 장점이 있다.

code2vec을 이용한 유사도 감정 도구의 성능 개선 (Enhancing the performance of code-clone detection tools using code2vec)

  • 엄태호;홍성문;양준혁;장효석;도경구
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권1호
    • /
    • pp.31-40
    • /
    • 2021
  • 소스코드 표절은 원본 자료의 출처를 분명히 밝히지 않고 자신의 것처럼 사용하는 행위를 말한다. 소스코드 표절로 인한 문제는 법적인 분쟁을 다투는 경우까지 다양한 문제를 일으킨다. 소스코드의 표절 여부는 일반적으로 비교 대상 소프트웨어 프로젝트 내의 각 소스코드를 전수 비교하여 유사도를 측정하여 결정한다. 전수 비교는 표절 가능성이 전혀 없는 코드도 비교 대상에 포함하기 때문에 그만큼의 시간을 헛되이 소모한다. 소스코드 표절로 의심되는 비교 쌍만 선별하여 비교할 수 있으면 그만큼 비교 횟수는 줄어들게 되어 탐지 도구의 실행 속도를 향상시킬 수 있을 뿐만 아니라, 표절 가능성이 높은 부분만을 대상으로 탐지의 정확도를 높이는데 집중할 수도 있다. 본 논문에서는 code2vec 이라는 기계학습 모델을 활용하여 코드 클론으로 의심되는 소스코드들을 미리 분류하여 비교 횟수를 줄임으로써 소스코드 표절 탐지의 성능을 개선할 수 있음을 보인다.

클래스 구조 그래프 비교를 통한 프로그램 표절 검사 방법 (A Method for Detecting Program Plagiarism Comparing Class Structure Graphs)

  • 김연어;이윤정;우균
    • 한국콘텐츠학회논문지
    • /
    • 제13권11호
    • /
    • pp.37-47
    • /
    • 2013
  • 코드 이동성이 증가함에 따라 코드 도용이 문제가 되고 있으며 이를 대처하기 위해 프로그램 비교를 위한 연구가 많이 진행되고 있다. 이 논문은 클래스 구조를 이용하여 Java 프로그램의 표절을 검사하는 방법을 제안한다. 제안 방법은 멤버 변수와 메소드 간의 참조 관계를 나타내는 그래프를 생성한다. 변수 참조 관계는 이분 그래프 형태로 나타나는데 이렇게 생성된 그래프를 대상으로 그래프 동형 검사를 적용하여 프로그램 간의 유사도를 측정한다. 이 논문에서는 제안 방법의 효과를 입증하기 위해 2012년 부산대학교 객체지향 프로그래밍 과제로 제출된 Java 프로그램을 대상으로 실험하였다. 그리고 제안 방법의 정확도를 평가하기 위해 기존 유사도 검사 프로그램인 JPlag와 Stigmata를 대상으로 F-measure 지표를 이용해 비교하였다. 그 결과 제안 방법의 F-measure가 JPlag보다 0.17, Stigmata보다 0.34 높은 것으로 나타났다.