Issue No. 01 - Jan.-Feb. (2013 vol. 30)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2012.49
O. Callau , Univ. of Chile, Santiago, Chile
E. Tanter , Univ. of Chile, Santiago, Chile
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.
software tools, data flow analysis, program understanding tasks, programming practices, incremental coding, integrated development environments, IDE, third-party plug-ins, Ghost View, programming workflow, Programming, Software development, Context awareness, Visualization, Java, User interfaces, Search engines, IDEs, Programming, Software development, Context awareness, Visualization, Java, User interfaces, Search engines, ghosts, programming tools, programming environments, integrated development environments
O. Callau and E. Tanter, "Programming with Ghosts," in IEEE Software, vol. 30, no. , pp. 74-80, 2013.