English
Related papers

Related papers: Hazelnut: A Bidirectionally Typed Structure Editor…

200 papers

Structured merge tools exploit programming language syntactic structure to enhance merge accuracy by reducing spurious conflicts reported by unstructured tools. By creating and handling full ASTs, structured tools are language-specific and…

Software Engineering · Computer Science 2024-07-29 Guilherme Cavalcanti , Paulo Borba , Leonardo dos Anjos , Jonatas Clementino

Structured, procedural reasoning is essential for Large Language Models (LLMs), especially in mathematics. While post-training methods have improved LLM performance, they still fall short in capturing deep procedural logic on complex tasks.…

Artificial Intelligence · Computer Science 2025-08-27 Zhichao Yang , Zhaoxin Fan , Gen Li , Yuanze Hu , Xinyu Wang , Ye Qiu , Xin Wang , Yifan Sun , Wenjun Wu

Blended modeling is an approach that enables users to interact with a model via multiple notations. In this context, there is a growing need for open-source industry-grade exemplars of languages with available language engineering…

Software Engineering · Computer Science 2024-07-16 Weixing Zhang , Jörg Holtmann , Daniel Strüber , Jan-Philipp Steghöfer

Coroutine, as a powerful programming construct, is widely used in asynchronous applications to replace thread-based programming or the callback hell. Using coroutines makes code more readable and maintainable, for its ability to transfer…

Programming Languages · Computer Science 2026-02-24 Qiqi Gu , Wei Ke

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

Terms are a concise representation of tree structures. Since they can be naturally defined by an inductive type, they offer data structures in functional programming and mechanised reasoning with useful principles such as structural…

Logic in Computer Science · Computer Science 2015-07-01 Makoto Hamana

Context: A growing amount of code is written to explore and analyze data, often by data analysts who do not have a traditional background in programming, for example by journalists. Inquiry: The way such data anlysts write code is different…

Programming Languages · Computer Science 2020-02-17 Tomas Petricek

Understanding student difficulties in programming is a complex challenge due to the wide range of topics and the abundant varieties of misconceptions and errors. This paper presents the design and development of a fine-grained taxonomy that…

Computers and Society · Computer Science 2026-05-27 Dimitri Eckert , Christian Kautz

Inference algorithms for probabilistic programming are complex imperative programs with many moving parts. Efficient inference often requires customising an algorithm to a particular probabilistic model or problem, sometimes called…

Programming Languages · Computer Science 2024-12-24 Minh Nguyen , Roly Perera , Meng Wang , Steven Ramsay

Tool support for language engineering has typically prioritises concrete syntax over abstract syntax by providing meta-languages for expressing concrete syntax and then mapping concrete to abstract structures. Text-based languages are…

Software Engineering · Computer Science 2015-06-11 Tony Clark

We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the…

Logic in Computer Science · Computer Science 2007-06-13 Greta Yorsh , Alexander Rabinovich , Mooly Sagiv , Antoine Meyer , Ahmed Bouajjani

Walnut is a software that using automata can prove theorems in combinatorics on words about automatic sequences. We are able to apply this software to both prove new results as well as reprove some old results on avoiding squares and cubes…

Formal Languages and Automata Theory · Computer Science 2022-08-11 John Machacek

Designing and implementing typed programming languages is hard. Every new type system feature requires extending the metatheory and implementation, which are often complicated and fragile. To ease this process, we would like to provide…

Programming Languages · Computer Science 2020-08-18 Jana Dunfield

Copatterns give functional programs a flexible mechanism for responding to their context, and composition can greatly enhance their expressiveness. However, that same expressive power makes it harder to precisely specify the behavior of…

Programming Languages · Computer Science 2025-08-19 Paul Downen

This paper proposes the use of notebooks for the design documentation and tool interaction in the rigorous design of embedded systems. Conventionally, a notebook is a sequence of cells alternating between (textual) code and prose to form a…

Software Engineering · Computer Science 2018-11-28 Spencer Park , Emil Sekerinski

Large language models (LLMs) have advanced general-purpose reasoning, showing strong performance across diverse tasks. However, existing methods often rely on implicit exploration, where the model follows stochastic and unguided reasoning…

Artificial Intelligence · Computer Science 2025-09-09 Jiaxiang Chen , Zhuo Wang , Mingxi Zou , Zhucong Li , Zhijian Zhou , Song Wang , Zenglin Xu

Personalizing Large Language Model (LLM) agents requires conditioning them on user-specific data, creating a critical trade-off between task utility and data disclosure. While the utility of adding user data often exhibits diminishing…

Artificial Intelligence · Computer Science 2025-12-16 Daniel Platnick , Marjan Alirezaie , Hossein Rahnama

In compositional model-theoretic semantics, researchers assemble truth-conditions or other kinds of denotations using the lambda calculus. It was previously observed that the lambda terms and/or the denotations studied tend to follow the…

Computation and Language · Computer Science 2016-07-11 Jirka Maršík , Maxime Amblard

This paper introduces a new hybrid memory analysis, Structural Analysis, which combines an expressive shape analysis style abstract domain with efficient and simple points-to style transfer functions. Using data from empirical studies on…

Programming Languages · Computer Science 2012-01-06 Mark Marron

Strategic term rewriting and attribute grammars are two powerful programming techniques widely used in language engineering. The former, relies on strategies to apply term rewrite rules in defining language transformations, while the latter…

Programming Languages · Computer Science 2021-10-22 José Nuno Macedo , Marcos Viera , João Saraiva