Temporal Code Completion and Navigation

Yun Young Lee, Sam Harwell, Sarfraz Khurshid, and Darko Marinov

University of Illinois at Urbana-Champaign, USA; University of Texas at Austin, USA

Track: New Ideas and Emerging Results
Session: Supporting Tomorrow's Developer
Modern IDEs make many software engineering tasks easier by automating functionality such as code completion and navigation. However, this functionality operates on one version of the code at a time. We envision a new approach that makes code completion and navigation aware of code evolution and enables them to operate on multiple versions at a time, without having to manually switch across these versions. We illustrate our approach on several example scenarios. We also describe a prototype Eclipse plugin that embodies our approach for code completion and navigation for Java code. We believe our approach opens a new line of research that adds a novel, temporal dimension for treating code in IDEs in the context of tasks that previously required manual switching across different code versions.