• Title/Summary/Keyword: 프로그램 표절

Search Result 49, Processing Time 0.025 seconds

A Program Similarity Check by Flow Graphs of Functional Programs (흐름 그래프 형태를 이용한 함수형 프로그램 유사성 비고)

  • Seo Sunae;Han Taisook
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.4
    • /
    • pp.290-299
    • /
    • 2005
  • Stealing the source code of a program is a serious problem not only in a moral sense but also in a legal sense. However, it is not clear whether the code of a program is copied from another or not. There was a program similarity checker detecting code-copy by comparing the syntax trees of programs. However this method has a limitation that it cannot detect the code-copy attacks when the attacker modifies the syntax of the program on purpose. We propose a program similarity check by program control graph, which reveals not only syntax information but also control dependancy. Our method can detect the code-copy attacks that do not change control dependancy Moreover, we define what code-copy means and establish the connection between code-copy and similarity of program control graph: we prove that two programs are related by copy congruence if and only if the program control graphs of these programs are equivalent. We implemented our method on a functional programming language, nML. The experimental results show us that the suggested method can detect code similarity that is not detected by the existing method.

Survey on Program Clone Detection Methods (프로그램 표절 검출 방법에 대한 조사)

  • Lee Hyo-Sub;Doh Kyung-Goo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.07b
    • /
    • pp.916-918
    • /
    • 2005
  • 표절이란 원본 자료의 출처를 밝히지 않고 사용하는 행위인데, 프로그램 표절은 표절로 의심되는 유사 소스코드를 말한다. 프로그램 표절을 검출하는 방법은 소스코드의 토큰 요약 후 비교하거나 단어와 키워드의 개수를 측정해 통계적으로 비교, 계산하거나 또는 프로그램의 구문구조를 비교하는 등 여러 접근 방법이 있다. 본 조사 보고서에서는 프로그램 표절 검출 방법 및 응용 도구에 대한 최근 연구 동향을 조사하여 정리하고 향후 발전 방향을 토론한다.

  • PDF

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

  • Park, Sung-Yun;Han, Sang-Yong
    • The KIPS Transactions:PartD
    • /
    • v.13D no.6 s.109
    • /
    • pp.833-838
    • /
    • 2006
  • Program Plagiarism is an infringement of software copyright. In detecting program plagiarism, many different source program comparison methods has been studied. But, it is not easy to detect plagiarized program that made a few cosmetic changes in program structures and variable names In this paper, we propose a new ground-breaking technique in detecting plagiarism by Memory Access Log Analysis.

Automated Detecting and Tracing for Plagiarized Programs using Gumbel Distribution Model (굼벨 분포 모델을 이용한 표절 프로그램 자동 탐색 및 추적)

  • Ji, Jeong-Hoon;Woo, Gyun;Cho, Hwan-Gue
    • The KIPS Transactions:PartA
    • /
    • v.16A no.6
    • /
    • pp.453-462
    • /
    • 2009
  • Studies on software plagiarism detection, prevention and judgement have become widespread due to the growing of interest and importance for the protection and authentication of software intellectual property. Many previous studies focused on comparing all pairs of submitted codes by using attribute counting, token pattern, program parse tree, and similarity measuring algorithm. It is important to provide a clear-cut model for distinguishing plagiarism and collaboration. This paper proposes a source code clustering algorithm using a probability model on extreme value distribution. First, we propose an asymmetric distance measure pdist($P_a$, $P_b$) to measure the similarity of $P_a$ and $P_b$ Then, we construct the Plagiarism Direction Graph (PDG) for a given program set using pdist($P_a$, $P_b$) as edge weights. And, we transform the PDG into a Gumbel Distance Graph (GDG) model, since we found that the pdist($P_a$, $P_b$) score distribution is similar to a well-known Gumbel distribution. Second, we newly define pseudo-plagiarism which is a sort of virtual plagiarism forced by a very strong functional requirement in the specification. We conducted experiments with 18 groups of programs (more than 700 source codes) collected from the ICPC (International Collegiate Programming Contest) and KOI (Korean Olympiad for Informatics) programming contests. The experiments showed that most plagiarized codes could be detected with high sensitivity and that our algorithm successfully separated real plagiarism from pseudo plagiarism.

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

  • Ahn Byung-Ryul;Kim Moon-Hyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2006.05a
    • /
    • pp.147-150
    • /
    • 2006
  • 본 논문에서는 각종 언어로 구현된 프로그램의 소스 코드를 표절 하였을 경우 이를 효과적으로 탐지하는 방법과 이론을 제시하고자 한다. 기존에 사용되고 있는 프로그램 표절(plagiarism) 검사 소프트웨어의 장단점을 분석하고, 특히 단점을 극복하기 위한 방법으로 Pattern Matching을 이용한 표절 검출방법을 소개한다. 그리고 기존의 Pattern Matching을 이용한 방법에서 나타나는 문제점을 극복하여 좀 더 발전된 방식의 자동 표절 검출 시스템을 소개하고자 한다.

  • PDF

A Plagiarism Detection Technique for Java Program Using Bytecode Analysis (바이트코드 분석을 이용한 자바 프로그램 표절검사기법)

  • Ji, Jeong-Hoon;Woo, Gyun;Cho, Hwan-Gue
    • Journal of KIISE:Software and Applications
    • /
    • v.35 no.7
    • /
    • pp.442-451
    • /
    • 2008
  • Most plagiarism detection systems evaluate the similarity of source codes and detect plagiarized program pairs. If we use the source codes in plagiarism detection, the source code security can be a significant problem. Plagiarism detection based on target code can be used for protecting the security of source codes. In this paper, we propose a new plagiarism detection technique for Java programs using bytecodes without referring their source codes. The plagiarism detection procedure using bytecode consists of two major steps. First, we generate the token sequences from the Java class file by analyzing the code area of methods. Then, we evaluate the similarity between token sequences using the adaptive local alignment. According to the experimental results, we can find the distributions of similarities of the source codes and that of bytecodes are very similar. Also, the correlation between the similarities of source code pairs and those of bytecode pairs is high enough for typical test data. The plagiarism detection system using bytecode can be used as a preliminary verifying tool before detecting the plagiarism by source code comparison.

The Tracing Method of Program for Plagiarism Detection (표절검사를 위한 프로그램 추적기법)

  • Ji, Jung-Hoon;Woo, Gyun;Cho, Hwan-Gyu
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2006.11a
    • /
    • pp.709-712
    • /
    • 2006
  • 표절을 검사하는 방법으로는 문서 내의 특정 정보들을 추출하여 비교하는 지문법(fingerprint)과 파스트리(parse tree)와 같이 프로그램의 특정한 구조를 이용하여 문서의 구조적 유사성을 검사하는 구조적(structure metrics) 검사방법들이 있다. 본 논문에서는 표절검사를 위한 프로그램 추적 기법을 제안한다. 프로그램 추적 기법은 프로그램을 구문단계에서 정적으로 수행을 하여 그 수행되는 함수들의 순서에 따라 주요 키워드를 추출하여 새롭게 정렬하는 방법이다. 실험결과 사용하지 않는 코드 삽입, 함수 위치 변경 및 합성 등과 같은 표절 스펙트럼에서 정의한 표절 방법에 대하여 효과적으로 검출할 수 있었다.

  • PDF

Plagiarism Inspection of S/W Programs, Documents and Plagiarism Inspection Proposal of Intellectual Properties such as Fine Arts and Ancient Literatures (프로그램, 문서에 대한 표절 감정과 미술품, 고문헌등의 지적재산권에 대한 표절 감정 방법의 제안)

  • Cho, Dong-Uk;Choi, Byung-Kap
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11b
    • /
    • pp.753-756
    • /
    • 2003
  • 본 논문에서는 프로그램 소스 코드로부터 표절을 감정하는 기술적 방법론에 대한 고찰과 자연어 형태로 쓰여진 팔에 대한 표절 형태 및 이를 감정하기 위한 기술적 방법들에 대해 살펴보고자 한다. 또한 미술품이나 고문헌등에 대한 저작자의 진위 여부 및 표절 감정은 저자뿐만 아니라 소장자의 재산가치 평가 및 문화재 관리측면에서 대단히 중요한 문제이기 때문에 이를 기술적으로 처리하기 위한 방법론을 제안하고자 한다. 최종적으로 실험에 의해 븐 논문의 유용성을 입증코자 한다.

  • PDF

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

  • Ji, Jung-Hoon;Woo, Gyun;Cho, Hwan-Gyu
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10b
    • /
    • pp.580-585
    • /
    • 2006
  • 본 논문에서는 대학생들의 프로그래밍 과제물이나 프로그래밍 경진대회에 제출된 프로그램과 같이 동일한 기능을 요구받는 프로그램 소스 집합들에서 표절 행위가 있었는지를 탐색하는 새로운 알고리즘을 제시한다. 본 논문에서는 프로그램의 소스 집합에서 추출된 키워드들의 빈도수에 기반한 로그 확률값을 가중치로 하는 적응적(adaptive) 유사도 행렬을 만들어 이를 기반으로 주어진 프로그램의 유사구간을 탐색하는 지역정렬(local alignment) 방법을 소개한다. 우리는 10여개 이상의 프로그래밍 대회에 제출된 실제 프로그램으로 본 방법론을 실험하였다. 실험결과 이 방법은 이전의 고정적 유사도 행렬(일치 +1, 불일치 -1, 갭(gap)을 이용한 일치 -2)에 의한 유사구간 탐색에 비하여 여러 장점이 있음을 알 수 있었으며, 보다 다양한 표절탐색 목적으로 제시한 적응적 유사도 행렬이 응용될 수 있음을 알 수 있었다.

  • PDF

Source code Plagiarism Detection with Recursive Local Alignments (재귀적 지역정렬을 이용한 프로그램 표절 탐색)

  • 전명재;이평준;조환규
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.946-948
    • /
    • 2004
  • 지역정렬(local alignment)과 전체정렬(global alignment)로 대표되는 정렬 문제는 전산학 분야의 전형적인 문제로, 두 서열의 전체적인 또는 부문적인 유사성(similarity)을 찾아 주기 위한 방법이다. 특히 정렬은 두 문자열에서 유사하게 나타나는 유사 서브스트링을 찾아내는 문제라든가 근래의 생물정보학에서 두 DNA시퀀스간의 유사도를 판별하는 문제 등에서 매우 중요란 기법이다. 본 논문에서는 두 서열들을 유사하게 매칭 시켜 주는 기존의 정렬 방법을 응용, 변형하여 C, C++. JAVA등으로 짜여진 프로그램 소스들의 유사도를 측정하는 방법을 제시하였다. 실제로 이런 프로그램 소스의 표절은 대학교육 수업과정 등에서 빈번하게 발생되는 문제점으로서 본 논문에서는 프로그램 소스표절을 검사, 탐지할 수 있는 방법론 및 구체적인 프로그램과 그 결과를 제시하고 있다. 아울러 두 프로그램간의 유사성을 비교하기 위해 기존의 지역정렬 방법을 보다 효율적으로 적절히 변형시키는 방법을 제시하고 있다.

  • PDF