All

What are you looking for?

All
Projects
Results
Organizations

Quick search

  • Projects supported by TA ČR
  • Excellent projects
  • Projects with the highest public support
  • Current projects

Smart search

  • That is how I find a specific +word
  • That is how I leave the -word out of the results
  • “That is how I can find the whole phrase”

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

The result's identifiers

  • Result code in IS VaVaI

    <a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F68407700%3A21730%2F25%3A00387602" target="_blank" >RIV/68407700:21730/25:00387602 - isvavai.cz</a>

  • Result on the web

    <a href="https://doi.org/10.1016/j.jss.2025.112481" target="_blank" >https://doi.org/10.1016/j.jss.2025.112481</a>

  • DOI - Digital Object Identifier

    <a href="http://dx.doi.org/10.1016/j.jss.2025.112481" target="_blank" >10.1016/j.jss.2025.112481</a>

Alternative languages

  • Result language

    angličtina

  • Original language name

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

  • Original language description

    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.

  • Czech name

  • Czech description

Classification

  • Type

    J<sub>imp</sub> - Article in a specialist periodical, which is included in the Web of Science database

  • CEP classification

  • OECD FORD branch

    10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)

Result continuities

  • Project

    Result was created during the realization of more than one project. More information in the Projects tab.

  • Continuities

    P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)

Others

  • Publication year

    2025

  • Confidentiality

    S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů

Data specific for result type

  • Name of the periodical

    The Journal of Systems and Software

  • ISSN

    0164-1212

  • e-ISSN

    1873-1228

  • Volume of the periodical

    230

  • Issue of the periodical within the volume

    December

  • Country of publishing house

    US - UNITED STATES

  • Number of pages

    15

  • Pages from-to

  • UT code for WoS article

    001532765400001

  • EID of the result in the Scopus database

    2-s2.0-105009886596