English
Related papers

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

200 papers

Designing and debugging distributed systems is notoriously difficult. The correctness of a distributed system is largely determined by its handling of failure scenarios. The sequence of events leading to a bug can be long and complex, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-15 Doug Woos , Zachary Tatlock , Michael D. Ernst , Thomas E. Anderson

Quantum computers are becoming more mainstream. As more programmers are starting to look at writing quantum programs, they face an inevitable task of debugging their code. How should the programs for quantum computers be debugged? In this…

Software Engineering · Computer Science 2020-02-03 Andriy Miranskyy , Lei Zhang , Javad Doliskani

As developers debug, developers formulate hypotheses about the cause of the defect and gather evidence to test these hypotheses. To better understand the role of hypotheses in debugging, we conducted two studies. In a preliminary study, we…

Software Engineering · Computer Science 2020-05-29 Abdulaziz Alaboudi , Thomas D. LaToza

Tile-based programming frameworks are increasingly adopted to write high-performance GPU kernels in domains such as deep learning and scientific computing. While these frameworks enhance productivity and hardware utilization, their…

Software Engineering · Computer Science 2026-05-20 Ravishka Rathnasuriya , Zihe Song , Nidhi Majoju , Aaryaa Moharir , Tingxi Li , Wei Yang , Tao Xie

While teaching introductory programming courses for over a decade in reputed institutions we have experienced that several factors play significant role in developing problem solving skills and program development skills in students. There…

Computers and Society · Computer Science 2015-06-30 Biswajit Saha , Utpal Kumar Ray

In computer science education, test cases are an integral part of programming assignments since they can be used as assessment items to test students' programming knowledge and provide personalized feedback on student-written code. The goal…

Computation and Language · Computer Science 2024-02-13 Nischal Ashok Kumar , Andrew Lan

Writing declarative models has numerous benefits, ranging from automated reasoning and correction of design-level properties before systems are built, to automated testing and debugging of their implementations after they are built. Alloy…

Software Engineering · Computer Science 2024-04-02 Ana Jovanovic , Allison Sullivan

Computational notebooks -- such as Jupyter or Colab -- combine text and data analysis code. They have become ubiquitous in the world of data science and exploratory data analysis. Since these notebooks present a different programming…

Software Engineering · Computer Science 2022-07-20 Derek Robinson , Neil A. Ernst , Enrique Larios Vargas , Margaret-Anne D. Storey

Debugging ML software (i.e., the detection, localization and fixing of faults) poses unique challenges compared to traditional software largely due to the probabilistic nature and heterogeneity of its development process. Various methods…

Software Engineering · Computer Science 2025-03-06 Thanh-Dat Nguyen , Haoye Tian , Bach Le , Patanamon Thongtanunam , Shane McIntosh

Introductory programming courses often rely on small code-writing exercises that have clearly specified problem statements. This limits opportunities for students to practice how to clarify ambiguous requirements -- a critical skill in…

Human-Computer Interaction · Computer Science 2025-04-17 Paul Denny , Viraj Kumar , Stephen MacNeil , James Prather , Juho Leinonen

As software grows increasingly complex, the quantity and diversity of concerns to be addressed also rises. To answer this diversity of concerns, developers may end up using multiple programming languages in a single software project, a…

Programming Languages · Computer Science 2025-03-03 Philémon Houdaille , Djamel Eddine Khelladi , Benoit Combemale , Gunter Mussbacher , Tijs van der Storm

Understanding student difficulties in programming is a complex challenge due to the wide range of topics and the abundant varieties of misconceptions and errors. This paper presents the design and development of a fine-grained taxonomy that…

Computers and Society · Computer Science 2026-05-27 Dimitri Eckert , Christian Kautz

Foundations of formal languages, as subfield of theoretical computer science, are part of typical upper secondary education curricula. There is very little research on the potential difficulties that students at this level have with this…

Computers and Society · Computer Science 2024-09-24 Marko Schmellenkamp , Dennis Stanglmair , Tilman Michaeli , Thomas Zeume

Context: Tables are ubiquitous formats for data. Therefore, techniques for writing correct programs over tables, and debugging incorrect ones, are vital. Our specific focus in this paper is on rich types that articulate the properties of…

Programming Languages · Computer Science 2021-11-23 Kuang-Chen Lu , Ben Greenman , Shriram Krishnamurthi

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

Software Engineering · Computer Science 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

Automated debugging, long pursued in a variety of fields from software engineering to cybersecurity, requires a framework that offers the building blocks for a programmable debugging workflow. However, existing debuggers are primarily…

Software Engineering · Computer Science 2025-06-06 Gabriele Digregorio , Roberto Alessandro Bertolini , Francesco Panebianco , Mario Polino

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

Currently, programming instructors continually face the problem of helping to debug students' programs. Although there currently exist a number of debuggers and debugging tools in various platforms, most of these projects or products are…

Software Engineering · Computer Science 2009-10-02 Abdullah Mohd Zin , Syed Ahmad Aljunid , Zarina Shukur , Mohd Jan Nordin

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

This paper contains examples for a companion paper "The Prolog Debugger and Declarative Programming", which discusses (in)adequacy of the Prolog debugger for declarative programming. Logic programming is a declarative programming paradigm.…

Programming Languages · Computer Science 2020-04-07 Włodzimierz Drabent