English
Related papers

Related papers: Refactoring = Substitution + Rewriting

200 papers

Dataflow languages provide natural support for specifying constraints between objects in dynamic applications, where programs need to react efficiently to changes of their environment. Researchers have long investigated how to take…

Programming Languages · Computer Science 2011-04-13 Camil Demetrescu , Irene Finocchi , Andrea Ribichini

In Software Reengineering, one of the central artifacts is the source code of the legacy system in question. In fact, in most cases it is the only definitive artifact, because over the time the code has diverged from the original…

Software Engineering · Computer Science 2011-11-22 Tassilo Horn

It is undeniable that most developers today are building distributed applications. However, most of these applications are developed by composing existing systems together through unspecified APIs exposed to the application developer.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-09 Christopher S. Meiklejohn , Peter Van Roy

Text simplification is the task of rewriting a text so that it is readable and easily understood. In this paper, we propose a simple yet novel unsupervised sentence simplification system that harnesses parsing structures together with…

Computation and Language · Computer Science 2022-06-27 Vy Vo , Weiqing Wang , Wray Buntine

Combining component & connector architecture descriptionlanguageswithcomponentbehaviormodelinglanguages enables modeling great parts of software architectures platformindependently. Nontrivial systems typically contain components with…

Software Engineering · Computer Science 2015-11-18 Jan O. Ringert , Bernhard Rumpe , Andreas Wortmann

We report on an experience to support multiple views of programs to solve the tyranny of the dominant decomposition in a functional setting. We consider two possible architectures in Haskell for the classical example of the expression…

Software Engineering · Computer Science 2011-02-01 Julien Cohen , Rémi Douence

Deduction systems and graph rewriting systems are compared within a common categorical framework. This leads to an improved deduction method in diagrammatic logics.

Logic in Computer Science · Computer Science 2010-11-10 Dominique Duval

It is well known that software needs to change to meet new requirements. The synchronization of software architecture models and implementation is of high importance to keep the architecture documents useful and the software evolution…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

Properties expressed as the provability of a first-order sentence can be disproved by just finding a model of the negation of the sentence. This fact, however, is meaningful in restricted cases only, depending on the shape of the sentence…

Programming Languages · Computer Science 2017-09-18 Salvador Lucas

We demonstrate how category theory provides specifications that can efficiently be implemented via imperative algorithms and apply this to the field of graph rewriting. By examples, we show how this paradigm of software development makes it…

Logic in Computer Science · Computer Science 2023-04-03 Kristopher Brown , Evan Patterson , Tyler Hanks , James Fairbanks

Constructor-Based Conditional Rewriting Logic is a general framework for integrating first-order functional and logic programming which gives an algebraic semantics for non-deterministic functional-logic programs. In the context of this…

Logic in Computer Science · Computer Science 2007-05-23 Juan M. Molina , Ernesto Pimentel

In this short paper, we consider a form of higher-order rewriting with a call-by-value evaluation strategy so as to model call-by-value programs. We briefly present a cost-size semantics to call-by-value rewriting: a class of algebraic…

Logic in Computer Science · Computer Science 2023-07-26 Cynthia Kop , Deivid Vale

Framing involves the positive or negative presentation of an argument or issue depending on the audience and goal of the speaker (Entman 1983). Differences in lexical framing, the focus of our work, can have large effects on peoples'…

Computation and Language · Computer Science 2021-04-13 Tuhin Chakrabarty , Christopher Hidey , Smaranda Muresan

This paper introduces a new term rewriting system that is similar to the embedded read-back mechanism for interaction nets presented in our previous work, but is easier to follow than in the original setting and thus to analyze its…

Logic in Computer Science · Computer Science 2018-08-21 Anton Salikhmetov

Structured document understanding has attracted considerable attention and made significant progress recently, owing to its crucial role in intelligent document processing. However, most existing related models can only deal with the…

Computation and Language · Computer Science 2022-03-01 Jiapeng Wang , Lianwen Jin , Kai Ding

We propose a generic termination proof method for rewriting under strategies, based on an explicit induction on the termination property. Rewriting trees on ground terms are modeled by proof trees, generated by alternatively applying…

Logic in Computer Science · Computer Science 2007-05-23 Isabelle Gnaedig , Helene Kirchner

We propose a path-based approach to program repair for imperative programs. Our repair framework takes as input a faulty program, a logic specification that is refuted, and a hint where the fault may be located. An iterative abstraction…

Programming Languages · Computer Science 2015-03-18 Heinz Riener , Rüdiger Ehlers , Görschwin Fey

Optimizing a stateful dataflow language is a challenging task. There are strict correctness constraints for preserving properties expected by downstream consumers, a large space of possible optimizations, and complex analyses that must…

Programming Languages · Computer Science 2023-06-21 Shadaj Laddad , Conor Power , Tyler Hou , Alvin Cheung , Joseph M. Hellerstein

Language models (LMs) now excel at many tasks such as few-shot learning, question answering, reasoning, and dialog. However, they sometimes generate unsupported or misleading content. A user cannot easily determine whether their outputs are…