License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/OASIcs.ICLP.2017.15
URN: urn:nbn:de:0030-drops-84665
Go to the corresponding OASIcs Volume Portal

Stulova, Nataliia

On Improving Run-time Checking in Dynamic Languages

OASIcs-ICLP-2017-15.pdf (0.5 MB)


In order to detect incorrect program behaviors, a number of approaches
have been proposed, which include a combination of language-level
constructs (procedure-level annotations such as assertions/contracts,
gradual types, etc.) and associated tools (such as static code analyzers
and run-time verification frameworks).
However, it is often the case that these constructs and tools are not
used to their full extent in practice due to a number of limitations
such as excessive run-time overhead and/or limited expressiveness.
The issue is especially prominent in the context of dynamic
languages without an underlying strong type system, such as Prolog.
In our work we propose several practical solutions for minimizing the
run-time overhead associated with assertion-based verification while
keeping the correctness guarantees provided by run-time checks.
We present the solutions in the context of the Ciao system, where a
combination of an abstract interpretation-based static analyzer and
run-time verification framework is available, although our proposals
can be straightforwardly adapted to any other similar system.

BibTeX - Entry

  author =	{Nataliia Stulova},
  title =	{{On Improving Run-time Checking in Dynamic Languages}},
  booktitle =	{Technical Communications of the 33rd International Conference on Logic Programming (ICLP 2017)},
  pages =	{15:1--15:10},
  series =	{OpenAccess Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-058-3},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{58},
  editor =	{Ricardo Rocha and Tran Cao Son and Christopher Mears and Neda Saeedloei},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{},
  URN =		{urn:nbn:de:0030-drops-84665},
  doi =		{10.4230/OASIcs.ICLP.2017.15},
  annote =	{Keywords: Runtime Verification, Assertions, Prolog, Logic Programming}

Keywords: Runtime Verification, Assertions, Prolog, Logic Programming
Collection: Technical Communications of the 33rd International Conference on Logic Programming (ICLP 2017)
Issue Date: 2018
Date of publication: 14.02.2018

DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI