Please use this identifier to cite or link to this item: http://dx.doi.org/10.25673/111626
Title: Ein Löser für teilkorrekte Speicherbelegungsprotokolle in Programmieraufgaben
Author(s): Reinicke, Lukas
Referee(s): Karol, Sven
Schwerin, Petra
Granting Institution: Hochschule Merseburg
Issue Date: 2023-11
Type: Bachelor thesis
Language: German
Publisher: Hochschulbibliothek, Hochschule Merseburg
URN: urn:nbn:de:gbv:542-1981185920-1135837
Subjects: Speicherbelegungsprotokolle
Protokollierungsaufgaben
C-Programme
Abstract: Speicherbelegungsprotokolle dienen als Überprüfung, damit das Wissen von Programmiersprachenlernenden fachgerecht überprüft werden kann. Um die faire und effiziente Bewertung von Speicherbelegungsprotokollen zu ermöglichen, bedarf es einer modernen Form der Überprüfung. Das Ziel der vorliegenden Arbeit ist es, einen Löser für einfache Speicherbelegungsprotokollierungsaufgaben zu entwickeln und prototypisch umzusetzen. Dabei sollen insbesondere Folgefehler, eine nachvollziehbare Berechnung der Punkte sowie eine Nachvollziehbarkeit von aufgetretenen Fehlern miteinbezogen werden. Der implementierte Löser soll in der Lage sein, zu einfachen C-Programmen gehörige Speicherbelegungsprotokolle auszuwerten und zu bepunkten. Hierfür wurde in der Arbeit ein funktionierender Algorithmus entworfen, welcher die Lösungsberechnung für Speicherbelegungsprotokollaufgaben unter Einbeziehung eines potenziell fehlerhaften Protokolls ermöglicht. Dafür wurde ein Interpreter für einen begrenzten Ausschnitt aus der Programmiersprache C entworfen, welcher die Grundlage für die nachfolgende Implementierung des Algorithmus darstellte. Für die nötige Interpretation von C-Code wurden die Grundlagen der Sprachdefinition und -verarbeitung betrachtet. Auf Grundlage dessen wurde eine Grammatik für den betrachteten C-Ausschnitt entworfen und ein Parser für die Verwendung in dem C-Interpreter generiert. Mit dem implementierten Löser ist es möglich, teilkorrekte Speicherbelegungsprotokolle nicht nur auf deren Richtigkeit zu überprüfen, sondern auch etwaige Folgefehler korrekt zu bewerten. Dadurch ist eine Überprüfung von komplexeren Protokollen umsetzbar, welche mit manueller Kontrolle kaum zu handhaben wäre.
URI: https://opendata.uni-halle.de//handle/1981185920/113583
http://dx.doi.org/10.25673/111626
Open Access: Open access publication
License: (CC BY 4.0) Creative Commons Attribution 4.0(CC BY 4.0) Creative Commons Attribution 4.0
Appears in Collections:Ingenieur- und Naturwissenschaften