InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments

Due to the vast number of students enrolled in programming courses, there has been an increasing number of automated program repair techniques focused on introductory programming assignments ( IPAs ). Typically, such techniques use program clustering to take advantage of previous correct student implementations to repair a new incorrect submission. These repair techniques use clustering methods since analyzing all available correct submissions to repair a program is not feasible. However, conventional clustering methods rely on program representations based on features such as abstract syntax trees ( ASTs ), syntax, control flow, and data flow. This paper proposes InvAASTCluster , a novel approach for program clustering that uses dynamically generated program invariants to cluster semantically equivalent IPAs . InvAASTCluster ’s program representation uses a combination of the program’s semantics, through its invariants, and its structure through its anonymized abstract syntax tree ( AASTs ). Invariants denote conditions that must remain true during program execution, while AASTs are ASTs devoid of variable and function names, retaining only their types. Our experiments show that the proposed program representation outperforms syntax-based representations when clustering a set of correct IPAs . Furthermore, we integrate InvAASTCluster into a state-of-the-art clustering-based program repair tool. Our results show that InvAASTCluster advances the current state-of-the-art when used by clustering-based repair tools by repairing around 13% more students’ programs, in a shorter amount of time. • We cluster programming assignments (IPAs) using invariants and anonymized ASTs. • We present our invariant-based program clustering tool, InvAASTCluster. • InvAASTCluster demonstrates the effectiveness of invariant-based clustering for IPAs. • We compare InvAASTCluster with Clara, a leading clustering-based repair tool. • InvAASTCluster outperforms Clara, allowing Clara to fix more IPAs and faster.

Authors

Institutions

Publication Details

Journal
Journal of Systems and Software
Published
2025-06-27
DOI
https://doi.org/10.1016/j.jss.2025.112481
Citations
1
Primary Topic
Evolutionary Algorithms and Applications
Type
article
Field-Weighted Citation Impact
2.48

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments

Vasco Manquinho, Pedro Orvalho, Mikoláš Janota
1 citations
Journal of Systems and Software
Evolutionary Algorithms and Applications
2.48
article

InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments

Vasco Manquinho, Pedro Orvalho, Mikoláš Janota
article en
1 citations

Abstract

Due to the vast number of students enrolled in programming courses, there has been an increasing number of automated program repair techniques focused on introductory programming assignments ( IPAs ). Typically, such techniques use program clustering to take advantage of previous correct student implementations to repair a new incorrect submission. These repair techniques use clustering methods since analyzing all available correct submissions to repair a program is not feasible. However, conventional clustering methods rely on program representations based on features such as abstract syntax trees ( ASTs ), syntax, control flow, and data flow. This paper proposes InvAASTCluster , a novel approach for program clustering that uses dynamically generated program invariants to cluster semantically equivalent IPAs . InvAASTCluster ’s program representation uses a combination of the program’s semantics, through its invariants, and its structure through its anonymized abstract syntax tree ( AASTs ). Invariants denote conditions that must remain true during program execution, while AASTs are ASTs devoid of variable and function names, retaining only their types. Our experiments show that the proposed program representation outperforms syntax-based representations when clustering a set of correct IPAs . Furthermore, we integrate InvAASTCluster into a state-of-the-art clustering-based program repair tool. Our results show that InvAASTCluster advances the current state-of-the-art when used by clustering-based repair tools by repairing around 13% more students’ programs, in a shorter amount of time. • We cluster programming assignments (IPAs) using invariants and anonymized ASTs. • We present our invariant-based program clustering tool, InvAASTCluster. • InvAASTCluster demonstrates the effectiveness of invariant-based clustering for IPAs. • We compare InvAASTCluster with Clara, a leading clustering-based repair tool. • InvAASTCluster outperforms Clara, allowing Clara to fix more IPAs and faster.

Journal of Systems and SoftwareVol. 230
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento (PT), University of Lisbon (PT), Czech Technical University in Prague (CZ)
Ministerstvo Školství, Mládeže a Tělovýchovy, Fundação para a Ciência e a Tecnologia, FP7 Coordination of Research Activities
Openalex Percentile: Top 10%
Evolutionary Algorithms and Applications
2.48
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.