• Home
  • Search
  • Exploring cheap type inference heuristics in dynamically typed languages
  • Cite Icon4
  • https://doi.org/10.1145/2986012.2986017Copy DOI Icon

Exploring cheap type inference heuristics in dynamically typed languages

  • Oct 20, 2016
  • Nevena Milojković +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Although dynamically typed languages allow developers to be more productive in writing source code, their lack of in- formation 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 use easily accessible information about the presence of each class in the available source code to promote the correct type towards the top of the list of possible types for a variable. Our evaluation of a proof-of-concept prototype, implemented in Pharo Smalltalk, shows that both for domain- specific types and standard libraries these heuristics tend to work well. The evaluated heuristics prove to be reasonably precise, promoting the correct types of a variable towards the top of the list in 50.67% up to 89.09% of cases on average, depending on the applied heuristic. The heuristic that has proved to be the best was compared with one existing type inference algorithm and the best heuristic yields significantly better results with less effort.

Similar Papers
  • Conference Article
  • Citations9

Inferring Types by Mining Class Usage Frequency from Inline Caches

  • Aug 23, 2016
  • Nevena Milojković +3
  • Conference Article
  • Citations9

Exploiting Type Hints in Method Argument Names to Improve Lightweight Type Inference

  • May 01, 2017
  • Nevena Milojkovic +2
  • Research Article
  • Citations1

Special issue on program comprehension

  • Jul 26, 2014
  • Empirical Software Engineering
  • Michael W Godfrey +1
  • Conference Article
  • Citations14

Redacting sensitive information in software artifacts

  • Jun 02, 2014
  • Mark Grechanik +4
  • Conference Article
  • Citations29

Effects of explicit feature traceability on program comprehension

  • Aug 12, 2019
  • Jacob Krüger +4
  • Conference Article
  • Citations12

Normalizing source code vocabulary to support program comprehension and software quality

  • May 18, 2013
  • Latifa Guerrouj
  • Research Article
  • Citations138

An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes

  • Sep 01, 1989
  • ACM SIGPLAN Notices
  • C Chambers +2
  • Book Chapter

BinderAnn: Automated Reification of Source Annotations for Monadic EDSLs

  • Jan 01, 2020
  • Agustín Mista +1
  • Research Article
  • Citations7

A declarative approach to detecting design patterns from Java execution traces and source code

  • Mar 26, 2024
  • Information and Software Technology
  • Aswathy Mohan +2
  • Conference Article
  • Citations4

The effects of identifier retention and stop word removal on a latent Dirichlet allocation based feature location technique

  • Mar 29, 2012
  • Lauren R Biggers
  • Conference Article

Toward automatic artifact matching for tool evaluation

  • Mar 19, 2009
  • Yan Liang
  • Research Article
  • Citations47

Labeling source code with information retrieval methods: an empirical study

  • Nov 13, 2013
  • Empirical Software Engineering
  • Andrea De Lucia +4
  • Research Article
  • Citations78

A Look into Programmers’ Heads

  • Apr 01, 2020
  • IEEE Transactions on Software Engineering
  • Norman Peitek +8
  • Research Article

设计模式指导的软件分簇方法

  • Jan 01, 2014
  • SCIENTIA SINICA Informationis
  • Linzhang Wang +5
  • Conference Article
  • Citations128

Easing Program Comprehension by Sharing Navigation Data

  • Sep 01, 2005
  • R Deline +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.