Exploring Conditional Rewriting Logic Computations

[EN] Trace exploration is concerned with techniques that allow computation traces to be dynamically searched for specific contents. Depending on whether the exploration is carried backward or forward, trace exploration techniques allow provenance tracking or impact tracking to be done. The aim of pr...

ver descrição completa

Detalhes bibliográficos
Autores: Alpuente Frasnedo, María|||0000-0002-9268-1178, Sapiña-Sanchis, Julia|||0000-0003-2994-6986, Ballis, Demis, Frechina Navarro, Francisco
Formato: artículo
Fecha de publicación:2015
País:España
Recursos:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/61030
Acesso em linha:https://riunet.upv.es/handle/10251/61030
Access Level:acceso abierto
Palavra-chave:Rewriting logic
Trace exploration
Maude
Conditional rewrite theories
LENGUAJES Y SISTEMAS INFORMATICOS
Descrição
Resumo:[EN] Trace exploration is concerned with techniques that allow computation traces to be dynamically searched for specific contents. Depending on whether the exploration is carried backward or forward, trace exploration techniques allow provenance tracking or impact tracking to be done. The aim of provenance tracking is to show how (parts of) a program output depends on (parts of) its input and to help estimate which input data need to be modified to accomplish a change in the outcome. The aim of impact tracking is to identify the scope and potential consequences of changing the program input. Rewriting Logic (RWL) is a logic of change that supplements (an extension of) the equational logic by adding rewrite rules that are used to describe (nondeterministic) transitions between states. In this paper, we present a rich and highly dynamic, parameterized technique for the forward inspection of RWL computations that allows the nondeterministic execution of a given conditional rewrite theory to be followed up in different ways. With this technique, an analyst can browse, slice, filter, or search the traces as they come to life during the program execution. The navigation of the trace is driven by a user-defined, inspection criterion that specifies the required exploration mode. By selecting different inspection criteria, one can automatically derive a family of practical algorithms such as program steppers and more sophisticated