A Field Study on Fostering Structural Navigation with Prodet
Authors:
- Vinay AugustineVAVinay Augustine
- Patrick FrancisPFPatrick Francis
- Xiao QuXQXiao Qu
- David ShepherdDSDavid Shepherd
- Will SnipesWSWill Snipes
- Christoph BraunlichCBChristoph Braunlich
- Thomas FritzTFThomas Fritz
- 1 May 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 2 (02705257) , 229-238
Abstract
Past studies show that developers who navigate code in a structural manner complete tasks faster and more correctly than those whose behavior is more opportunistic. The goal of this work is to move professional developers towards more effective program comprehension and maintenance habits by providing an approach that fosters structural code navigation. To this end, we created a Visual Studio plugin called Prodet that integrates an always-on navigable visualization of the most contextually relevant portions of the call graph. We evaluated the effectiveness of our approach by deploying it in a six week field study with professional software developers. The study results show a statistically significant increase in developers' use of structural navigation after installing Prodet. The results also show that developers continuously used the filtered and navigable call graph over the three week period in which it was deployed in production. These results indicate the maturity and value of our approach to increase developers' effectiveness in a practical and professional environment.Keywords
This publication has 29 references indexed in Scilit:
- Developers' code context models for change tasks2014
- How tools in IDEs shape developers' navigation behavior2013
- Modeling programmer navigation: A head-to-head empirical evaluation of predictive models2011
- Exploring the neighborhood with dora to expedite software maintenance2007
- Suade: Topology-Based Searches for Software Investigation29th International Conference on Software Engineering (ICSE'07), 2007
- An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance TasksIEEE Transactions on Software Engineering, 2006
- Building Usage Contexts During Program Comprehension2006
- Context-sensitive information retrieval using implicit feedback2005
- Mylar2005
- Automatically inferring concern code from program investigation activities2004