English
Related papers

Related papers: SnapCheck: Automated Testing for Snap Programs

200 papers

As software systems continue to grow in complexity, testing has become a fundamental part of ensuring the quality and reliability of software products. Yet, software testing is still often perceived, both in industry and academia, as a…

Software Engineering · Computer Science 2025-07-29 Davi Gama Hardman , Cesar França , Brody Stuart-Verner , Ronnie de Souza Santos

Open-ended programming increases students' motivation by allowing them to solve authentic problems and connect programming to their own interests. However, such open-ended projects are also challenging, as they often encourage students to…

Human-Computer Interaction · Computer Science 2021-04-27 Wengran Wang , Archit Kwatra , James Skripchuk , Neeloy Gomes , Alexandra Milliken , Chris Martens , Tiffany Barnes , Thomas Price

Knowing the precise format of a program's input is a necessary prerequisite for systematic testing. Given a program and a small set of sample inputs, we (1) track the data flow of inputs to aggregate input fragments that share the same data…

Programming Languages · Computer Science 2017-08-30 Matthias Höschele , Alexander Kampmann , Andreas Zeller

Timely and high-quality feedback is essential for effective learning in programming courses; yet, providing such support at scale remains a challenge. While AI-based systems offer scalable and immediate help, their responses can…

Computers and Society · Computer Science 2026-01-27 Tung Phung , Heeryung Choi , Mengyan Wu , Christopher Brooks , Sumit Gulwani , Adish Singla

The prevalence of online platforms and studies has generated the demand for automated grading tools, and as a result, there are plenty in the market. Such tools are developed to grade coding assignments quickly, accurately, and…

Computers and Society · Computer Science 2022-12-06 Aditi Agrawal , Benjamin Reed

The assessment of source code in university education is a central and important task for lecturers of programming courses. In doing so, educators are confronted with growing numbers of students having increasingly diverse prerequisites, a…

Software Engineering · Computer Science 2023-06-09 Clemens Sauerwein , Tobias Antensteiner , Stefan Oppl , Iris Groher , Alexander Meschtscherjakov , Philipp Zech , Ruth Breu

With the recent rapid increase in digitization across all major industries, acquiring programming skills has increased the demand for introductory programming courses. This has further resulted in universities integrating programming…

Interactive semantic parsing based on natural language (NL) feedback, where users provide feedback to correct the parser mistakes, has emerged as a more practical scenario than the traditional one-shot semantic parsing. However, prior work…

Computation and Language · Computer Science 2023-06-06 Hao Yan , Saurabh Srivastava , Yintao Tai , Sida I. Wang , Wen-tau Yih , Ziyu Yao

The use of new technologies in higher education has surprisingly emphasized students' tendency to adopt a passive behavior in class. Participation and interaction of students are essential to improve academic results. This paper describes…

Automated program repair is an emerging technology that seeks to automatically rectify bugs and vulnerabilities using learning, search, and semantic analysis. Trust in automatically generated patches is necessary for achieving greater…

Software Engineering · Computer Science 2022-02-14 Yannic Noller , Ridwan Shariffdeen , Xiang Gao , Abhik Roychoudhury

This study explores the classroom implementation of an AI-powered grading platform in K-12 settings through a co-design pilot with 19 teachers. We combine platform usage logs, surveys, and qualitative interviews to examine how teachers use…

Human-Computer Interaction · Computer Science 2025-11-06 Zewei Tian , Alex Liu , Lief Esbenshade , Shawon Sarkar , Zachary Zhang , Kevin He , Min Sun

Electronic exams (e-exams) have the potential to substantially reduce the effort required for conducting an exam through automation. Yet, care must be taken to sacrifice neither task complexity nor constructive alignment nor grading…

Computers and Society · Computer Science 2023-08-17 Ole Lübke , Konrad Fuger , Fin Hendrik Bahnsen , Katrin Billerbeck , Sibylle Schupp

Programming is increasingly taught using block-based languages like Scratch. While the use of blocks prevents syntax errors, learners can still make semantic mistakes, requiring feedback and help. As teachers may be overwhelmed by help…

Software Engineering · Computer Science 2025-04-18 Sebastian Schweikl , Gordon Fraser

Metaprogramming and effect handlers interact in unexpected, and sometimes undesirable, ways. One example is scope extrusion: the generation of ill-scoped code. Scope extrusion can either be preemptively prevented, via static type systems,…

Programming Languages · Computer Science 2026-01-27 Michael Lee , Ningning Xie , Oleg Kiselyov , Jeremy Yallop

Correctness is one of the more important criteria of qualitative software. However, it is often taught in isolation and most students consider it only as an afterthought. They also do not receive sufficient feedback on code quality and…

Software Engineering · Computer Science 2024-12-03 Steffen Dick , Christoph Bockisch , Harrie Passier , Lex Bijlsma , Ruurd Kuiper

Plagiarism in introductory programming courses is an enormous challenge for both students and institutions. For students, relying on the work of others too early in their academic development can make it impossible to acquire necessary…

Computers and Society · Computer Science 2022-06-08 Simon J. Cohen , Michael J. Martin , Chance A. Shipley , Abhishek Kumar , Andrew R. Cohen

In-person instruction for professional development or other types of workplace training provides a social environment and immediate feedback mechanisms that typically ensure all participants are successful. Online, self-paced instruction…

Computers and Society · Computer Science 2020-09-01 Beth Porter , Burcin Bozkaya

For software interacting directly with real-world end-users, it is common practice to script scenario tests validating the system's compliance with a number of its features. However, these do not accommodate the replication of the type of…

Software Engineering · Computer Science 2022-08-26 Pasquale Salza , Marco Edoardo Palma , Harald C. Gall

Formal software testing education is important for building efficient QA professionals. Various aspects of quality assurance approaches are usually covered in courses for training software testing students. Automated Test Tools is one of…

Software Engineering · Computer Science 2024-06-03 Susmita Haldar , Mary Pierce , Luiz Fernando Capretz

Large programming courses struggle to provide timely, detailed feedback on student code. We developed Mark My Works, a local autograding system that combines traditional unit testing with LLM-generated explanations. The system uses…

Software Engineering · Computer Science 2026-01-16 Yiding Qiu , Seyed Mahdi Azimi , Artem Lensky