• DocumentCode
    7853
  • Title

    Programming with Ghosts

  • Author

    Callau, Oscar ; Tanter, E.

  • Author_Institution
    Univ. of Chile, Santiago, Chile
  • Volume
    30
  • Issue
    1
  • fYear
    2013
  • fDate
    Jan.-Feb. 2013
  • Firstpage
    74
  • Lastpage
    80
  • Abstract
    Best practices in programming typically imply incremental coding with classes and interfaces that are either not yet defined or only partially defined. Yet integrated development environments (IDEs) don´t support incremental coding well, and recent enhancements and third-party plug-ins fail to provide a seamless experience. We propose to reify undefined entities as ghosts, properly supported by the IDE. A Ghost View provides an integrated, modular view of each ghost, reflecting the current set of assumptions about a given undefined entity. This view is built unobtrusively and on the fly, without interrupting the programming workflow, and it supports program understanding tasks such as navigating from ghosts to the places where they´re used. Ghosts and their usages are type-checked automatically as soon as they´re defined. Busting a ghost generates a complete skeleton, in the background. Ghosts are a simple and useful metaphor to better support incremental development.
  • Keywords
    data flow analysis; software tools; Ghost View; IDE; incremental coding; integrated development environments; program understanding tasks; programming practices; programming workflow; third-party plug-ins; Context awareness; Java; Programming; Search engines; Software development; User interfaces; Visualization; Context awareness; IDEs; Java; Programming; Search engines; Software development; User interfaces; Visualization; ghosts; integrated development environments; programming environments; programming tools;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2012.49
  • Filename
    6176006