Tempura: Temporal dimension for IDEs

Yun Young Lee, Darko Marinov, Ralph E. Johnson

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Modern integrated development environments (IDEs) make many software engineering tasks easier by providing automated programming support such as code completion and navigation. However, such support - and therefore IDEs as a whole - operate on one revision of the code at a time, and leave handling of code history to external tools or plugins, such as EGit for Eclipse. For example, when a method is removed from a class, developers can no longer find the method through code completion. This forces developers to manually switch across different revisions or resort to using external tools when they need to learn about previous code revisions. We propose a novel approach of adding a temporal dimension to IDEs, enabling code completion and navigation to operate on multiple revisions of code at a time. We previously introduced the idea of temporal code completion and navigation, and presented a vision for how that idea may be realized. This paper realizes that vision by implementing and evaluating a prototype tool called Tempura. We describe our algorithm for processing and indexing historical code information from repositories for Tempura, and demonstrate Tempura's scalability with three large Eclipse projects. We also evaluate Tempura's usability through a controlled user study. The study participants learned about the code history with more accuracy when using Tempura compared to EGit. Although the sample size was not large enough to provide strong statistical significance, the results show a promising outlook for our approach.

Original languageEnglish (US)
Title of host publicationProceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015
PublisherIEEE Computer Society
Pages212-222
Number of pages11
ISBN (Electronic)9781479919345
DOIs
StatePublished - Aug 12 2015
Event37th IEEE/ACM International Conference on Software Engineering, ICSE 2015 - Florence, Italy
Duration: May 16 2015May 24 2015

Publication series

NameProceedings - International Conference on Software Engineering
Volume1
ISSN (Print)0270-5257

Other

Other37th IEEE/ACM International Conference on Software Engineering, ICSE 2015
CountryItaly
CityFlorence
Period5/16/155/24/15

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Tempura: Temporal dimension for IDEs'. Together they form a unique fingerprint.

  • Cite this

    Lee, Y. Y., Marinov, D., & Johnson, R. E. (2015). Tempura: Temporal dimension for IDEs. In Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015 (pp. 212-222). [7194575] (Proceedings - International Conference on Software Engineering; Vol. 1). IEEE Computer Society. https://doi.org/10.1109/ICSE.2015.42