Navegación

Búsqueda

Búsqueda avanzada

El autor Germán Vidal ha publicado 3 artículo(s):

1 - Reversible Term Rewriting

Essentially, in a reversible programming language, for each forward computation step from state S to state S’, there exists a constructive and deterministic method to go backwards from state S’ to state S. Besides its theoretical interest, reversible computation is a fundamental concept which is relevant in many different areas like cellular automata, bidirectional program transformation, or quantum computing, to name a few. In this paper, we focus on term rewriting, a computation model that underlies most rule-based programming languages. In general, term rewriting is not reversible, even for injective functions; namely, given a rewrite step t1 → t2 , we do not always have a decidable and deterministic method to get t1 from t2 . Here, we introduce a conservative extension of term rewriting that becomes reversible. Furthermore, we also define a transformation to make a rewrite system reversible using standard term rewriting.
This paper has been published in Naoki Nishida, Adrián Palacios, Germán Vidal. Reversible Term Rewriting. In Delia Kesner and Brigitte Pientka, editors, Proceedings of the First International Conference on Formal Structures for Computation and Deduction, FSCD 2016, June 22-26, 2016,
Porto, Portugal. LIPIcs 52, 28:1–28:18, Schloss Dagstuhl – Leibniz-Zentrum fuer Informatik, 2016.

Autores: Naoki Nishida / Adrián Palacios  / Germán Vidal / 
Palabras Clave:

2 - Tuning Fuzzy Logic Programs with Symbolic Execution (Trabajo de alto nivel)

Fuzzy logic programming is a growing declarative paradigm aiming to integrate fuzzy logic into logic programming. One of the most difficult tasks when specifying a fuzzy logic program is determining the right weights for each rule, as well as the most appropriate fuzzy connectives and operators. In this paper, we introduce a symbolic extension of fuzzy logic programs in which some of these parameters can be left unknown, so that the user can easily see the impact of their possible values. Furthermore, given a number of test cases, the most appropriate values for these parameters can be automatically computed.

Autores: Ginés Moreno / Jaime Penabab / Germán Vidal / 
Palabras Clave: Fuzzy Logic Programming - symbolic execution - tuning

3 - Causal-Consistent Replay Debugging for Message Passing Programs

Debugging of concurrent systems is a tedious and error-prone activity. A main issue is that there is no guarantee that a bug that appears in the original computation is replayed inside the debugger. This problem is usually tackled by so-called replay debugging, which allows the user to record a program execution and replay it inside the debugger. In this paper, we present a novel technique for replay debugging, that we call controlled causal-consistent replay. Controlled causal-consistent replay allows the user to record a program execution and, in contrast to traditional replay debuggers, to reproduce a visible misbehavior inside the debugger including all and only its causes. In this way, the user is not distracted by the actions of other, unrelated processes.(*) This paper has been accepted for presentation at the 39th International Conference on Formal Techniques for Distributed Objects, Components, and Systems, FORTE 2019

Autores: Ivan Lanese / Adrian Palacios / German Vidal / 
Palabras Clave: Concurrency - Debugging - reversible computation