English
Related papers

Related papers: Traced Types for Safe Strategic Rewriting

200 papers

We describe a strategy language to control the application of graph rewriting rules, and show how this language can be used to write high-level declarative programs in several application areas. This language is part of a graph-based…

Programming Languages · Computer Science 2010-12-30 Maribel Fernández , Olivier Namet

Commit messages are the atomic level of software documentation. They provide a natural language description of the code change and its purpose. Messages are critical for software maintenance and program comprehension. Unlike documenting…

Software Engineering · Computer Science 2021-12-06 Eman Abdullah AlOmar , Jiaqian Liu , Kenneth Addo , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni , Zhe Yu

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

Programming Languages · Computer Science 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick

Rewriting logic is a natural and expressive framework for the specification of concurrent systems and logics. The Maude specification language provides an implementation of this formalism that allows executing, verifying, and analyzing the…

Logic in Computer Science · Computer Science 2024-02-02 Steven Eker , Narciso Martí-Oliet , José Meseguer , Rubén Rubio , Alberto Verdejo

Dependent types help programmers write highly reliable code. However, this reliability comes at a cost: it can be challenging to write new prototypes in (or migrate old code to) dependently-typed programming languages. Gradual typing makes…

Programming Languages · Computer Science 2019-08-23 Joseph Eremondi , Éric Tanter , Ronald Garcia

Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is…

Programming Languages · Computer Science 2024-10-25 Philipp Jan Andries Stassen , Rasmus Ejlers Møgelberg , Maaike Zwart , Alejandro Aguirre , Lars Birkedal

Text style transfer aims to modify the style of a sentence while keeping its content unchanged. Recent style transfer systems often fail to faithfully preserve the content after changing the style. This paper proposes a structured content…

Computation and Language · Computer Science 2018-11-02 Youzhi Tian , Zhiting Hu , Zhou Yu

Erlang's dynamic typing discipline can lead to runtime errors that persist even after process restarts. Some of these runtime errors could be prevented through static type checking. While Erlang provides a type specification language, the…

Programming Languages · Computer Science 2026-03-24 Albert Schimpf , Stefan Wehr , Annette Bieniusa

We show how to systematically implement an algorithm in any imperative or functional programming language. The method is based on the premise that it is easy to write down how an algorithm proceeds on a concrete input. This…

Software Engineering · Computer Science 2020-04-28 Maurice Chandoo

In the reflective Maude specification language, based on rewriting logic, a strategy language has been introduced to control rule rewriting while avoiding complex and verbose metalevel programs. However, just as multiple levels of…

Logic in Computer Science · Computer Science 2024-01-17 Rubén Rubio , Narciso Martí-Oliet , Isabel Pita , Alberto Verdejo

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

Context: Refactoring is the art of modifying the design of a system without altering its behavior. The idea is to reorganize variables, classes and methods to facilitate their future adaptations and comprehension. As the concept of behavior…

Software Engineering · Computer Science 2021-07-23 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni

Programming languages like P4 enable specifying the behavior of network data planes in software. However, with increasingly powerful and complex applications running in the network, the risk of faults also increases. Hence, there is growing…

Programming Languages · Computer Science 2022-06-08 Matthias Eichholz , Eric Hayden Campbell , Matthias Krebs , Nate Foster , Mira Mezini

Formal patterns are formally specified solutions to frequently occurring distributed system problems that are generic, executable, and come with strong qualitative and/or quantitative formal guarantees. A formal pattern is a generic system…

Cryptography and Security · Computer Science 2026-03-23 Víctor García , Santaigo Escobar , Catherine Meadows , Jose Meseguer

Retrieval systems often fail when user queries differ stylistically or semantically from the language used in domain documents. Query rewriting has been proposed to bridge this gap, improving retrieval by reformulating user queries into…

Information Retrieval · Computer Science 2026-03-03 Jiyoon Myung , Jungki Son , Kyungro Lee , Jihyeon Park , Joohyung Han

We propose a novel type system for verifying that programs correctly implement constant-resource behavior. Our type system extends recent work on automatic amortized resource analysis (AARA), a set of techniques that automatically derive…

Programming Languages · Computer Science 2018-01-09 Van Chan Ngo , Mario Dehesa-Azuara , Matthew Fredrikson , Jan Hoffmann

Style is a significant component of natural language text, reflecting a change in the tone of text while keeping the underlying information the same. Even though programming languages have strict syntax rules, they also have style. Code can…

Computation and Language · Computer Science 2022-09-15 Karl Munson , Anish Savla , Chih-Kai Ting , Serenity Wade , Kiran Kate , Kavitha Srinivas

The P4 programming language offers high-level, declarative abstractions that bring the flexibility of software to the domain of networking. Unfortunately, the main abstraction used to represent packet data in P4, namely header types, lacks…

Programming Languages · Computer Science 2019-06-25 Matthias Eichholz , Eric Campbell , Nate Foster , Guido Salvaneschi , Mira Mezini

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

ReScript is a strongly typed language that targets JavaScript, as an alternative to gradually typed languages, such as TypeScript. In this paper, we present a sound type system for data-flow analysis for a subset of the ReScript language,…

Logic in Computer Science · Computer Science 2024-11-01 Nicky Ask Lund , Hans Hüttel