route.console
Status: ONLINE
paiva@jcpaiva.dev:~$cat ~/research/semantic-graph-code.bib

Comparing semantic graph representations of source code: The case of automatic feedback on programming assignments

Static source code analysis techniques are gaining relevance in automated assessment of programming assignments as they can provide less rigorous evaluation and more comprehensive and formative feedback. These techniques focus on source code aspects rather than requiring effective code execution. To…

Journal Article
Open DOI
abstract.md

Abstract

Static source code analysis techniques are gaining relevance in automated assessment of programming assignments as they can provide less rigorous evaluation and more comprehensive and formative feedback. These techniques focus on source code aspects rather than requiring effective code execution. To this end, syntactic and semantic information encoded in textual data is typically represented internally as graphs, after parsing and other preprocessing stages. Static automated assessment techniques, therefore, draw inferences from intermediate representations to determine the correctness of a solution and derive feedback. Consequently, achieving the most effective semantic graph representation of source code for the specific task is critical, impacting both techniques? accuracy, outcome, and execution time. This paper aims to provide a thorough comparison of the most widespread semantic graph representations for the automated assessment of programming assignments, including usage examples, facets, and costs for each of these representations. A benchmark has been conducted to assess their cost using the Abstract Syntax Tree (AST) as a baseline. The results demonstrate that the Code Property Graph (CPG) is the most feature-rich representation, but also the largest and most space-consuming (about 33% more than AST).

Key Contributions & Highlights

  • Venue & Publication: Computer Science and Information Systems (2024)
  • Authors: José Paiva, José Leal, Álvaro Figueira
  • Research Scope: Focuses on key advancements in Program Analysis.

$ rg --related ./research

Journal Article

Incremental Repair Feedback on Automated Assessment of Programming Assignments

Electronics

Automated assessment tools for programming assignments have become increasingly popular in computing education. These tools offer a cost-effective and highly available way to provide timely and consistent feedback to students. However, when evaluating a logically incorrect source code, there are…

Automated AssessmentGenerative AI+1
Journal Article

Clustering source code from automated assessment of programming assignments

International Journal of Data Science and Analytics

Abstract Clustering of source code is a technique that can help improve feedback in automated program assessment. Grouping code submissions that contain similar mistakes can, for instance, facilitate the identification of students’ difficulties to provide targeted feedback. Moreover, solutions with…

Automated AssessmentProgram Analysis
start_conversation.sh
paiva@jcpaiva.dev:~$ ./start-conversation

Turn research insight into production software

If this work intersects with your product, institution, or research program, let’s map the shortest credible route to a working system.

privacy.config
Read the privacy and storage details