English
Related papers

Related papers: Causes and Effects in Computer Programs

200 papers

There are countless reasons cited in scientific studies to explain the difficulties in programming learning. The reasons range from the subject's complexity, the ineffective teaching and study methods, to psychological aspects such as…

Computers and Society · Computer Science 2020-06-26 Alberto Simões , Ricardo Queirós

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

By recording every state change in the run of a program, it is possible to present the programmer every bit of information that might be desired. Essentially, it becomes possible to debug the program by going ``backwards in time,'' vastly…

Software Engineering · Computer Science 2009-09-29 Bil Lewis

As most parallel and distributed programs are internally non-deterministic -- consecutive runs with the same input might result in a different program flow -- vanilla cyclic debugging techniques as such are useless. In order to use cyclic…

Software Engineering · Computer Science 2007-05-23 Michiel Ronsse , Koen De Bosschere , Jacques Chassin de Kergommeaux

A decision is an act or event of decision taking. Decision making always includes decision taking, the latter not involving significant exchanges with non-deciding agents. A decision outcome is a piece of storable information constituting…

Other Computer Science · Computer Science 2014-08-12 J. A. Bergstra

Concurrent systems identify systems, either software, hardware or even biological systems, that are characterized by sets of independent actions that can be executed in any order or simultaneously. Computer scientists resort to a causal…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-03-07 Silvia Crafa , Federica Russo

Debugging is an essential part of software maintenance and evolution since it allows software developers to analyze program execution step by step. Understanding a program is required to fix potential flaws, alleviate bottlenecks, and…

Software Engineering · Computer Science 2024-04-22 Tim Kräuter , Harald König , Adrian Rutle , Yngve Lamo

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence,…

Logic in Computer Science · Computer Science 2016-07-18 Peter Schrammel

Emergence is a pregnant property in various fields. It is the fact for a phenomenon to appear surprisingly and to be such that it seems at first sight that it is not possible to predict its apparition. That is the reason why it has often…

Computational Complexity · Computer Science 2023-08-23 Hervé Zwirn

Detecting and understanding reasons for defects and inadvertent behavior in software is challenging due to their increasing complexity. In configurable software systems, the combinatorics that arises from the multitude of features a user…

Software Engineering · Computer Science 2022-03-01 Clemens Dubslaff , Kallistos Weis , Christel Baier , Sven Apel

A general theory of programs, programming and programming languages built up from a few concepts of elementary set theory. Derives, as theorems, properties treated as axioms by classic approaches to programming. Covers sequential and…

Programming Languages · Computer Science 2015-12-08 Bertrand Meyer

Determining and measuring cause-effect relationships is fundamental to most scientific studies of natural phenomena. The notion of causation is distinctly different from correlation which only looks at association of trends or patterns in…

Methodology · Statistics 2019-10-22 Aditi Kathpalia , Nithin Nagaraj

Debugging distributed systems in-production is inevitable and hard. Myriad interactions between concurrent components in modern, complex and large-scale systems cause non-deterministic bugs that offline testing and verification fail to…

Software Engineering · Computer Science 2026-04-08 Jingyuan Chen , Lei Zhang , Leon Schuermann , Gongqi Huang , Ravi Netravali , Amit Levy

Runtime nondeterminism is a fact of life in modern database applications. Previous research has shown that nondeterminism can cause applications to intermittently crash, become unresponsive, or experience data corruption. We propose…

Databases · Computer Science 2020-04-13 Anna Fariha , Suman Nath , Alexandra Meliou

Causal reasoning is a crucial part of science and human intelligence. In order to discover causal relationships from data, we need structure discovery methods. We provide a review of background theory and a survey of methods for structure…

Machine Learning · Computer Science 2021-03-05 Matthew J. Vowels , Necati Cihan Camgoz , Richard Bowden

What does it mean to claim that a physical or natural system computes? One answer, endorsed here, is that computing is about programming a system to behave in different ways. This paper offers an account of what it means for a physical…

Information Theory · Computer Science 2013-06-18 Hector Zenil

The origins of proof-theoretic semantics lie in the question of what constitutes the meaning of the logical connectives and its response: the rules of inference that govern the use of the connective. However, what if we go a step further…

Logic in Computer Science · Computer Science 2023-07-11 Sara Ayhan

Bug finding tools can find defects in software source code us- ing an automated static analysis. This automation may be able to reduce the time spent for other testing and review activities. For this we need to have a clear understanding of…

Software Engineering · Computer Science 2017-11-15 Stefan Wagner , Jan Jürjens , Claudia Koller , Peter Trischberger

We define an algorithm to be the set of programs that implement or express that algorithm. The set of all programs is partitioned into equivalence classes. Two programs are equivalent if they are essentially the same program. The set of…

Logic · Mathematics 2010-06-14 Noson S. Yanofsky

Static analysis is one of the most widely adopted techniques to find software bugs before code is put in production. Designing and implementing effective and efficient static analyses is difficult and requires high expertise, which results…

Software Engineering · Computer Science 2019-06-04 Andrew Habib , Michael Pradel
‹ Prev 1 3 4 5 6 7 10 Next ›