Cost versus precision for approximate typing for Python

Levin Fritz, J. Hage

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    1 Downloads (Pure)

    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
    Title of host publicationProceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017
    PublisherAssociation for Computing Machinery
    Pages89-98
    Number of pages98
    ISBN (Print)978-1-4503-4721-1
    DOIs
    Publication statusPublished - 2017

    Fingerprint

    Dive into the research topics of 'Cost versus precision for approximate typing for Python'. Together they form a unique fingerprint.

    Cite this