Erkennung von programmiersprachenübergreifenden Plagiaten
Ein graphbasierter Ansatz für den Vergleich von Java- und Python-Codes
Betreuer / Ansprechpartner
- Hannes Grunert
Charakter
Vergleichende Analyse
Konzeption
Prototypische Implementierung
Evaluation
Vorkenntnisse
- Pflicht: Vorlesung Data Science oder Data Warehouses
- Optional: Big Data Processing
Beschreibung
Die Überprüfung der Einhaltung wissenschaftlicher Standards und Leitlinien stellt eine große Herausforderung dar. Insbesondere die Betreuung studentischer Abschlussarbeiten nimmt einen Großteil der Arbeitszeit von wissenschaftlichen Mitarbeitern ein, da diese die Arbeiten sorgfältig prüfen und den Studierenden (rechtzeitig) Feedback zur Qualität der Arbeit geben sollten. Eine Entlastung der Lehrenden an dieser Stelle ist sehr wünschenswert.
Neben „klassischen“ Textplagiaten kommt es vermehrt zu plagiierten Bildern und Musikstück, aber auch zu wiederverwendeten Quellcode ohne explizite Nennung der Autoren. Dabei kann es auch vorkommen, dass Programmtexte vor der Wiederverwendung entweder manuell oder KI-basiert von einer Quellsprache in eine andere Zielsprache übersetzt werden.
Im Rahmen dieser Abschlussarbeit soll untersucht werden, wie durch eine graphbasierte Analyse strukturell identische Programmteile in zwei vorliegenden Quellcodes entdeckt werden können. Der Fokus liegt dabei auf den imperativen Programmiersprachen Java und Python.
Arbeitsschritte
- Einarbeitung in das Gebiet / Literaturanalyse / Stand der Technik
- Plagiatserkennung
- Natural Language Processing
- Graphen
- Konzeption
- Darstellung von imperativen Programmen als Graph
- Erkennung von gleichen Teilgraphen
- Bestimmung der Ähnlichkeit
- Implementierung des Konzepts
- Test und Validierung des Verfahrens
Technologien
Programmiersprachen (für die Implementierung) nach Wahl; bevorzugt Java
Literatur
- Chae, Dong-Kyu, et al. "Software plagiarism detection: a graph-based approach." Proceedings of the 22nd ACM international conference on Information & Knowledge Management. 2013.
- Binwahlan, Mohammed Salem. "Conceptual similarity and graph-based method for plagiarism detection." Journal of Theoretical and Applied Information Technology (2011).
- Cheers, Hayden, and Yuqing Lin. "A novel graph-based program representation for java code plagiarism detection." Proceedings of the 3rd international conference on software engineering and information management. 2020.
- Mögliche Datenquelle: github.com/oscarkarnalim/sourcecodeplagiarismdataset
Weitere Literatur wird zu Beginn der Arbeit bekannt gegeben.
