Browse > Article

Grouping of Similar Programs using Program Similarity Evaluation  

유재우 (숭실대학교 컴퓨터학과)
김영철 (숭실대학교 컴퓨터학과)
Abstract
Comparing many programs like programming assignments one by one requires many costs. Moreover, if the checker would evaluate or grade assignments, much more time will be required. Even through the checker invest much time, fairness is not always guaranteed. These problems can be solved easily by grouping similar programs. So, programs after grouping can be easily evaluated and graded. In this paper, we propose and implement algerian performing grouping by similarity on many programs. The grouping algorithm evaluates similarity using algorithm proposed in (9), and performs a grouping following high similarity order. By using this grouping algorithm, the number of comparison among N programs can be reduced from N-1 times to N(N-1)/2 times. In the part of experiment and evaluation of this paper, we actually showed evaluation result by similarity using randomly 10 programming assignments at the university.
Keywords
program similarity; grouping; program evaluation;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 M. Joy & M. Luck, 'Plagiarism in Programming Assignments,' IEEE Transaction in Education, 42(2), pp. 129-133, 1999   DOI   ScienceOn
2 P. H. A. Sneath & R. Sokal, Numerical Taxonomy: The Principles and Practices of Numerical Classification, Freeman and Company. 1973
3 Z. Huang, 'A fast clustering algorithm to cluster very large categorical data sets in data mining,' In SIGMOD Workshop on Research Issues on Data Mining and Knowledge Discovery (SIGMOD-DMKD'97), Tucson, Arizona, May 1997
4 장성순, 서선애, 이광근, '프로그램 유사성 검사기', 정보과학회 가을 학술대회, 28(2), pp. 334-336, October, 2001   과학기술학회마을
5 J. Han and M. Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann Publisher, ISBN 1-55860-489-8, 2000
6 Y. M. Cheung, 'K*-means-A Generalized k-means Clustering Algorithm with Unknown Cluster Number,' available at http://www.comp.hkbu.edu.hk/~ymc/papers/conference/ideal2002.pdf, Hong Kong Baptist Univ., 2002
7 G. Salton & M. J. McGill, Introduction to Modern Information Retrieval. NY: McGraw-Hill Book Company. 1983
8 S. E. Hudson, 'CUP Parser Generator for Java,' available at http://www.cs.princeton.edy/~apple/modern/java/CUP/
9 E. Berk, 'Jlex:A Lexical Ananlyzer Generator for Java TM,' available at http://www.cs.princeton.edy/~appel/modern/java/JLex/
10 J. Lin, JLex Tutorial, available at http://bmrc.berkeley.edu/courseware/ cs164/spring98/proj/jlex/tutorial.html
11 김영철, 김성근, 염세훈, 최종명, 유재우, '구문트리 비교를 통한 프로그램 유형 복제 검사', 한국 정보과학회 논문지, 30(8), Aug. 2003
12 S. Horwitz, 'Identifying the Semantic and Textual Difference Between two Versions of a Program,' In proc. of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 234-245, Jun., 1990   DOI
13 K. K. Vercon & M. J. Wise, 'Software for Detecting Suspected and Prevention of Plagiarism: Comparing Structure and Attribute Counting Systems,' In John Rosenberg, editor, Proc. of 1st Australian Conference on computer Science Education, Sydney, ACM, Jul., 1996   DOI
14 J. A .Faidhi & S. K. Robinson, 'An Empirical Approach for Detecting Program Similarity within a University Programming Environment,' Computers and Education 11(1), pp. 11-19, 1987   DOI   ScienceOn
15 J. Carter, 'Collaboration or Plagiarism: What Happens when Students Work Together?,' In Proc. ITiCSE, pp. 52-55, Cracow,Poland, 1999