中文
相关论文

相关论文: Causes and Effects in Computer Programs

200 篇论文

Software bugs cost the global economy billions of dollars each year and take up ~50% of the development time. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and…

软件工程 · 计算机科学 2023-08-24 Parvez Mahbub , Mohammad Masudur Rahman , Ohiduzzaman Shuvo , Avinash Gopal

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…

编程语言 · 计算机科学 2019-05-17 John Whitington , Tom Ridge

Computer programs are often factored into pure components -- simple, total functions from inputs to outputs -- and components that may have side effects -- errors, changes to memory, parallel threads, abortion of the current loop, etc. We…

计算与语言 · 计算机科学 2025-04-02 Dylan Bumford , Simon Charlow

Debugging is a vital but challenging skill for beginner programmers to learn. It is also a difficult skill to teach. For secondary school teachers, who may lack time or programming experience, honing students' understanding of debugging can…

计算机与社会 · 计算机科学 2026-04-01 Laurie Gale , Sue Sentance

Understanding fault types can lead to novel approaches to debugging and runtime verification. Dealing with complex faults, particularly in the challenging area of embedded systems, craves for more powerful tools, which are now becoming…

Computer programs are part of our daily life, we use them, we provide them with data, they support our decisions, they help us remember, they control machines, etc. Programs are made by people, but in most cases we are not their authors, so…

计算机与社会 · 计算机科学 2021-12-07 Andrej Brodnik , Andrew Csizmadia , Gerald Futschek , Lidija Kralj , Violetta Lonati , Peter Micheuz , Mattia Monga

Debugging software, i.e., the localization of faults and their repair, is a key activity in software engineering. Therefore, effective and efficient debugging is one of the core skills a software engineer must develop. However, the teaching…

Often, a good explanation for a program's unexpected behavior is a bug in the programmer's code. But sometimes, an even better explanation is a bug in the programmer's mental model of the language or API they are using. Instead of merely…

Debugging is a relevant task for finding bugs during software development, maintenance, and evolution. During debugging, developers use modern IDE debuggers to analyze variables, step execution, and set breakpoints. Observing IDE debuggers,…

软件工程 · 计算机科学 2021-11-15 Eduardo Andreetta Fontana , Fabio Petrillo

Debugging a machine learning model is hard since the bug usually involves the training data and the learning process. This becomes even harder for an opaque deep learning model if we have no clue about how the model actually works. In this…

计算与语言 · 计算机科学 2021-12-14 Piyawat Lertvittayakumjorn , Francesca Toni

Background and context: Debugging is a significant and often frustrating challenge for beginner programmers. Understanding students' debugging behaviours and strategies can help to identify common difficulties and inform approaches for…

计算机与社会 · 计算机科学 2026-04-03 Laurie Gale , Sue Sentance

Natural language elements in source code, e.g., the names of variables and functions, convey useful information. However, most existing bug detection tools ignore this information and therefore miss some classes of bugs. The few existing…

软件工程 · 计算机科学 2018-05-31 Michael Pradel , Koushik Sen

Not much has been written about the role of triggers in the literature on causal reasoning, causal modeling, or philosophy. In this paper, we focus on describing triggers and causes in the metaphysical sense and on characterizations that…

机器学习 · 计算机科学 2025-04-03 Kateřina Hlaváčková-Schindler , Rainer Wöß , Vera Pecorino , Philip Schindler

As developers program and debug, they continuously edit and run their code, a behavior known as edit-run cycles. While techniques such as live programming are intended to support this behavior, little is known about the characteristics of…

软件工程 · 计算机科学 2021-09-08 Abdulaziz Alaboudi , Thomas D. LaToza

As applications get developed, bugs inevitably get introduced. Often, it is unclear why a given code change introduced a given bug. To find this causal relation and more effectively debug, developers can leverage the existence of a previous…

编程语言 · 计算机科学 2021-04-13 Thomas Dupriez , Steven Costiou , Stéphane Ducasse

Quantum computing has existed in the theoretical realm for several decades. Recently, quantum computing has re-emerged as a promising technology to solve problems that a classical computer could take hundreds of years to solve. However,…

软件工程 · 计算机科学 2024-10-14 Neilson Carlos Leite Ramalho , Higor Amario de Souza , Marcos Lordello Chaim

Debugging is difficult. Recent studies show that automatic bug localization techniques have limited usefulness. One of the reasons is that programmers typically have to understand why the program fails before fixing it. In this work, we aim…

软件工程 · 计算机科学 2019-11-22 Jun Sun , Long H. Pham , Lyly Tran Thi , Jingyi Wang , Xin Peng

Bug patterns are erroneous code idioms or bad coding practices that have been proved to fail time and time again, which are usually caused by the misunderstanding of a programming language's features, the use of erroneous design patterns,…

软件工程 · 计算机科学 2021-03-17 Pengzhan Zhao , Jianjun Zhao , Lei Ma

The question of the definition of what is an algorithm is recurrent. It is found in teaching, at different levels and particularly in secondary education because of the recent evolutions in high school, with immediate consequences in higher…

数据结构与算法 · 计算机科学 2024-12-17 Emmanuel Beffara

Recent work in psychology and experimental philosophy has shown that judgments of actual causation are often influenced by consideration of defaults, typicality, and normality. A number of philosophers and computer scientists have also…

人工智能 · 计算机科学 2013-09-06 Joseph Y. Halpern , Christopher Hitchcock