Retrieval-Technologien für die Plagiaterkennung in Programmen

Plagiaterkennung in Programmen (Quellcode) funktioniert analog zu der in Texten: gegeben ist der Quellcode eines Programms dq sowie eine Kollektion D von Programmquellen. Die Retrieval-Aufgabe besteht darin, in dq alle Codeabschnitte zu identifizieren, die aus Dokumenten in D ubernommen wurden. Im vorliegenden Papier werden Parallelen und Unterschiede zwischen der Plagiaterkennung in Texten und der in Computerprogrammen aufgezeigt, ein neues Mas zum Ahnlichkeitsvergleich kurzer Code-Abschnitte vorgestellt und erstmalig Fingerprinting als Technologie fur effizientes Retrieval aus grosen Codekollektionen (|D| ≈ 80.000) demonstriert. In den von uns durchgefuhrten Experimenten werden kurze Codeabschnitte aus D, die eine hohe Ahnlichkeit zu Abschnitten aus dq aufweisen, mit einer Precision von 0.45 bei einem Recall von 0.51 in konstanter Zeit gefunden.

[1]  Martin Potthast Wikipedia in the pocket: indexing technology for near-duplicate detection and high similarity search , 2007, SIGIR.

[2]  Justin Zobel,et al.  Methods for Identifying Versioned and Plagiarized Documents , 2003, J. Assoc. Inf. Sci. Technol..

[3]  Lutz Prechelt,et al.  JPlag: Finding plagiarisms among a set of programs , 2000 .

[4]  Andrei Z. Broder,et al.  Identifying and Filtering Near-Duplicate Documents , 2000, CPM.

[5]  Benno Stein,et al.  Intrinsic Plagiarism Detection , 2006, ECIR.

[6]  Justin Zobel,et al.  Efficient plagiarism detection for large code repositories , 2007 .

[7]  Benno Stein,et al.  New Issues in Near-duplicate Detection , 2007, GfKl.

[8]  Xin Chen,et al.  Shared information and program plagiarism detection , 2004, IEEE Transactions on Information Theory.

[9]  Michael J. Wise,et al.  Software for detecting suspected plagiarism: comparing structure and attribute-counting systems , 1996, ACSE '96.

[10]  Michael Philippsen,et al.  Finding Plagiarisms among a Set of Programs with JPlag , 2002, J. Univers. Comput. Sci..

[11]  Samuel L. Grier,et al.  A tool that detects plagiarism in Pascal programs , 1981, SIGCSE '81.

[12]  Benno Stein Principles of hash-based text retrieval , 2007, SIGIR.

[13]  K. J. Ottenstein An algorithmic approach to the detection and prevention of plagiarism , 1976, SGCS.

[14]  Benno Stein,et al.  Fuzzy-Fingerprints for Text-Based Information Retrieval , 2005 .

[15]  Rynson W. H. Lau,et al.  CHECK: a document plagiarism detection system , 1997, SAC '97.

[16]  Daniel Shawcross Wilkerson,et al.  Winnowing: local algorithms for document fingerprinting , 2003, SIGMOD '03.

[17]  Philip S. Yu,et al.  GPLAG: detection of software plagiarism by program dependence graph analysis , 2006, KDD '06.

[18]  Gilad Mishne,et al.  Source Code Retrieval using Conceptual Similarity , 2004, RIAO.

[19]  Benno Stein,et al.  Strategies for retrieving plagiarized documents , 2007, SIGIR.