Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, can be challenging due to the absence of type annotations: simple data compatibility errors proliferate, IDE support is limited, and APIs are hard to comprehend. Recent work attempts to address those issues through either static type inference or probabilistic type prediction. Unfortunately, static type inference for dynamic languages is inherently limited, while probabilistic approaches suffer from imprecision. This paper presents TypeWriter, the first combination of probabilistic type prediction with search-based refinement of predicted types. TypeWriter’s predictor learns to infer the return and argument types for functions from partially a...
In this paper, we present ManyTypes4TypeScript, a very large corpus for training and evaluating mach...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...
Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, c...
Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and ...
An intelligent tool for type annotations in Python would increase the productivity of developers. Py...
Abstract Type migration is the process of adding types to untyped code to gain assurance at compile...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
Dynamically typed languages lack information about the types of variables in the source code. Develo...
One of the main obstacles to program comprehension and software maintenance is the lack of informati...
Dynamic programming languages (DPLs), such as Python and Ruby, are often used for their flexibility ...
Researchers at the Delft University of Technology have developed Type4Py: a tool that uses Machine L...
In this paper, we present ManyTypes4Py, a large Python dataset for machine learning (ML)-based type ...
Dynamically typed languages allow developers to write more expressive source code, but their lack of...
Dynamically typed languages languages are very well suited for rapid prototyping, agile programming ...
In this paper, we present ManyTypes4TypeScript, a very large corpus for training and evaluating mach...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...
Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, c...
Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and ...
An intelligent tool for type annotations in Python would increase the productivity of developers. Py...
Abstract Type migration is the process of adding types to untyped code to gain assurance at compile...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
Dynamically typed languages lack information about the types of variables in the source code. Develo...
One of the main obstacles to program comprehension and software maintenance is the lack of informati...
Dynamic programming languages (DPLs), such as Python and Ruby, are often used for their flexibility ...
Researchers at the Delft University of Technology have developed Type4Py: a tool that uses Machine L...
In this paper, we present ManyTypes4Py, a large Python dataset for machine learning (ML)-based type ...
Dynamically typed languages allow developers to write more expressive source code, but their lack of...
Dynamically typed languages languages are very well suited for rapid prototyping, agile programming ...
In this paper, we present ManyTypes4TypeScript, a very large corpus for training and evaluating mach...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...