Conference In: orcid, dblp

MultIPAs: Applying Program Transformations to Introductory Programming Assignments for Data Augmentation

In the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)

Pedro Orvalho; Mikolás Janota; Vasco M. Manquinho — 2022 — ACM

Key information

Authors:

Pedro Orvalho (Pedro Orvalho); Mikolás Janota (Mikolas Janota); Vasco M. Manquinho (Vasco Miguel Gomes Nunes Manquinho)

Published in

November 14, 2022

Abstract

There has been a growing interest, over the last few years, in the topic of automated program repair applied to fixing introductory programming assignments (IPAs). However, the datasets of IPAs publicly available tend to be small and with no valuable annotations about the defects of each program. Small datasets are not very useful for program repair tools that rely on machine learning models. Furthermore, a large diversity of correct implementations allows computing a smaller set of repairs to fix a given incorrect program rather than always using the same set of correct implementations for a given IPA. For these reasons, there has been an increasing demand for the task of augmenting IPAs benchmarks. This paper presents MultIPAs, a program transformation tool that can augment IPAs benchmarks by (1) applying six syntactic mutations that conserve the program’s semantics and (2) applying three semantic mutilations that introduce faults in the IPAs. Moreover, we demonstrate the usefulness of MultIPAs by augmenting with millions of programs two publicly available benchmarks of programs written in the C language, and also by generating an extensive benchmark of semantically incorrect programs.

Publication details

Authors in the community:

Publication version

AM - Accepted manuscript

Publisher

ACM

Link to the publisher's version

https://2022.esec-fse.org/details/fse-2022-demonstrations/19/MultIPAs-Applying-Program-Transformations-to-Introductory-Programming-Assignments-f

Title of the publication container

In the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)

Location of the conference

Singapore

Conference date start

November 14, 2022

Conference date end

November 18, 2022

First page or article number

1657

Last page

1661

Fields of Science and Technology (FOS)

computer-and-information-sciences - Computer and information sciences

Keywords

  • Program Transformations
  • Program Mutations
  • Data Augmentation
  • Computer-assisted instruction
  • Program analysis
  • Program Semantics

Publication language (ISO code)

eng - English

Rights type:

Open access

Financing entity

FCT

Funding Stream: Individual PhD Grant

Identifier for the funding entity: FCT

Number for the project, award or grant: SFRH/BD/07724/2020

Financing entity

FEDER and FCT

Title of the project, award or grant: Project ANI

Number for the project, award or grant: 045917

Financing entity

FCT

Identifier for the funding entity: UIDB/50021/2020

Number for the project, award or grant: UIDB/50021/2020

Financing entity

FCT

Number for the project, award or grant: PTDC/CCI-COM/32378/2017