A Transformational Approach to Resource Analysis with Typed-norms Inference

08/06/2019
by   Elvira Albert, et al.
0

In order to automatically infer the resource consumption of programs, analyzers track how data sizes change along program's execution. Typically, analyzers measure the sizes of data by applying norms which are mappings from data to natural numbers that represent the sizes of the corresponding data. When norms are defined by taking type information into account, they are named typed-norms. This article presents a transformational approach to resource analysis with typed-norms that are inferred by a data-flow analysis. The analysis is based on a transformation of the program into an intermediate abstract program in which each variable is abstracted with respect to all considered norms which are valid for its type. We also present the data-flow analysis to automatically infer the required, useful, typed-norms from programs. Our analysis is formalized on a simple rule-based representation to which programs written in different programming paradigms (e.g., functional, logic, imperative) can be automatically translated. Experimental results on standard benchmarks used by other type-based analyzers show that our approach is both efficient and accurate in practice. Under consideration in Theory and Practice of Logic Programming (TPLP).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/16/2018

In Praise of Impredicativity: A Contribution to the Formalisation of Meta-Programming

Processing programs as data is one of the successes of functional and lo...
research
09/14/2017

Structural Resolution for Abstract Compilation of Object-Oriented Languages

We propose abstract compilation for precise static type analysis of obje...
research
05/13/2022

From Logic to Functional Logic Programs

Logic programming is a flexible programming paradigm due to the use of p...
research
06/29/2020

Liquid Resource Types

This article presents liquid resource types, a technique for automatical...
research
07/08/2019

Neutaint: Efficient Dynamic Taint Analysis with Neural Networks

Dynamic taint analysis (DTA) is widely used by various applications to t...
research
01/20/2018

Knowledge Representation for High-Level Norms and Violation Inference in Logic Programming

Most of the knowledge Representation formalisms developed for representi...
research
06/24/2021

An extended and more practical mwp flow analysis

We improve and refine a method for certifying that the values' sizes com...

Please sign up or login with your details

Forgot password? Click here to reset