Software Engineering Group

Projektgruppe: Clone Busters – Ein komponenten­basiertes Framework zur Klon- und Plagiatserkennung

Abschlussbericht der PG

Trotz der breiten medialen Präsenz des Themas durch die jüngsten Plagiatsaffären um eine Reihe von Politikern stellt Plagiarismus in der universitären Lehre noch immer ein Problem dar.
Das Untersuchen von Texten auf Plagiate ist mühsam und zeitaufwändig. Aktuelle Werkzeuge zur automatischen Erkennung von Plagiaten haben eine geringe Trefferquote, insbesondere wenn übernommene Textstellen leicht verschleiert wurden.

Im Rahmen dieser Projektgruppe soll ein komponentenbasiertes, Repository-zentriertes Framework entwickelt werden. Auf dessen Basis sollen unterschiedliche Verfahren zur Plagiatserkennung implementiert, erprobt und miteinander verglichen werden.

Inhalt & Ziele

Um in einer komponentenbasierten Infrastruktur entwickeln zu können, soll ein entsprechendes Framework wie z.B. OSGi gewählt werden. Ein zentraler Grundstein ist außerdem das Repository. Es dient zur Aufnahme von Referenzwerken, dem Textkorpus, mit denen eingegebene Texte verglichen werden.

Auf Grundlage dieses Rahmenwerks sollen unterschiedliche Verfahren zur Erkennung von duplizierten Textstellen ausgewählt, implementiert, erprobt und z.B. in Hinblick auf Geschwindigkeit und Treffsicherheit verglichen werden. Aktuelle Techniken zur Erkennung von Plagiaten bzw. Code Clones können aus Programmbibliotheken angebunden werden, oder aus der Literatur recherchiert und für das Framework implementiert werden.

Es sollen auch Verfahren aus verwandten Gebieten betrachtet werden, die zur Lösung vergleichbarer Probleme genutzt werden. Techniken der Suchmaschinentechnologie können beispielsweise auf ihre Übertragbarkeit auf das Problem der Plagiatserkennung hin untersucht, und gegebenenfalls zur Optimierung bestehender oder Entwicklung neuer Verfahren genutzt werden.
Vorgehen zur Klonerkennung in Quelltexten und Plagiatserkennung in (normalen) Texten haben vermutlich vieles gemeinsam, aber auch Unterschiede, die herausgearbeitet werden können, um bestenfalls auf beiden Gebieten Verbesserungen vornehmen zu können.
Das Framework muss erlauben, unterschiedliche Implementierungen gegeneinander auszutauschen und miteinander zu vergleichen. Dazu ist auch zu überlegen, welche Metriken ausgewertet werden sollen, und was ein gutes Verfahren zur Plagiatserkennung ausmacht.

Ablauf

Die Projektgruppe beginnt mit einer Seminarphase zur Einarbeitung in die relevanten Themen aus den Gebieten Plagiats- und Klonerkennung. Weitere Themengebiete können beispielsweise aus den Bereichen Suchmaschinentechnologie, Visualisierung, oder Techniken zur Entwicklung paralleler Algorithmen stammen. Auch Komponenten-basierte Softwareentwicklung und Repository-Technologie, sowie geeignete (agile) Vorgehensmodelle sind zu erarbeiten.

Welche Seminarthemen konkret bearbeitet werden, entscheiden die Teilnehmer selbst. Gleiches gilt für das Festlegen konkreter Ziele und Erfolgskriterien zu Beginn der Projektgruppe. Grundsätzliche Meilensteine, wie für die Abgabe des Zwischen- und Endberichts, werden gemeinsam mit den Betreuern, die als Auftraggeber und Berater auftreten, abgestimmt. In diesem Rahmen bleibt die übrige Planung und das Vorgehen den Teilnehmern überlassen.

Für die Dauer der Projektgruppe steht den Teilnehmern ein Arbeits- und Besprechungsraum, mit Rechner- und Notebook-Arbeitsplätzen zur Verfügung.
Zur Erprobung paralleler Algorithmen können außerdem die Uni-eigenen High Performance Computing Cluster genutzt werden.