Static Correction of Maude Programs with Assertions

In this paper, we present a novel transformation method for Maude programs featuring both automatic program diagnosis and correction. The input of our method is a reference specification A of the program behavior that is given in the form of assertions together with an overly general program R whose...

Descripción completa

Detalles Bibliográficos
Autores: Alpuente Frasnedo, María|||0000-0002-9268-1178, Sapiña-Sanchis, Julia|||0000-0003-2994-6986, Ballis, D.
Tipo de recurso: informe técnico
Fecha de publicación:2018
País:España
Institución: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/100268
Acceso en línea:https://riunet.upv.es/handle/10251/100268
Access Level:acceso abierto
Palabra clave:Asertion checking
Program repair
Program transformation
Rewriting logic
Equational rewriting
Maude
LENGUAJES Y SISTEMAS INFORMATICOS
Descripción
Sumario:In this paper, we present a novel transformation method for Maude programs featuring both automatic program diagnosis and correction. The input of our method is a reference specification A of the program behavior that is given in the form of assertions together with an overly general program R whose execution might violate the assertions. Our technique translates R into a refined program R' in which every computation is a computation in R that satisfies the assertions of A. Our correction technique is first formalized for topmost rewrite theories, and then we generalize it to larger rewrite theories that support nested structured configurations. Our technique copes with infinite space states and does not require the knowledge of any failing run. We report experiments that assess the effectiveness of assertion-driven correction.