Pith. sign in

REVIEW 1 cited by

OptTyper: Probabilistic Type Inference by Optimising Logical and Natural Constraints

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2004.00348 v3 pith:FRYCSJRA submitted 2020-04-01 cs.PL cs.LG

classification cs.PLcs.LG
keywords constraintslogicaltypetypesinferencelearningnaturalopttyper
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

We present a new approach to the type inference problem for dynamic languages. Our goal is to combine \emph{logical} constraints, that is, deterministic information from a type system, with \emph{natural} constraints, that is, uncertain statistical information about types learnt from sources like identifier names. To this end, we introduce a framework for probabilistic type inference that combines logic and learning: logical constraints on the types are extracted from the program, and deep learning is applied to predict types from surface-level code properties that are statistically associated. The foremost insight of our method is to constrain the predictions from the learning procedure to respect the logical constraints, which we achieve by relaxing the logical inference problem of type prediction into a continuous optimisation problem. We build a tool called OptTyper to predict missing types for TypeScript files. OptTyper combines a continuous interpretation of logical constraints derived by classical static analysis of TypeScript code, with natural constraints obtained from a deep learning model, which learns naming conventions for types from a large codebase. By evaluating OptTyper, we show that the combination of logical and natural constraints yields a large improvement in performance over either kind of information individually and achieves a 4% improvement over the state-of-the-art.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. The Power of Types: Exploring the Impact of Type Checking on Neural Bug Detection in Dynamically Typed Languages

    cs.SE 2024-11 conditional novelty 6.0 of 10

    Variable-misuse benchmarks contain many bugs that pytype or mypy can catch, and removing these from training improves neural bug detectors on the remaining harder bugs.

Pith tools