• Title/Summary/Keyword: 표절 검사

Search Result 42, Processing Time 0.025 seconds

Cross-Language Clone Detection based on Common Token (공통 토큰에 기반한 서로 다른 언어의 유사성 검사)

  • Hong, Sung-Moon;Kim, Hyunha;Lee, Jaehyung;Park, Sungwoo;Mo, Ji-Hwan;Doh, Kyung-Goo
    • Journal of Software Assessment and Valuation
    • /
    • v.14 no.2
    • /
    • pp.35-44
    • /
    • 2018
  • Tools for detecting cross-language clones usually compare abstract-syntax-tree representations of source code, which lacks scalability. In order to compare large source code to a practical level, we need a similarity checking technique that works on a token level basis. In this paper, we define common tokens that represent all tokens commonly used in programming languages of different paradigms. Each source code of different language is then transformed into the list of common tokens that are compared. Experimental results using exEyes show that our proposed method using common tokens is effective in detecting cross-language clones.

Web-based programming education system for providing rapid grading result (신속한 평가결과를 제공하는 웹기반 프로그래밍 교육시스템)

  • Park, So-Young;Ryu, Hye-Jung;Shim, Dong-Uk
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2009.05a
    • /
    • pp.511-514
    • /
    • 2009
  • Recently web is used for more things than ever before in education. Previous web-based programming education systems help students to check compile errors and runtime errors after submitting programming assignments anytime and anywhere. However, these previous systems cannot quickly provide the detailed assessment results on the generated answer, the coding style, and the plagiarism detection. In this paper, we propose a web-based programming education system to provide the quick results of the detailed assessment as soon as to submit programming assignments. In this system, the plagiarism detection method compares a current file with only the already uploaded files so it can provide quick feedback. The proposed web-based programming education system is applied to a real C programming language class with approximately 40 students. The proposed system tends to improve the students' participation by quick feedback.

  • 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

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

  • Sohn, Ki-Rack;Moon, Seung-Mi
    • Journal of The Korean Association of Information Education
    • /
    • v.11 no.1
    • /
    • pp.91-98
    • /
    • 2007
  • Plagiarism is a serious problem in school education due to current technologies such as the internet and word processors. This paper presents how to detect source code plagiarism using similarity based on string comparison methods. The main contribution is to use hierarchical agglomerative clustering technique to classify plagiarism groups, which are then visualized as a dendrogram. Graders can set an empirical threshold to the dendrogram to navigate plagiarism groups. We evaluated the performance of the presented method with a real world data. The result showed the usefulness and applicability of this method.

  • PDF

An Efficient Preprocessing System for Searching Similar Texts among Massive Document Repository (대용량 문서 집합에서 유사 문서 탐색을 위한 효과적인 전처리 시스템의 설계)

  • Park, Sun-Young;Kim, Ji-Hun;Kim, Seon-Yeong;Kim, Hyung-Joon;Cho, Hwan-Gue
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.5
    • /
    • pp.626-630
    • /
    • 2010
  • Since the paper plagiarism has become one of important social issues, it is necessary to develop system for measuring the similarity between papers. The speed and accuracy of the system are very important features. So many researchers are studying the features. In this paper, we propose a preprocessing method using 'Global Dictionary' model to enhance performance of the system. The global dictionary includes information of all words in the document repository. The system uses the model to find similar papers with low computing time. Finally our experiment showed that a set of more than 20,000 documents could be reduced to about 50 documents drastically by our filtering techniques, which proves the excellence of our system.

CloneChecker: A Program Similarity Checker (프로그램 유사성 검사기)

  • 장성순;서선애;이광근
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • pp.334-336
    • /
    • 2001
  • 표절을 쉽게 알아내기 위해, 프로그램 유사성 검사기(CloneChecker)를 만들었다. CloneChecker는 프로그램을 요약해서, 유사성을 계산하고, 비슷한 그룹들로 묶어 낸다. CloneChecker는 두 프로그램의 모든 부 구문트리(abstract syntax sub-tree)들을 서로 비교하므로 구문의 사소한 변화에 민감하지 않으며, 그럼에도 해쉬 함수를 이용하여 빠르게 수행된다. CloneChecker는 실제 강의에서 사용되었으며, C, Java, Scheme, nML로 짜여진 프로그램들에 대해 동작한다.

  • PDF

Java source code Similarity Measurement System (자바소스코드 유사도 측정 시스템)

  • Kim, Eun-Hye;Lee, Song-A;Heo, Jun;Han, Kyung-Sook;Oh, Yong-Chul
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.10c
    • /
    • pp.536-539
    • /
    • 2007
  • JSMS(Java source code Similarity Measurement System)는 자바 소스 코드의 유사도를 측정하고 이와 관련한 소스코드의 정보를 시각적으로 표시하는 시스템이다. 기존의 표절 검사 시스템은 소스코드의 구조적 특징을 반영하지 못해 유사도 결과의 신뢰성이 낮고 대부분 편리성과 가독성이 좋지 않아 사용하기 불편하였다. 본 논문에서 제안하는 JSMS는 이러한 단점을 보완하기 위해 함수 선형화를 사용하여 소스코드의 구조적 특징을 반영하였다. 또한 쉽고 간단한 조작으로 편리성을 제공하며, 관련 정보와 유사 구간을 시각적으로 표시하여 가독성을 높였다. 향후 다양한 언어 지원과 폭넓은 시각적 정보 제공을 보완하여 사용자의 학습 자료로 사용할 수 있으며, 소스코드 표절의 객관적 기준이 되는 도구로 활용 가능하다.

  • PDF

Performance Comparison between Haskell Eval Monad and Cloud Haskell (Haskell Eval 모나드와 Cloud Haskell 간의 성능 비교)

  • Kim, Yeoneo;An, Hyungjun;Byun, Sugwoo;Woo, Gyun
    • Journal of KIISE
    • /
    • v.44 no.8
    • /
    • pp.791-802
    • /
    • 2017
  • Competition in the modern CPU market has shifted from speeding up the clock speed of a single core to increasing the number of cores. As such, there is a growing interest in parallel programming to maximize the use of resources of many core processors. In this paper, we propose parallel programming models in Haskell to find an advisable parallel programming model for many-core environments. Specifically, we used Eval monad and Cloud Haskell to develop two versions of parallel programs: plagiarism detection and K-means. Then, we evaluated the performance of the developed programs in 32-core and 120-core environments. The results of our experiment show that the Eval monad is highly efficient in an environment with a small number of cores. On the other hand, the Cloud Haskell runtime shows 37% improvement over Eval monad and the scalability shows a 134% improvement over Eval monad as the number of cores increases.

Tuning the Performance of Haskell Parallel Programs Using GC-Tune (GC-Tune을 이용한 Haskell 병렬 프로그램의 성능 조정)

  • Kim, Hwamok;An, Hyungjun;Byun, Sugwoo;Woo, Gyun
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.8
    • /
    • pp.459-465
    • /
    • 2017
  • Although the performance of computer hardware is increasing due to the development of manycore technologies, software lacking a proportional increase in throughput. Functional languages can be a viable alternative to improve the performance of parallel programs since such languages have an inherent parallelism in evaluating pure expressions without side-effects. Specifically, Haskell is notably popular for parallel programming because it provides easy-to-use parallel constructs based on monads. However, the scalability of parallel programs in Haskell tends to fluctuate as the number of cores increases, and the garbage collector is suspected to be the source of this fluctuations because it affects both the space and the time needed to execute the programs. This paper uses the tuning tool, GC-Tune, to improve the scalability of the performance. Our experiment was conducted with a parallel plagiarism detection program, and the scalability improved. Specifically, the fluctuation range of the speedup was narrowed down by 39% compared to the original execution of the program without any tuning.