English
Related papers

Related papers: Stepping Lazy Programs

200 papers

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the…

Programming Languages · Computer Science 2017-04-17 Laura Kovacs

Debugging is an essential skill when learning to program, yet its instruction and emphasis often vary widely across introductory courses. In the era of code-generating large language models (LLMs), the ability for students to reason about…

Software Engineering · Computer Science 2024-11-26 Victor-Alexandru Pădurean , Paul Denny , Adish Singla

We introduce an algebraic analogue of dynamical systems, based on term rewriting. We show that a recursive function applied to the output of an iterated rewriting system defines a formal class of models into which all the main architectures…

Category Theory · Mathematics 2023-11-07 Iolo Jones , Jerry Swan , Jeffrey Giansiracusa

The field of Language Reasoning Models (LRMs) has been very active over the past few years with advances in training and inference techniques enabling LRMs to reason longer, and more accurately. However, a growing body of studies show that…

Computation and Language · Computer Science 2025-12-17 Yannis Belkhiter , Seshu Tirupathi , Giulio Zizzo , John D. Kelleher

Model-based reasoning is a central concept in current research into intelligent diagnostic systems. It is based on the assumption that sources of incorrect behavior in technical devices can be located and identified via the existence of a…

Software Engineering · Computer Science 2007-05-23 Cristinel Mateis , Markus Stumptner , Dominik Wieland , Franz Wotawa

Static analysis tools typically address the problem of excessive false positives by requiring programmers to explicitly annotate their code. However, when faced with incomplete annotations, many analysis tools are either too conservative,…

Programming Languages · Computer Science 2021-07-16 Sam Estep , Jenna Wise , Jonathan Aldrich , Éric Tanter , Johannes Bader , Joshua Sunshine

We use Hidden Markov Models to motivate a quantitative compositional semantics for noninterference-based security with iteration, including a refinement- or "implements" relation that compares two programs with respect to their information…

Cryptography and Security · Computer Science 2019-02-20 Annabelle McIver , Larissa Meinicke , Carroll Morgan

A myriad of applications ranging from engineering and scientific simulations, image and signal processing as well as high-sensitive data retrieval demand high processing power reaching up to teraflops for their efficient execution. While a…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-02 Patrick Mukala

Decomposition, statically dividing a program into multiple units, is a common programming technique for realizing parallelism and refining programs. The decomposition of a sequential program into components is tedious, due to the…

Software Engineering · Computer Science 2020-09-09 Sabah Al-Fedaghi

In large-scale software systems, there are often no fully-fledged bug reports with human-written descriptions when an error occurs. In this case, developers rely on stack traces, i.e., series of function calls that led to the error. Since…

Software Engineering · Computer Science 2024-12-20 Egor Shibaev , Denis Sushentsev , Yaroslav Golubev , Aleksandr Khvorov

Learners are often introduced to programming via dedicated languages such as Scratch, where block-based commands are assembled visually in order to control the interactions of graphical sprites. Automated testing of such programs is an…

Software Engineering · Computer Science 2022-02-15 Katharina Götz , Patric Feldmeier , Gordon Fraser

Floating-point arithmetic is error-prone and unintuitive. Floating-point debuggers instrument programs to monitor floating-point arithmetic at run time and flag numerical issues. They estimate residues, i.e., the difference between actual…

Mathematical Software · Computer Science 2026-04-09 Yumeng He , Pavel Panchekha

Process supervision, using a trained verifier to evaluate the intermediate steps generated by a reasoner, has demonstrated significant improvements in multi-step problem solving. In this paper, to avoid the expensive effort of human…

Artificial Intelligence · Computer Science 2024-10-16 Zihan Wang , Yunxuan Li , Yuexin Wu , Liangchen Luo , Le Hou , Hongkun Yu , Jingbo Shang

In this paper, we address the problem of manual debugging, which nowadays remains resource-intensive and in some parts archaic. This problem is especially evident in increasingly complex and distributed software systems. Therefore, our…

Software Engineering · Computer Science 2025-08-21 Dennis Schiese , Andreas Both

Motivated by experience in programming and in the teaching of programming, we make another assault on the longstanding problem of debugging. Having explored why debuggers are not used as widely as one might expect, especially in functional…

Programming Languages · Computer Science 2024-11-04 John Whitington

Logging statements are essential for software debugging and maintenance. However, existing approaches to automatic logging generation rely on static analysis and produce statements in a single pass without considering runtime behavior. They…

Software Engineering · Computer Science 2026-04-01 Xin Wang , Yang Feng , Jiaoxiao Qian , Yang Zhang , Zhenhao Li , Zishuo Ding

Writing correct programs for weak memory models such as the C11 memory model is challenging because of the weak consistency guarantees these models provide. The first program logics for the verification of such programs have recently been…

Programming Languages · Computer Science 2018-02-20 Alexander J. Summers , Peter Müller

In many massively parallel data management platforms, programs are represented as small imperative pieces of code connected in a data flow. This popular abstraction makes it hard to apply algebraic reordering techniques employed by…

Databases · Computer Science 2013-01-18 Fabian Hueske , Aljoscha Krettek , Kostas Tzoumas

This document contains a description of a Common Lisp extension that allows a programmer to write functional programs that use "normal order" evaluation, as in "non-strict" languages like Haskell. The extension is relatively…

Programming Languages · Computer Science 2014-12-04 Marco Antoniotti

We study the desiderata on a model for statistical probabilistic programming languages. We argue that they can be met by a combination of traditional tools, namely open bisimulation and probabilistic simulation.

Logic in Computer Science · Computer Science 2024-03-26 Radha Jagadeesan