English
Related papers

Related papers: TraceDiff: Debugging Unexpected Code Behavior Usin…

200 papers

Bugs in Scratch programs can spoil the fun and inhibit learning success. Many common bugs are the result of recurring patterns of bad code. In this paper we present a collection of common code patterns that typically hint at bugs in Scratch…

Software Engineering · Computer Science 2021-12-03 Christoph Frädrich , Florian Obermüller , Nina Körber , Ute Heuer , Gordon Fraser

Large language models (LLMs), such as Codex, hold great promise in enhancing programming education by automatically generating feedback for students. We investigate using LLMs to generate feedback for fixing syntax errors in Python…

Programming Languages · Computer Science 2023-05-01 Tung Phung , José Cambronero , Sumit Gulwani , Tobias Kohn , Rupak Majumdar , Adish Singla , Gustavo Soares

Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We…

Software Engineering · Computer Science 2017-06-28 Daniel Selsam , Percy Liang , David L. Dill

All methodologies for detecting plagiarism to date have focused on the final digital "outcome", such as a document or source code. Our novel approach takes the creation process into account using logged events collected by special software…

Other Computer Science · Computer Science 2017-07-21 Johannes Schneider , Avi Bernstein , Jan Vom Brocke , Kostadin Damevski , David C. Shepherd

While CUDA has become a major parallel computing platform and programming model for general-purpose GPU computing, CUDA-induced bug patterns have not yet been well explored. In this paper, we conduct the first empirical study to reveal…

Software Engineering · Computer Science 2019-05-30 Mingyuan Wu , Husheng Zhou , Lingming Zhang , Cong Liu , Yuqun Zhang

While professional integrated programming environments support developers with advanced debugging functionality, block-based programming environments for young learners often provide no support for debugging at all, thus inhibiting…

Software Engineering · Computer Science 2023-09-27 Adina Deiner , Gordon Fraser

Python is a widely adopted programming language, valued for its simplicity and flexibility. However, its dynamic type system poses significant challenges for automated refactoring - an essential practice in software evolution aimed at…

Software Engineering · Computer Science 2025-11-20 Jonhnanthan Oliveira , Rohit Gheyi , Márcio Ribeiro , Alessandro Garcia

As AI tools such as ChatGPT enter programming classrooms, students encounter differing rules across courses and instructors, which shape how they use AI and leave them with unequal capabilities for leveraging it. We investigate how students…

Human-Computer Interaction · Computer Science 2026-04-14 Tianyu Shao , Miguel Feijóo-García , Yi Zhang , Hugo Castellanos , Tawfiq Salem , Alejandra Magana , Tianyi Li

This paper presents the results of a research study related to software system failures, with the goal of understanding how we might better evolve, maintain and support software systems in production. We have qualitatively analyzed thirty…

Software Engineering · Computer Science 2020-08-26 Jonathan Sillito , Esdras Kutomi

The feedback provided by current testing education tools about the deficiencies in a student's test suite either mimics industry code coverage tools or lists specific instructor test cases that are missing from the student's test suite.…

Software Engineering · Computer Science 2020-11-30 Lucas Cordova , Jeffrey Carver , Gursimran Walia , Noah Gershmel

We explore creating automated, personalized feedback in an intelligent tutoring system (ITS). Our goal is to pinpoint correct and incorrect concepts in student answers in order to achieve better student learning gains. Although automatic…

Computation and Language · Computer Science 2021-03-16 Matt Grenander , Robert Belfer , Ekaterina Kochmar , Iulian V. Serban , François St-Hilaire , Jackie C. K. Cheung

Online programming courses are becoming more and more popular, but they still have significant drawbacks when compared to the traditional education system, e.g., the lack of feedback. In this study, we apply machine learning methods to…

Computers and Society · Computer Science 2021-07-22 Artyom Lobanov , Timofey Bryksin , Alexey Shpilman

AI-powered planning tools show promise in supporting programming learners by enabling early, formative feedback on their thinking processes prior to coding. To date, however, most AI-supported planning tools rely on students'…

Human-Computer Interaction · Computer Science 2026-02-04 Yoshee Jain , Heejin Do , Zihan Wu , April Yi Wang

In recent years, defect prediction has received a great deal of attention in the empirical software engineering world. Predicting software defects before the maintenance phase is very important not only to decrease the maintenance costs but…

Software Engineering · Computer Science 2018-08-31 Ahmet Okutan

Dynamic program slicing can significantly reduce the code developers need to inspect by narrowing it down to only a subset of relevant program statements. However, despite an extensive body of research showing its usefulness, dynamic…

Software Engineering · Computer Science 2022-01-04 Bogdan Alexandru Stoica , Swarup K. Sahoo , James R. Larus , Vikram S. Adve

In order to design and implement tracers, one must decide what exactly to trace and how to produce this trace. On the one hand, trace designs are too often guided by implementation concerns and are not as useful as they should be. On the…

Software Engineering · Computer Science 2007-05-23 Mireille Ducasse , Ludovic Langevine , Pierre Deransart

As computer systems grow ever larger and more complex, a crucial task in software development is for one person (the system expert) to communicate to another (the system novice) how a certain program works. This paper reports on the…

Software Engineering · Computer Science 2025-10-13 Matthew Sotoudeh

Regression bugs occur whenever software functionality that previously worked as desired stops working, or no longer works as expected. Code changes, such as bug fixes or new feature work, may result in a regression bug. Regression bugs are…

Software Engineering · Computer Science 2015-05-07 Dekel Cohen , Amiram Yehudai

We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on…

Machine Learning · Statistics 2020-06-22 Matej Balog , Rishabh Singh , Petros Maniatis , Charles Sutton

How students utilize immediate tutoring feedback in programming education depends on various factors. Among them are the feedback quality, but also students' engagement, i.e., their perception, interpretation, and use of feedback. However,…

Computers and Society · Computer Science 2025-11-19 Sven Jacobs , Jan Haas , Natalie Kiesler