Calcite: Completing Code Completion for Constructors Using Crowds

Authors:
  • MMMathew Mooty
    Mathew Mooty
  • AFAndrew Faulring
    Andrew Faulring
  • JSJeffrey Stylos
    Jeffrey Stylos
  • BMBrad A. Myers
    Brad A. Myers

Abstract
Calcite is a new Eclipse plugin that helps address the difficulty of understanding and correctly using an API. Calcite finds the most popular ways to instantiate a given class or interface by using code examples. To allow the users to easily add these object instantiations to their code, Calcite adds items to the popup completion menu that will insert the appropriate code into the user's program. Calcite also uses crowd sourcing to add to the menu instructions in the form of comments that help the user perform functions that people have identified as missing from the API. In a user study, Calcite improved users' success rate by 40%.