Alpuente Frasnedo, M.; Ballis, D.; Frechina, F.; Sapiña-Sanchis, J. (2016). Debugging Maude programs via runtime assertion checking and trace slicing. Journal of Logical and Algebraic Methods in Programming. 85(5):707-736. https://doi.org/10.1016/j.jlamp.2016.03.001
Por favor, use este identificador para citar o enlazar este ítem: http://hdl.handle.net/10251/81131
Título:
|
Debugging Maude programs via runtime assertion checking and trace slicing
|
Autor:
|
Alpuente Frasnedo, María
Ballis, Demis
Frechina, F.
Sapiña-Sanchis, Julia
|
Entidad UPV:
|
Universitat Politècnica de València. Departamento de Sistemas Informáticos y Computación - Departament de Sistemes Informàtics i Computació
Universitat Politècnica de València. Escola Tècnica Superior d'Enginyeria Informàtica
|
Fecha difusión:
|
|
Resumen:
|
In this paper we propose a dynamic analysis methodology for improving the diagnosis of
erroneous Maude programs. The key idea is to combine runtime checking and dynamic
trace slicing for automatically catching errors at ...[+]
In this paper we propose a dynamic analysis methodology for improving the diagnosis of
erroneous Maude programs. The key idea is to combine runtime checking and dynamic
trace slicing for automatically catching errors at runtime while reducing the size and
complexity of the erroneous traces to be analyzed (i.e., those leading to states failing
to satisfy some of the assertions). First, we formalize a technique that is aimed at
automatically detecting deviations of the program behavior (symptoms) with respect to
two types of user-defined assertions: functional assertions and system assertions. The
proposed dynamic checking is provably sound in the sense that all errors flagged are
definitely violations of the specifications. Then, upon eventual assertion violations we
generate accurate trace slices that help identify the cause of the error. Our methodology is
based on (i) a logical notation for specifying assertions that are imposed on execution
runs; (ii) a runtime checking technique that dynamically tests the assertions; and
(iii) a mechanism based on (equational) least general generalization that automatically
derives accurate criteria for slicing from falsified assertions. Finally, we report on an
implementation of the proposed technique in the assertion-based, dynamic analyzer
ABETS and show how the forward and backward tracking of asserted program properties
leads to a thorough trace analysis algorithm that can be used for program diagnosis and
debugging.
© 2016 Elsevier Inc. All rights reserved.
[-]
|
Palabras clave:
|
Trace slicing
,
Runtime checking
,
Dynamic program slicing
,
Program diagnosis and debugging
,
Rewriting logic
,
Maude
|
Derechos de uso:
|
Reserva de todos los derechos
|
Fuente:
|
Journal of Logical and Algebraic Methods in Programming. (issn:
2352-2208
)
|
DOI:
|
10.1016/j.jlamp.2016.03.001
|
Editorial:
|
Elsevier
|
Versión del editor:
|
http://dx.doi.org/10.1016/j.jlamp.2016.03.001
|
Código del Proyecto:
|
info:eu-repo/grantAgreement/MINECO//TIN2015-69175-C4-1-R/ES/SOLUCIONES EFECTIVAS BASADAS EN LA LOGICA/
info:eu-repo/grantAgreement/GVA//PROMETEOII%2F2015%2F013/ES/SmartLogic: Logic Technologies for Software Security and Performance/
info:eu-repo/grantAgreement/MECD//AP2010-5681/ES/AP2010-5681/
info:eu-repo/grantAgreement/UPV//SP20130083/
info:eu-repo/grantAgreement/MINECO//TIN2013-45732-C4-1-P/ES/UNA APROXIMACION DECLARATIVA AL MODELADO, ANALISIS Y RESOLUCION DE PROBLEMAS/
|
Descripción:
|
[EN] This is the author’s version of a work that was accepted for publication in <Journal title>. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Journal of Logical and Algebraic Methods in Programming, [VOL 85, ISSUE 5, (2016)] DOI 10.1016/j.jlamp.2016.03.001.
|
Agradecimientos:
|
This work has been partially supported by the EU (FEDER) and the Spanish MINECO under grants TIN2015-69175-C4-1-R and TIN2013-45732-C4-1-P,
and by Generalitat Valenciana Ref. PROMETEOII/2015/013. F. Frechina was supported ...[+]
This work has been partially supported by the EU (FEDER) and the Spanish MINECO under grants TIN2015-69175-C4-1-R and TIN2013-45732-C4-1-P,
and by Generalitat Valenciana Ref. PROMETEOII/2015/013. F. Frechina was supported by FPU-ME grant AP2010-5681, and J. Sapiña was supported by FPI-UPV
grant SP2013-0083 and mobility grant VIIT-3946.
[-]
|
Tipo:
|
Artículo
|