Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software 2016
DOI: 10.1145/2986012.2986017
|View full text |Cite
|
Sign up to set email alerts
|

Exploring cheap type inference heuristics in dynamically typed languages

Abstract: Although dynamically typed languages allow developers to be more productive in writing source code, their lack of information about types of variables is one of the main obstacles during program comprehension. Static type information helps developers to decrease software maintenance time. Inference of types of variables requires complex algorithms to avoid false positives or negatives. Their main aim is to shorten the list of possible types for a variable. We have developed a couple of cheap heuristics that us… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
6
0

Year Published

2016
2016
2018
2018

Publication Types

Select...
3
1

Relationship

3
1

Authors

Journals

citations
Cited by 4 publications
(6 citation statements)
references
References 37 publications
(54 reference statements)
0
6
0
Order By: Relevance
“…ICTI was able to correctly infer the precise type of the variable in 37% of cases, and to near-695 guess it for only 8.5% more variables. To the best of our knowledge, there is one other simple approach that tries to infer the precise type for a variable [15], and it shows very similar results.…”
Section: Overall Results -Class-based Approachmentioning
confidence: 82%
See 3 more Smart Citations
“…ICTI was able to correctly infer the precise type of the variable in 37% of cases, and to near-695 guess it for only 8.5% more variables. To the best of our knowledge, there is one other simple approach that tries to infer the precise type for a variable [15], and it shows very similar results.…”
Section: Overall Results -Class-based Approachmentioning
confidence: 82%
“…Simpler type inference analyses [8,4] statically track variable assignments and the set of messages sent 1 to a variable in order to determine which classes either implement those methods, or inherit them from a superclass. Since they are neither control-nor data-flow sensitive, these approaches tend to 15 be less precise, but very fast. Nevertheless, the problem with these simple approaches in dynamically-typed languages is that they provide a developer with the set of unordered classes that represent possible type for a variable.…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations
“…RoelTyper was improved by heuristics that derive data from static and dynamic analysis of class usage frequency [53], [54]. These heuristics more than doubled the number of correctly inferred types when compared to the underlying approach.…”
Section: Related Workmentioning
confidence: 99%