Matches in SemOpenAlex for { <https://semopenalex.org/work/W3100869085> ?p ?o ?g. }
Showing items 1 to 100 of
100
with 100 items per page.
- W3100869085 abstract "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 annotated code bases by combining the natural language properties of code with programming language-level information. To validate predicted types, TypeWriter invokes a gradual type checker with different combinations of the predicted types, while navigating the space of possible type combinations in a feedback-directed manner. We implement the TypeWriter approach for Python and evaluate it on two code corpora: a multi-million line code base at Facebook and a collection of 1,137 popular open-source projects. We show that TypeWriter’s type predictor achieves an F1 score of 0.64 (0.79) in the top-1 (top-5) predictions for return types, and 0.57 (0.80) for argument types, which clearly outperforms prior type prediction models. By combining predictions with search-based validation, TypeWriter can fully annotate between 14% to 44% of the files in a randomly selected corpus, while ensuring type correctness. A comparison with a static type inference tool shows that TypeWriter adds many more non-trivial types. TypeWriter currently suggests types to developers at Facebook and several thousands of types have already been accepted with minimal changes." @default.
- W3100869085 created "2020-11-23" @default.
- W3100869085 creator A5013438083 @default.
- W3100869085 creator A5043864604 @default.
- W3100869085 creator A5082768190 @default.
- W3100869085 creator A5083193232 @default.
- W3100869085 date "2020-11-08" @default.
- W3100869085 modified "2023-10-11" @default.
- W3100869085 title "TypeWriter: neural type prediction with search-based validation" @default.
- W3100869085 cites W2010608861 @default.
- W3100869085 cites W2092382400 @default.
- W3100869085 cites W2102473657 @default.
- W3100869085 cites W2106558531 @default.
- W3100869085 cites W2135536553 @default.
- W3100869085 cites W2140021378 @default.
- W3100869085 cites W2156351739 @default.
- W3100869085 cites W2534815697 @default.
- W3100869085 cites W2548165777 @default.
- W3100869085 cites W2605202003 @default.
- W3100869085 cites W2617588282 @default.
- W3100869085 cites W2740130862 @default.
- W3100869085 cites W2740220421 @default.
- W3100869085 cites W2805788202 @default.
- W3100869085 cites W2806718802 @default.
- W3100869085 cites W2883903648 @default.
- W3100869085 cites W2888268504 @default.
- W3100869085 cites W2899171197 @default.
- W3100869085 cites W2899384793 @default.
- W3100869085 cites W2912248945 @default.
- W3100869085 cites W2954823997 @default.
- W3100869085 cites W2954950681 @default.
- W3100869085 cites W2955426500 @default.
- W3100869085 cites W2955767826 @default.
- W3100869085 cites W2963935794 @default.
- W3100869085 cites W3006491415 @default.
- W3100869085 cites W3011564318 @default.
- W3100869085 cites W3105903381 @default.
- W3100869085 cites W4241122238 @default.
- W3100869085 doi "https://doi.org/10.1145/3368089.3409715" @default.
- W3100869085 hasPublicationYear "2020" @default.
- W3100869085 type Work @default.
- W3100869085 sameAs 3100869085 @default.
- W3100869085 citedByCount "46" @default.
- W3100869085 countsByYear W31008690852019 @default.
- W3100869085 countsByYear W31008690852020 @default.
- W3100869085 countsByYear W31008690852021 @default.
- W3100869085 countsByYear W31008690852022 @default.
- W3100869085 countsByYear W31008690852023 @default.
- W3100869085 crossrefType "proceedings-article" @default.
- W3100869085 hasAuthorship W3100869085A5013438083 @default.
- W3100869085 hasAuthorship W3100869085A5043864604 @default.
- W3100869085 hasAuthorship W3100869085A5082768190 @default.
- W3100869085 hasAuthorship W3100869085A5083193232 @default.
- W3100869085 hasBestOaLocation W31008690852 @default.
- W3100869085 hasConcept C119857082 @default.
- W3100869085 hasConcept C124101348 @default.
- W3100869085 hasConcept C154945302 @default.
- W3100869085 hasConcept C198370458 @default.
- W3100869085 hasConcept C199360897 @default.
- W3100869085 hasConcept C204321447 @default.
- W3100869085 hasConcept C2776214188 @default.
- W3100869085 hasConcept C41008148 @default.
- W3100869085 hasConcept C43126263 @default.
- W3100869085 hasConcept C49937458 @default.
- W3100869085 hasConcept C519991488 @default.
- W3100869085 hasConcept C544833334 @default.
- W3100869085 hasConcept C55439883 @default.
- W3100869085 hasConcept C80444323 @default.
- W3100869085 hasConceptScore W3100869085C119857082 @default.
- W3100869085 hasConceptScore W3100869085C124101348 @default.
- W3100869085 hasConceptScore W3100869085C154945302 @default.
- W3100869085 hasConceptScore W3100869085C198370458 @default.
- W3100869085 hasConceptScore W3100869085C199360897 @default.
- W3100869085 hasConceptScore W3100869085C204321447 @default.
- W3100869085 hasConceptScore W3100869085C2776214188 @default.
- W3100869085 hasConceptScore W3100869085C41008148 @default.
- W3100869085 hasConceptScore W3100869085C43126263 @default.
- W3100869085 hasConceptScore W3100869085C49937458 @default.
- W3100869085 hasConceptScore W3100869085C519991488 @default.
- W3100869085 hasConceptScore W3100869085C544833334 @default.
- W3100869085 hasConceptScore W3100869085C55439883 @default.
- W3100869085 hasConceptScore W3100869085C80444323 @default.
- W3100869085 hasLocation W31008690851 @default.
- W3100869085 hasLocation W31008690852 @default.
- W3100869085 hasOpenAccess W3100869085 @default.
- W3100869085 hasPrimaryLocation W31008690851 @default.
- W3100869085 hasRelatedWork W1508895727 @default.
- W3100869085 hasRelatedWork W1667647204 @default.
- W3100869085 hasRelatedWork W2018477250 @default.
- W3100869085 hasRelatedWork W2404647514 @default.
- W3100869085 hasRelatedWork W2725786787 @default.
- W3100869085 hasRelatedWork W2789551765 @default.
- W3100869085 hasRelatedWork W3008339103 @default.
- W3100869085 hasRelatedWork W3119814709 @default.
- W3100869085 hasRelatedWork W35919320 @default.
- W3100869085 hasRelatedWork W4241418540 @default.
- W3100869085 isParatext "false" @default.
- W3100869085 isRetracted "false" @default.
- W3100869085 magId "3100869085" @default.
- W3100869085 workType "article" @default.