Memorias de investigación
Artículos en revistas:
Practical Run-time Checking via Unobtrusive Property Caching
Año:2015

Áreas de investigación
  • Ciencias de la computación y tecnología informática

Datos
Descripción
The use of annotations, referred to as assertions or contracts, to describe program properties for which run-time tests are to be generated, has become frequent in dynamic programing languages. However, the frameworks proposed to support such run-time testing generally incur high time and/or space overheads over standard program execution. We present an approach for reducing this overhead that is based on the use of memoization to cache intermediate results of check evaluation, avoiding repeated checking of previously verified properties. Compared to approaches that reduce checking frequency, our proposal has the advantage of being exhaustive (i.e., all tests are checked at all points) while still being much more efficient than standard run-time checking. Compared to the limited previous work on memoization, it performs the task without requiring modifications to data structure representation or checking code. While the approach is general and system-independent, we present it for concreteness in the context of the Ciao run-time checking framework, which allows us to provide an operational semantics with checks and caching. We also report on a prototype implementation and provide some experimental results that support that using a relatively small cache leads to significant decreases in run-time checking overhead.
Internacional
Si
JCR del ISI
Si
Título de la revista
Theory And Practice of Logic Programming
ISSN
1471-0684
Factor de impacto JCR
0,896
Información de impacto
Datos JCR del año 2013
Volumen
15
DOI
10.1017/S1471068415000344
Número de revista
4-5
Desde la página
726
Hasta la página
741
Mes
JULIO
Ranking
JCR: position (ave) top 36%, impact (ave) 1.20, subject(s): COMPUTER SCIENCE, SOFTWARE ENGINEERINGCOMPUTER SCIENCE, THEORY & METHODS CORE: A. Citeseer: position 494/1221 (top 40%), impact 0.66. Average position: top 32%.

Esta actividad pertenece a memorias de investigación

Participantes

Grupos de investigación, Departamentos, Centros e Institutos de I+D+i relacionados
  • Creador: Grupo de Investigación: Computación lógica, Lenguajes, Implementación y Paralelismo (CLIP)
  • Departamento: Inteligencia Artificial