Descripción
|
|
---|---|
Flexibility in term creation and manipulation in dynamic languages can threaten safety of data processing. To counter this issue expensive run-time checks are often added to programs to ensure safety of operations, yet they incur impractically high overheads. While such overheads can be greatly reduced with static analysis, the gains depend strongly on the quality of the information inferred. We propose a technique for improving term shape inference during static program analysis, that exploits term visibility rules of the underlying module system. We also describe an improved run-time checking approach that takes advantage of the proposed mechanisms to achieve large reductions in overhead. While the approach is general and system-independent, we present and evaluate it for concreteness in the context of the Ciao assertion language and combined static/dynamic checking framework. One of its benefits is that it does not introduce the need to switch the language to (static) type systems, which is known to change the semantics in languages like Prolog, while allowing for reductions in overhead closer to those of static languages. | |
Internacional
|
Si |
Nombre congreso
|
30th International Conference on Logic Programming |
Tipo de participación
|
960 |
Lugar del congreso
|
Melbourne, Australia |
Revisores
|
Si |
ISBN o ISSN
|
978-3-95977-058-3 |
DOI
|
|
Fecha inicio congreso
|
28/08/2017 |
Fecha fin congreso
|
01/09/2017 |
Desde la página
|
91 |
Hasta la página
|
93 |
Título de las actas
|
Towards Run-time Checks Simplification via Term Hiding |