{"id":{"repo_id":"stellenbosch","oai_identifier":"oai:scholar.sun.ac.za:10019.1/136044"},"canonical_url":"https://search.dev.ndltd.org/etd/stellenbosch/oai:scholar.sun.ac.za:10019.1/136044","repository":{"repo_id":"stellenbosch","name":"Stellenbosch University","base_url":"https://scholar.sun.ac.za/server/oai/request"},"display":{"title":"Analysing Student Code Submissions Using Program Analysis Techniques and Large Language Models","abstract":"Programming students struggle to interpret technical diagnostics from static analysis tools, while large language models provide accessible explanations but lack formal guarantees. This thesis investigates when static analysis grounding—that is, providing the model with structured tool output (such as compiler warnings or type errors) to anchor its explanations—improves language model feedback across different programming contexts. Two experiments are reported: the first targeted concurrent programming and revealed deployment infrastructure as critical for evaluation; the second compared three feedback strategies for C programming—raw static analysis, analysis with fine-tuned model interpretation, and ungrounded language model—in a six-week classroom deployment across multiple assignments. Grounded feedback produces greater improvement for struggling students than either raw analysis or ungrounded models, with no benefit for competent programmers, suggesting grounding aids interpretation rather than detection: translating diagnostics, highlighting important issues, and connecting errors to concepts. Deployment infrastructure proved more consequential than technical optimisation, with cloud-native architecture enabling successful evaluation while sophisticated local deployment proved unreliable. The work contributes empirical evidence on when grounding benefits students, reusable static analysis infrastructure, and deployment design principles, with approximately 40–50% of infrastructure transferring across contexts and assignment characteristics significantly moderating feedback effectiveness.","abstract_html":"Programming students struggle to interpret technical diagnostics from static analysis tools, while large language models provide accessible explanations but lack formal guarantees. This thesis investigates when static analysis grounding—that is, providing the model with structured tool output (such as compiler warnings or type errors) to anchor its explanations—improves language model feedback across different programming contexts. Two experiments are reported: the first targeted concurrent programming and revealed deployment infrastructure as critical for evaluation; the second compared three feedback strategies for C programming—raw static analysis, analysis with fine-tuned model interpretation, and ungrounded language model—in a six-week classroom deployment across multiple assignments. Grounded feedback produces greater improvement for struggling students than either raw analysis or ungrounded models, with no benefit for competent programmers, suggesting grounding aids interpretation rather than detection: translating diagnostics, highlighting important issues, and connecting errors to concepts. Deployment infrastructure proved more consequential than technical optimisation, with cloud-native architecture enabling successful evaluation while sophisticated local deployment proved unreliable. The work contributes empirical evidence on when grounding benefits students, reusable static analysis infrastructure, and deployment design principles, with approximately 40–50% of infrastructure transferring across contexts and assignment characteristics significantly moderating feedback effectiveness.","abstract_has_math":false,"creators":["Grobbelaar, Nelia"],"institution":"Stellenbosch : Stellenbosch University","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["Inggs, Cornelia P.","Bester, Willem H. K."],"committee_chairs":[],"committee_members":[],"year":2026,"date_issued":"2026-03","date_published":"2026-03","updated_at":"2026-07-24T04:40:12Z","subjects":[],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://scholar.sun.ac.za/handle/10019.1/136044","outbound_label":"Repository record","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Inggs, Cornelia P.","Bester, Willem H. K."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Stellenbosch University. Faculty of Science. Dept. of Computer Science."]},{"key":"dc:creator","label":"Author","values":["Grobbelaar, Nelia"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2026-04-21T08:45:37Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2026-04-21T08:45:37Z"]},{"key":"dc:date.issued","label":"Date","values":["2026-03"]},{"key":"dc:publisher","label":"Institution","values":["Stellenbosch : Stellenbosch University"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://scholar.sun.ac.za/handle/10019.1/136044"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis (MSc)--Stellenbosch University, 2026.","Grobbelaar, N. 2026. Analysing Student Code Submissions Using Program Analysis Techniques and Large Language Models. Unpublished masters thesis. Stellenbosch: Stellenbosch University [online]. Available: https://scholar.sun.ac.za/items/ab51fcbd-3fdd-43cb-ab70-d60ea7557cc1"]},{"key":"dc:description.abstract","label":"Abstract","values":["Programming students struggle to interpret technical diagnostics from static analysis tools, while large language models provide accessible explanations but lack formal guarantees. This thesis investigates when static analysis grounding—that is, providing the model with structured tool output (such as compiler warnings or type errors) to anchor its explanations—improves language model feedback across different programming contexts. Two experiments are reported: the first targeted concurrent programming and revealed deployment infrastructure as critical for evaluation; the second compared three feedback strategies for C programming—raw static analysis, analysis with fine-tuned model interpretation, and ungrounded language model—in a six-week classroom deployment across multiple assignments. Grounded feedback produces greater improvement for struggling students than either raw analysis or ungrounded models, with no benefit for competent programmers, suggesting grounding aids interpretation rather than detection: translating diagnostics, highlighting important issues, and connecting errors to concepts. Deployment infrastructure proved more consequential than technical optimisation, with cloud-native architecture enabling successful evaluation while sophisticated local deployment proved unreliable. The work contributes empirical evidence on when grounding benefits students, reusable static analysis infrastructure, and deployment design principles, with approximately 40–50% of infrastructure transferring across contexts and assignment characteristics significantly moderating feedback effectiveness."]},{"key":"dc:title","label":"Title","values":["Analysing Student Code Submissions Using Program Analysis Techniques and Large Language Models"]}]}],"canonical_facts":{"dc:contributor.advisor":["Inggs, Cornelia P.","Bester, Willem H. K."],"dc:contributor.other":["Stellenbosch University. Faculty of Science. Dept. of Computer Science."],"dc:creator":["Grobbelaar, Nelia"],"dc:date.accessioned":["2026-04-21T08:45:37Z"],"dc:date.available":["2026-04-21T08:45:37Z"],"dc:date.issued":["2026-03"],"dc:description":["Thesis (MSc)--Stellenbosch University, 2026.","Grobbelaar, N. 2026. Analysing Student Code Submissions Using Program Analysis Techniques and Large Language Models. Unpublished masters thesis. Stellenbosch: Stellenbosch University [online]. Available: https://scholar.sun.ac.za/items/ab51fcbd-3fdd-43cb-ab70-d60ea7557cc1"],"dc:description.abstract":["Programming students struggle to interpret technical diagnostics from static analysis tools, while large language models provide accessible explanations but lack formal guarantees. This thesis investigates when static analysis grounding—that is, providing the model with structured tool output (such as compiler warnings or type errors) to anchor its explanations—improves language model feedback across different programming contexts. Two experiments are reported: the first targeted concurrent programming and revealed deployment infrastructure as critical for evaluation; the second compared three feedback strategies for C programming—raw static analysis, analysis with fine-tuned model interpretation, and ungrounded language model—in a six-week classroom deployment across multiple assignments. Grounded feedback produces greater improvement for struggling students than either raw analysis or ungrounded models, with no benefit for competent programmers, suggesting grounding aids interpretation rather than detection: translating diagnostics, highlighting important issues, and connecting errors to concepts. Deployment infrastructure proved more consequential than technical optimisation, with cloud-native architecture enabling successful evaluation while sophisticated local deployment proved unreliable. The work contributes empirical evidence on when grounding benefits students, reusable static analysis infrastructure, and deployment design principles, with approximately 40–50% of infrastructure transferring across contexts and assignment characteristics significantly moderating feedback effectiveness."],"dc:identifier.uri":["https://scholar.sun.ac.za/handle/10019.1/136044"],"dc:language.iso":["en"],"dc:publisher":["Stellenbosch : Stellenbosch University"],"dc:title":["Analysing Student Code Submissions Using Program Analysis Techniques and Large Language Models"],"dc:type":["Thesis"]},"updated_at":"2026-07-24T04:40:12Z"}