Comparing Semantic Graph Representations of Source Code: The Case of Automatic Feedback on Programming Assignments
Computer Science and Information Systems, Tome 21 (2024) no. 1.

Voir la notice de l'article provenant de la source Computer Science and Information Systems website

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).
Keywords: semantic representation, source code, graph, source code analysis, automated assessment, programming
@article{CSIS_2024_21_1_a10,
     author = {Jos\'e Carlos Paiva and Jos\'e Paulo Leal and \'Alvaro Figueira},
     title = {Comparing {Semantic} {Graph} {Representations} of {Source} {Code:} {The} {Case} of {Automatic} {Feedback} on {Programming} {Assignments}},
     journal = {Computer Science and Information Systems},
     publisher = {mathdoc},
     volume = {21},
     number = {1},
     year = {2024},
     url = {http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a10/}
}
TY  - JOUR
AU  - José Carlos Paiva
AU  - José Paulo Leal
AU  - Álvaro Figueira
TI  - Comparing Semantic Graph Representations of Source Code: The Case of Automatic Feedback on Programming Assignments
JO  - Computer Science and Information Systems
PY  - 2024
VL  - 21
IS  - 1
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a10/
ID  - CSIS_2024_21_1_a10
ER  - 
%0 Journal Article
%A José Carlos Paiva
%A José Paulo Leal
%A Álvaro Figueira
%T Comparing Semantic Graph Representations of Source Code: The Case of Automatic Feedback on Programming Assignments
%J Computer Science and Information Systems
%D 2024
%V 21
%N 1
%I mathdoc
%U http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a10/
%F CSIS_2024_21_1_a10
José Carlos Paiva; José Paulo Leal; Álvaro Figueira. Comparing Semantic Graph Representations of Source Code: The Case of Automatic Feedback on Programming Assignments. Computer Science and Information Systems, Tome 21 (2024) no. 1. http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a10/