English
Related papers

Related papers: Using Constraint Handling Rules to Provide Static …

200 papers

We introduce the language QML, a functional language for quantum computations on finite types. Its design is guided by its categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations,…

Quantum Physics · Physics 2008-05-06 Thorsten Altenkirch , Jonathan Grattage

Tracers provide users with useful information about program executions. In this article, we propose a ``tracer driver''. From a single tracer, it provides a powerful front-end enabling multiple dynamic analysis tools to be easily…

Software Engineering · Computer Science 2008-12-18 Ludovic Langevine , Mireille Ducasse

Programming languages and techniques based on logic and constraints, such as the Constraint Handling Rules (CHR), can support many common programming tasks that can be expressed in the form of a search for feasible or optimal solutions.…

Programming Languages · Computer Science 2013-08-20 Dragan Ivanović

Existing query languages for data discovery exhibit system-driven designs that emphasize database features and functionality over user needs. We propose a re-prioritization of the client through an introduction of a language-driven approach…

Databases · Computer Science 2025-08-12 Andrew Kang , Sainyam Galhotra

Static analysis approximates the results of a program by examining only its syntax. For example, control-flow analysis (CFA) determines which syntactic lambdas (for functional languages) or (for object-oriented) methods may be invoked at…

Programming Languages · Computer Science 2021-07-28 Davis Ross Silverman , Yihao Sun , Kristopher Micinski , Thomas Gilray

ECLAIR is a Prolog-based prototype system aiming to provide a functionally complete environment for the study, development and evaluation of programming language analysis and implementation tools. In this paper, we sketch the overall…

Programming Languages · Computer Science 2007-11-06 Roberto Bagnara , Patricia Hill , Enea Zaffanella

Programs with constraints are hard to debug. In this paper, we describe a general architecture to help develop new debugging tools for constraint programming. The possible tools are fed by a single general-purpose tracer. A tracer-driver is…

Software Engineering · Computer Science 2007-05-23 Ludovic Langevine , Mireille Ducasse

Satisfiability modulo theories (SMT) solving has become a critical part of many static analyses, including symbolic execution, refinement type checking, and model checking. We propose Formulog, a domain-specific language that makes it…

Programming Languages · Computer Science 2020-10-19 Aaron Bembenek , Michael Greenberg , Stephen Chong

Parser generators generate translators from language specifications. In many cases, such specifications contain semantic actions written in the same language as the generated code. Since these actions are subject to little static checking,…

Programming Languages · Computer Science 2010-02-09 Andrey Breslav

Dynamically typed programming languages like R allow programmers to write generic, flexible and concise code and to interact with the language using an interactive Read-eval-print-loop (REPL). However, this flexibility has its price: As the…

Computation · Statistics 2021-01-14 Michel Lang

Constraint Handling Rules (CHR) is both an effective concurrent declarative constraint-based programming language and a versatile computational formalism. While conceptually simple, CHR is distinguished by a remarkable combination of…

Programming Languages · Computer Science 2017-01-11 Thom Fruehwirth

Formal reasoning about finite sets and cardinality is an important tool for many applications, including software verification, where very often one needs to reason about the size of a given data structure and not only about what its…

Logic in Computer Science · Computer Science 2021-10-06 Maximiliano Cristiá , Gianfranco Rossi

To warrant programmer productivity, type checker results should be correct and available quickly. Correctness can be provided when a type checker implementation corresponds to a declarative type system specification. Statix is a type system…

Programming Languages · Computer Science 2022-10-13 Aron Zwaan

Prolog is a well-known declarative programming language commonly used in introductory courses on logic and reasoning. However, many students find Prolog challenging because it lacks the familiar debugging mechanisms found in imperative…

Programming Languages · Computer Science 2026-05-27 Ricardo Brancas , Vasco Manquinho , Ruben Martins

In a recent thread of papers, we have introduced FQL, a precise specification language for test coverage, and developed the test case generation engine FShell for ANSI C. In essence, an FQL test specification amounts to a set of regular…

Formal Languages and Automata Theory · Computer Science 2013-05-28 Andreas Holzer , Christian Schallhart , Michael Tautschnig , Helmut Veith

Even though large language models are becoming increasingly capable, it is still unreasonable to expect them to excel at tasks that are under-represented on the Internet. Leveraging LLMs for specialized applications, particularly in niche…

Machine Learning · Computer Science 2025-08-18 Brendan R. Hogan , Will Brown , Adel Boyarsky , Anderson Schneider , Yuriy Nevmyvaka

This paper presents our approach to the quantitative modeling and analysis of highly (re)configurable systems, such as software product lines. Different combinations of the optional features of such a system give rise to combinatorially…

Software Engineering · Computer Science 2018-04-05 Maurice H. ter Beek , Axel Legay , Alberto Lluch Lafuente , Andrea Vandin

We show how automatic tools for the verification of linear and branching time properties of procedural, multi-threaded, and functional programs as well as program synthesis can be naturally and uniformly seen as solvers of constraints in…

Logic in Computer Science · Computer Science 2014-06-02 Andrey Rybalchenko

The semantics and the recursive execution model of Prolog make it very natural to express language interpreters in form of AST (Abstract Syntax Tree) interpreters where the execution follows the tree representation of a program. An…

Programming Languages · Computer Science 2020-08-31 Philipp Körner , David Schneider , Michael Leuschel

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab