English
Related papers

Related papers: Model-Driven Synthesis for Programming Tutors

200 papers

We develop an approach to estimate the probability that a program sampled from a large language model is correct. Given a natural language description of a programming problem, our method samples both candidate programs as well as candidate…

Software Engineering · Computer Science 2023-10-11 Darren Key , Wen-Ding Li , Kevin Ellis

Students sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly,…

Computers and Society · Computer Science 2021-07-06 Teemu Lehtinen , André L. Santos , Juha Sorva

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

The growing need for automated and personalized feedback in programming education has led to recent interest in leveraging generative AI for feedback generation. However, current approaches tend to rely on prompt engineering techniques in…

Computers and Society · Computer Science 2025-09-16 Victor-Alexandru Pădurean , Tung Phung , Nachiket Kotalwar , Michael Liut , Juho Leinonen , Paul Denny , Adish Singla

When a model makes a consequential decision, e.g., denying someone a loan, it needs to additionally generate actionable, realistic feedback on what the person can do to favorably change the decision. We cast this problem through the lens of…

Artificial Intelligence · Computer Science 2022-06-22 Goutham Ramakrishnan , Yun Chan Lee , Aws Albarghouthi

Beginning programmers struggle with the complex grammar of modern programming languages like Java, and make lot of syntax errors. The diagnostic syntax error messages from compilers and IDEs are sometimes useful, but often the messages are…

Software Engineering · Computer Science 2022-10-14 Toufique Ahmed , Noah Rose Ledesma , Premkumar Devanbu

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

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

Training student models on synthetic data generated by strong teacher models is a promising way to distilling the capabilities of teachers. However, recent studies show that stronger models are not always optimal teachers, revealing a…

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

Nowadays, modeling exercises on software development objects are conducted in higher education institutions for information technology. Not only are there many defects such as missing elements in the models created by learners during the…

Software Engineering · Computer Science 2025-08-07 Yuta Saito , Takehiro Kokubu , Takafumi Tanaka , Atsuo Hazeyama , Hiroaki Hashiura

Artificial students -- models that simulate how learners act and respond within educational systems -- are a promising tool for evaluating tutoring strategies and feedback mechanisms at scale. However, most existing approaches rely on…

Artificial Intelligence · Computer Science 2026-05-14 Charles Koutcheme , Juho Leinonen , Arto Hellas

The goal of program synthesis from examples is to find a computer program that is consistent with a given set of input-output examples. Most learning-based approaches try to find a program that satisfies all examples at once. Our work, by…

Machine Learning · Computer Science 2023-06-21 Disha Shrivastava , Hugo Larochelle , Daniel Tarlow

Computer science class enrollments have rapidly risen in the past decade. With current class sizes, standard approaches to grading and providing personalized feedback are no longer possible and new techniques become both feasible and…

Formal Languages and Automata Theory · Computer Science 2021-02-02 Loris D'Antoni , Martin Helfrich , Jan Kretinsky , Emanuel Ramneantu , Maximilian Weininger

Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While these are excellent for…

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia

Recent advancements in large pre-trained transformer models (GPT2/3, T5) have found use in program synthesis to generate programs that satisfy a set of input/output examples. However, these models perform poorly on long-horizon and low-data…

Programming Languages · Computer Science 2022-05-20 Jack Roper

Program synthesis aims to automatically generate an executable program that conforms to the given specification. Recent advancements have demonstrated that deep neural methodologies and large-scale pretrained language models are highly…

Robotics · Computer Science 2023-12-14 Tianyi Chen , Qidi Wang , Zhen Dong , Liwei Shen , Xin Peng

Background: Software modelling is a creative yet challenging task. Modellers often find themselves lost in the process, from understanding the modelling problem to solving it with proper modelling strategies and modelling tools. Students…

Software Engineering · Computer Science 2024-09-23 Shalini Chakraborty , Javier Troya , Lola Burgueño , Grischa Liebel