English
Related papers

Related papers: What Makes Code Hard to Understand?

200 papers

Contribution: This study examined student effort and performance in an introductory programming course with respect to student-held implicit theories and self-efficacy. Background: Implicit theories and self-efficacy shed a light into…

Computers and Society · Computer Science 2018-09-03 F. Boray Tek , Kristin S. Benli , Ezgi Deveci

Identifying and resolving logic errors can be one of the most frustrating challenges for novices programmers. Unlike syntax errors, for which a compiler or interpreter can issue a message, logic errors can be subtle. In certain conditions,…

Human-Computer Interaction · Computer Science 2023-11-28 Stephen MacNeil , Paul Denny , Andrew Tran , Juho Leinonen , Seth Bernstein , Arto Hellas , Sami Sarsa , Joanne Kim

Large Language Models (LLMs) have demonstrated impressive capabilities in understanding and generating codes. Due to these capabilities, many recent methods are proposed to automatically refine the codes with LLMs. However, we should…

Software Engineering · Computer Science 2024-10-31 Minju Seo , Jinheon Baek , Sung Ju Hwang

Tests that cause spurious failures without any code changes, i.e., flaky tests, hamper regression testing, increase maintenance costs, may shadow real bugs, and decrease trust in tests. While the prevalence and importance of flakiness is…

Software Engineering · Computer Science 2022-02-15 Martin Gruber , Stephan Lukasczyk , Florian Kroiß , Gordon Fraser

Making a Prolog program more efficient by transforming its source code, without changing its operational semantics, is not an obvious task. It requires the user to have a clear understanding of how the Prolog compiler works, and in…

Programming Languages · Computer Science 2007-11-01 Francois Gobert , Baudouin Le Charlier

Reading and understanding code are fundamental skills for novice programmers, and especially important with the growing prevalence of AI-generated code and the need to evaluate its accuracy and reliability. ``Explain in Plain English''…

Computers and Society · Computer Science 2025-03-18 David H. Smith , Max Fowler , Paul Denny , Craig Zilles

Reading, understanding and explaining code have traditionally been important skills for novices learning programming. As large language models (LLMs) become prevalent, these foundational skills are more important than ever given the…

Human-Computer Interaction · Computer Science 2024-03-12 Paul Denny , David H. Smith , Max Fowler , James Prather , Brett A. Becker , Juho Leinonen

Reasoning about code and explaining its purpose are fundamental skills for computer scientists. There has been extensive research in the field of computing education on the relationship between a student's ability to explain code and other…

Computers and Society · Computer Science 2024-04-03 Juho Leinonen , Paul Denny , Stephen MacNeil , Sami Sarsa , Seth Bernstein , Joanne Kim , Andrew Tran , Arto Hellas

Language models have shown strong capabilities across a wide range of tasks in software engineering, such as code generation, yet they suffer from hallucinations. While hallucinations have been studied independently in natural language and…

Software Engineering · Computer Science 2025-08-13 Chunhua Liu , Hong Yi Lin , Patanamon Thongtanunam

While recent work has convincingly showed that sequence-to-sequence models struggle to generalize to new compositions (termed compositional generalization), little is known on what makes compositional generalization hard on a particular…

Computation and Language · Computer Science 2022-10-25 Ben Bogin , Shivanshu Gupta , Jonathan Berant

Just because software developers say they believe in "X", that does not necessarily mean that "X" is true. As shown here, there exist numerous beliefs listed in the recent Software Engineering literature which are only supported by small…

Software Engineering · Computer Science 2020-04-10 N. C. Shrikanth , Tim Menzies

Motivated by the importance of explainability in modern machine learning, we design bandit algorithms that are efficient and interpretable. A bandit algorithm is interpretable if it explores with the objective of reducing uncertainty in the…

Machine Learning · Computer Science 2024-02-12 Subhojyoti Mukherjee , Ruihao Zhu , Branislav Kveton

Testing probabilistic programs is non-trivial due to their stochastic nature. Given an input, the program may produce different outcomes depending on the underlying stochastic choices in the program. This means testing the expected outcomes…

Software Engineering · Computer Science 2025-09-03 Katrine Christensen , Mahsa Varshosaz , Raúl Pardo

Neural code synthesis has reached a point where snippet generation is accurate enough to be considered for integration into human software development workflows. Commercial products aim to increase programmers' productivity, without being…

CONTEXT: There is growing interest in establishing software engineering as an evidence-based discipline. To that end, replication is often used to gain confidence in empirical findings, as opposed to reproduction where the goal is showing…

Software Engineering · Computer Science 2018-02-14 Martin Shepperd

Proponents of software verification suggest that code simplicity is linked to the effort to verify code, hypothesizing that formal verifiers produce fewer false positive warnings and require less manual intervention when analyzing simpler…

Software Engineering · Computer Science 2026-04-27 Nadeeshan De Silva , Martin Kellogg , Oscar Chaparro

Conformal prediction, which makes no distributional assumptions about the data, has emerged as a powerful and reliable approach to uncertainty quantification in practical applications. The nonconformity measure used in conformal prediction…

Machine Learning · Computer Science 2024-10-15 Yuko Kato , David M. J. Tax , Marco Loog

Since the introduction of the Fortran programming language some 60 years ago, there has been little progress in making error messages more user-friendly. A first step in this direction is to translate them into the natural language of the…

Computers and Society · Computer Science 2015-08-21 Bertrand Roehner

In program synthesis, we transform a specification into a program that is guaranteed to satisfy the specification. In synthesis of reactive systems, the environment in which the program operates may behave nondeterministically, e.g., by…

Logic in Computer Science · Computer Science 2013-07-25 Ron van der Meyden , Moshe Y. Vardi

This paper proposes an adaptive neural-compilation framework to address the problem of efficient program learning. Traditional code optimisation strategies used in compilers are based on applying pre-specified set of transformations that…

Artificial Intelligence · Computer Science 2016-05-27 Rudy Bunel , Alban Desmaison , Pushmeet Kohli , Philip H. S. Torr , M. Pawan Kumar