English
Related papers

Related papers: Report on a User Test and Extension of a Type Debu…

200 papers

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

Type systems provide software developers immediate feedback about a subset of correctness properties of their programs. IDE integrations often take advantage of type systems to present errors, suggest completions and even improve…

Programming Languages · Computer Science 2022-07-14 Alcides Fonseca , Guilherme Espada

One of the main challenges that developers face when testing their systems lies in engineering test cases that are good enough to reveal bugs. And while our body of knowledge on software testing and automated test case generation is already…

Software Engineering · Computer Science 2021-11-09 Maurício Aniche , Christoph Treude , Andy Zaidman

The ability to incorporate quantum phenomena in computing unlocks a host of new ways to make mistakes. This work surveys existing studies and approaches to debugging quantum programs. It then presents a set of examples that stem from…

Quantum Physics · Physics 2024-02-16 Olivia Di Matteo

To broaden participation, competitive programming contests may include beginner-level problems that do not require knowledge of advanced Computer Science concepts (e.g., algorithms and data structures). However, since most participants have…

Computers and Society · Computer Science 2024-05-27 Mrigank Pawagi , Viraj Kumar

Recent advancements in quantum computing software are gradually increasing the scope and size of quantum programs being developed. At the same time, however, these larger programs provide more possibilities for functional errors that are…

Quantum Physics · Physics 2024-12-18 Damian Rovara , Lukas Burgholzer , Robert Wille

Many studies have long investigated how developers debug, shaping our understanding of debugging and helping motivate the creation of more effective tools. However, less is known about the typical progression of debugging in real world…

Software Engineering · Computer Science 2021-05-06 Abdulaziz Alaboudi , Thomas D. LaToza

Interactive program verification is characterized by iterations of unfinished proof attempts. To support the process of constructing a complete proof, many interactive program verification systems offer a proof scripting language as a…

Logic in Computer Science · Computer Science 2018-04-13 Bernhard Beckert , Sarah Grebing , and Alexander Weigl

In software development, encountering bugs is inevitable. However, opportunities to learn more about bug removal are limited. When students perform debugging tasks, they often use print statements because students do not know how to use a…

Software Engineering · Computer Science 2024-07-26 Aoi Kanaya , Takuma Migo , Hiroaki Hashiura

During lab studies of text entry methods it is typical to observer very few errors in participants' typing - users tend to type very carefully in labs. This is a problem when investigating methods to support error awareness or correction as…

Human-Computer Interaction · Computer Science 2020-03-16 Andreas Komninos , Emma Nicol , Mark Dunlop

Background: Programming is a fundamental skill in computer science and software engineering specifically. Mastering it is a challenge for novices, which is evidenced by numerous errors that students make during programming assignments.…

Software Engineering · Computer Science 2025-02-21 Nadja Just , Janet Siegmund , Belinda Schantong

To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software units that make up the system. Like production code, test…

Software Engineering · Computer Science 2023-03-09 Wajdi Aljedaani , Mohamed Wiem Mkaouer , Anthony Peruma , Stephanie Ludi

We make another assault on the longstanding problem of debugging. After exploring why debuggers are not used as widely as one might expect, especially in functional programming environments, we define the characteristics of a debugger which…

Programming Languages · Computer Science 2019-05-17 John Whitington , Tom Ridge

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

Many important security properties can be formulated in terms of flows of tainted data, and improved taint analysis tools to prevent such flows are of critical need. Most existing taint analyses use whole-program static analysis, leading to…

Programming Languages · Computer Science 2025-05-02 Nima Karimipour , Kanak Das , Manu Sridharan , Behnaz Hassanshahi

Quantum computers are becoming more mainstream. As more programmers are starting to look at writing quantum programs, they need to test and debug their code. In this paper, we discuss various use-cases for quantum computers, either…

Software Engineering · Computer Science 2021-03-17 Andriy Miranskyy , Lei Zhang , Javad Doliskani

Program errors are hard to find because of the cause-effect gap between the time when an error occurs and the time when the error becomes apparent to the programmer. Although debugging techniques such as conditional and data breakpoints…

Software Engineering · Computer Science 2007-05-23 Raimondas Lencevicius

Dynamic languages are praised for their flexibility and expressiveness, but static analysis often yields many false positives and verification is cumbersome for lack of structure. Hence, unit testing is the prevalent incomplete method for…

Programming Languages · Computer Science 2015-02-06 Robert Jakob , Peter Thiemann

Statically typed languages offer significant advantages, such as bug prevention, enhanced code quality, and reduced maintenance costs. However, these benefits often come at the expense of a steep learning curve and a slower development…

Human-Computer Interaction · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey , John Grundy

In recent years, there has been an increased interest in tools that establish \emph{incorrectness} rather than correctness of program properties. In this work we build on this approach by developing a novel methodology to prove…

Programming Languages · Computer Science 2024-09-24 Kelvin Qian , Scott Smith , Brandon Stride , Shiwei Weng , Ke Wu