English
Related papers

Related papers: Stepping Lazy Programs

200 papers

The call-by-need lambda calculus provides an equational framework for reasoning syntactically about lazy evaluation. This paper examines its operational characteristics. By a series of reasoning steps, we systematically unpack the…

Programming Languages · Computer Science 2015-07-01 Ronald Garcia , Andrew Lumsdaine , Amr Sabry

We introduce a lazy approach to the explanation-based approximation of probabilistic logic programs. It uses only the most significant part of the program when searching for explanations. The result is a fast and anytime approximate…

Artificial Intelligence · Computer Science 2015-07-13 Joris Renkens , Angelika Kimmig , Luc De Raedt

Debugging is a fundamental skill that novice programmers must develop. Numerous tools have been created to assist novice programmers in this process. Recently, large language models (LLMs) have been integrated with automated program repair…

Software Engineering · Computer Science 2025-11-10 Oka Kurniawan , Erick Chandra , Christopher M. Poskitt , Yannic Noller , Kenny Tsu Wei Choo , Cyrille Jegourel

Reversible debugging is becoming increasingly popular for locating the source of errors. This technique proposes a more natural approach to debugging, where one can explore a computation from the observable misbehaviour backwards to the…

Programming Languages · Computer Science 2022-06-22 Germán Vidal

Probabilistic programming is a rapidly developing programming paradigm which enables the formulation of Bayesian models as programs and the automation of posterior inference. It facilitates the development of models and conducting Bayesian…

Software Engineering · Computer Science 2025-10-31 Nathanael Nussbaumer , Markus Böck , Jürgen Cito

The purpose of a program analysis is to compute an abstract meaning for a program which approximates its dynamic behaviour. A compositional program analysis accomplishes this task with a divide-and-conquer strategy: the meaning of a program…

Programming Languages · Computer Science 2013-10-15 Azadeh Farzan , Zachary Kincaid

As new advancements in the field of quantum computing lead to the development of increasingly complex programs, approaches to validate and debug these programs are becoming more important. To this end, methods employed in classical…

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

Algebraic characterization of logic programs has received increasing attention in recent years. Researchers attempt to exploit connections between linear algebraic computation and symbolic computation in order to perform logical inference…

Logic in Computer Science · Computer Science 2020-09-23 Tuan Nguyen Quoc , Katsumi Inoue , Chiaki Sakama

A gradual type system allows developers to declare certain types to be enforced by the compiler (i.e., statically typed), while leaving other types to be enforced via runtime checks (i.e., dynamically typed). When runtime checks fail,…

Programming Languages · Computer Science 2025-03-03 Felipe Bañados Schwerter , Ronald Garcia , Reid Holmes , Karim Ali

Symbolic execution is a well established method for test input generation. Despite of having achieved tremendous success over numerical domains, existing symbolic execution techniques for heap-based programs are limited due to the lack of a…

Software Engineering · Computer Science 2019-09-17 Long H. Pham , Quang Loc Le , Quoc-Sang Phan , Jun Sun , Shengchao Qin

Backtracking (i.e., reverse execution) helps the user of a debugger to naturally think backwards along the execution path of a program, and thinking backwards makes it easy to locate the origin of a bug. So far backtracking has been…

Programming Languages · Computer Science 2013-09-23 Jooyong Yi

Comparative evaluation of several systems is a recurrent task in researching. It is a key step before deciding which system to use for our work, or, once our research has been conducted, to demonstrate the potential of the resulting model.…

Computation and Language · Computer Science 2026-02-24 Sergio Gómez González , Miguel Domingo , Francisco Casacuberta

Software development agents powered by large language models (LLMs) have shown great promise in automating tasks like environment setup, issue solving, and program repair. Unfortunately, understanding and debugging such agents remain…

Software Engineering · Computer Science 2026-02-09 Robert Hutter , Michael Pradel

While professional integrated programming environments support developers with advanced debugging functionality, block-based programming environments for young learners often provide no support for debugging at all, thus inhibiting…

Software Engineering · Computer Science 2023-09-27 Adina Deiner , Gordon Fraser

Static analyzers are tool sets which are proving to be indispensable to modern programmers. These enable the programmers to detect possible errors and security defects present in the current code base within the implementation phase of the…

Software Engineering · Computer Science 2019-05-14 Eljose E Sajan , Yunpeng Zhang , Liang-Chieh Cheng

Optimal use of computing resources requires extensive coding, tuning and benchmarking. To boost developer productivity in these time consuming tasks, we introduce the Experimental Linear Algebra Performance Studies framework (ELAPS), a…

Performance · Computer Science 2015-05-01 Elmar Peise , Paolo Bientinesi

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano

We show that lambda calculus is a computation model which can step by step simulate any sequential deterministic algorithm for any computable function over integers or words or any datatype. More formally, given an algorithm above a family…

Logic in Computer Science · Computer Science 2010-10-15 Marie Ferbus-Zanda , Serge Grigorieff

Ladder Logics is a programming language standardized in IEC 61131-3 and widely used for programming industrial Programmable Logic Controllers (PLC). A PLC program consists of inputs (whose values are given at runtime by factory sensors),…

Software Engineering · Computer Science 2019-12-24 Denis Cousineau , David Mentré , Hiroaki Inoue

Large language models (LLMs) are leading significant progress in code generation. Beyond one-pass code generation, recent works further integrate unit tests and program verifiers into LLMs to iteratively refine the generated programs.…

Software Engineering · Computer Science 2024-06-12 Li Zhong , Zilong Wang , Jingbo Shang