English
Related papers

Related papers: Reversible Language Extensions and their Applicati…

200 papers

Reversible debuggers and process replay have been developed at least since 1970. This vision enables one to execute backwards in time under a debugger. Two important problems in practice are that, first, current reversible debuggers are…

Programming Languages · Computer Science 2017-04-03 Kapil Arya , Tyler Denniston , Ariel Rabkin , Gene Cooperman

We present a new approach for building source-to-source transformations that can run on multiple programming languages, based on a new way of representing programs called incremental parametric syntax. We implement this approach in Haskell…

Programming Languages · Computer Science 2018-10-03 James Koppel , Varot Premtoon , Armando Solar-Lezama

A key part of learning to program is learning to understand programming error messages. They can be hard to interpret and identifying the cause of errors can be time-consuming. One factor in this challenge is that the messages are typically…

Human-Computer Interaction · Computer Science 2024-04-03 Juho Leinonen , Arto Hellas , Sami Sarsa , Brent Reeves , Paul Denny , James Prather , Brett A. Becker

Large language models (LLMs) and transformer-based architectures are increasingly utilized for source code analysis. As software systems grow in complexity, integrating LLMs into code analysis workflows becomes essential for enhancing…

Software Engineering · Computer Science 2025-03-25 Hamed Jelodar , Mohammad Meymani , Roozbeh Razavi-Far

Proponents of the programming language Prolog share the opinion Prolog is more appropriate for transforming XML-documents as other well-established techniques and languages like XSLT. In order to clarify this position this work proposes a…

Programming Languages · Computer Science 2021-04-26 René Haberland

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

We introduce Natlog, a lightweight Logic Programming language, sharing Prolog's unification-driven execution model, but with a simplified syntax and semantics. Our proof-of-concept Natlog implementation is tightly embedded in the…

Programming Languages · Computer Science 2021-09-20 Paul Tarau

Following the ideas of the Remote Procedure Call model, we have developed a logic programming counterpart, naturally called Prolog Remote Predicate Call (Prolog RPC). The Prolog RPC protocol facilitates the integration of Prolog code in…

Networking and Internet Architecture · Computer Science 2007-05-23 Alin Suciu , Kalman Pusztai , Andrei Diaconu

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…

Programming Languages · Computer Science 2019-05-17 John Whitington , Tom Ridge

Debugging is a crucial skill in programming education and software development, yet it is often overlooked in CS curricula. To address this, we introduce an AI-powered debugging assistant integrated into an IDE. It offers real-time support…

Context. An extension method is a method declared in a package other than the package of its host class. Thanks to extension methods, developers can adapt to their needs classes they do not own: adding methods to core classes is a typical…

Programming Languages · Computer Science 2017-08-08 Guillermo Polito , Camille Teruel , Stéphane Ducasse , Luc Fabresse

One of the most attractive features of untyped languages is the flexibility in term creation and manipulation. However, with such power comes the responsibility of ensuring the correctness of these operations. A solution is adding run-time…

Programming Languages · Computer Science 2017-10-17 Nataliia Stulova , José F. Morales , Manuel V. Hermenegildo

Transforming XML documents with conventional XML languages, like XSL-T, is disadvantageous because there is too lax abstraction on the target language and it is rather difficult to recognize rule-oriented transformations. Prolog as a…

Logic in Computer Science · Computer Science 2019-06-21 René Haberland , Igor L. Bratchikov

The use of Large Language Models (LLMs) for program code generation has gained substantial attention, but their biases and limitations with non-English prompts challenge global inclusivity. This paper investigates the complexities of…

Computation and Language · Computer Science 2025-05-13 Mingda Li , Abhijit Mishra , Utkarsh Mujumdar

Many software development tasks, such as implementing features and fixing bugs, begin with developers posing questions about a codebase. However, answering questions about codebases that span millions of lines of code across thousands of…

Software Engineering · Computer Science 2026-05-12 Amirmohammad Nazari , Sadra Sabouri , Wang Bill Zhu , Robin Jia , Souti Chattopadhyay , Mukund Raghothaman

In recent years, the growing interest in Large Language Models (LLMs) has significantly advanced prompt engineering, transitioning from manual design to model-based optimization. Prompts for LLMs generally comprise two components: the…

Computation and Language · Computer Science 2025-10-09 Qinhao Zhou , Xiang Xiang , Kun He , John E. Hopcroft

Program logics are a powerful formal method in the context of program verification. Can we develop a counterpart of program logics in the context of language verification? This paper proposes language logics, which allow for statements of…

Programming Languages · Computer Science 2024-08-06 Matteo Cimini

I here conduct an exploration of programming language extensibility, making an argument for an often overlooked component of conventional language design. Now, this is not a technical detailing of these components, rather, I attempt to…

Programming Languages · Computer Science 2025-10-16 Sebastian mateos Nicolajsen

Initially developed for natural language processing (NLP), Transformers are now widely used for source code processing, due to the format similarity between source code and text. In contrast to natural language, source code is strictly…

Machine Learning · Computer Science 2021-06-25 Nadezhda Chirkova , Sergey Troshin

Recent work has provided delimited control for Prolog to dynamically manipulate the program control-flow, and to implement a wide range of control-flow and dataflow effects on top of. Unfortunately, delimited control is a rather primitive…

Programming Languages · Computer Science 2016-08-03 Amr Hany Saleh , Tom Schrijvers