Software developers today make heavy use of the code completion features available in modern code editors [1]. By navigating and selecting from a floating menu containing the names of variables, fields, methods, types and code snippets, a developer can avoid many common spelling and logic errors, avoid unnecessary keystrokes and explore unfamiliar APIs without leaving the editor window. To ensure that the items featured in this menu are relevant, the editor conducts a static analysis of the surrounding code context.
展开▼