×

JSNice

swMATH ID: 37814
Software Authors: Raychev, Veselin; Vechev, Martin; Krause, Andreas
Description: Predicting program properties from “big code”. We present a new approach for predicting program properties from massive codebases (aka “big code”). Our approach first learns a probabilistic model from existing data and then uses this model to predict properties of new, unseen programs. The key idea of our work is to transform the input program into a representation which allows us to phrase the problem of inferring program properties as structured prediction in machine learning. This formulation enables us to leverage powerful probabilistic graphical models such as conditional random fields (CRFs) in order to perform joint prediction of program properties. As an example of our approach, we built a scalable prediction engine called JSNice for solving two kinds of problems in the context of JavaScript: predicting (syntactic) names of identifiers and predicting (semantic) type annotations of variables. Experimentally, JSNice predicts correct names for 63
Homepage: https://dl.acm.org/doi/10.1145/2676726.2677009
Keywords: big code; closure compiler; conditional random fields; JavaScript; names; program properties; structured prediction; types
Related Software: Merlin; TypeScript; JavaScript
Cited in: 1 Publication

Cited in 0 Serials

Citations by Year