Cost versus Precision for Approximate Typing for Python

Levin Fritz, J Hage

    Research output: Book/ReportReportAcademic

    Abstract

    In this paper we describe a variation of monotone frameworks
    that enables us to perform approximate typing of
    Python, in particular for dealing with some of its more dynamic
    features such as first-class functions and Python’s dynamic
    class system. We additionally introduce a substantial
    number of variants of the basic analysis in order to experimentally
    discover which configurations attain the best
    balance of cost and precision. For example, the analysis allows
    us to be selectively flow-insensitive for certain classes
    of identifiers, and the amount of call-site context is configurable.
    Results of our evaluation include that adding call-site
    sensitivity and parameterized types has little effect on precision;
    in terms of speed call-site sensitivity is very costly. On
    the other hand, flow-insensitive treatment of module scope
    identifiers has a strongly positive effect, often both in terms
    of precision and speed.
    Original languageEnglish
    Place of PublicationUtrecht
    PublisherUU BETA ICS Departement Informatica
    Number of pages12
    Publication statusPublished - 2014

    Publication series

    NameTechnical Reports Series
    PublisherUU Beta ICS Departement Informatica
    No.UU-CS-2014-017
    ISSN (Print)9024-3275

    Keywords

    • approximate typing
    • Python
    • data-flow analysis
    • abstract interpretation
    • monotone frameworks
    • performance
    • precision
    • call-site sensitivity

    Fingerprint

    Dive into the research topics of 'Cost versus Precision for Approximate Typing for Python'. Together they form a unique fingerprint.

    Cite this