MASTERS THESIS DEFENSE
Supporting Developer-onboarding with Enhanced Resource Finding and Visual Exploration
Jianguo Wang
Committee Members: Dr. Anita Sarma (Advisor),
Dr. Gregg Rothermel, and Dr. Witawas Srisa-An
Thursday, February 23, 2012, 3:30pm
347 Avery Hall
Abstract:
Understanding the basic structure of a code base and a development team are essential to get new developers up to speed in a software development project. Developers do so through the process of early experimentation with code and the creation of mental models of technical and social structures in a project. However, getting up-to-speed in a new project can be challenging due to difficulties in: finding the right place to begin explorations, expanding the focus to determine relevant resources for tasks, and identifying dependencies across project elements to gain a high-level overview of project structures.
In this thesis, I identified six challenges in the process of developers onboarding from recent research studies and an informal interview with developers. To address these challenges, I suggested automated tool support with enhanced resource finding and visual exploration. Specifically, I proposed six functional requirements for supporting developers onboarding. I then extended the project tool Tesseract to implement these functionalities to help novice developers find relevant resources and understand project structures when joining a new project. To understand how the onboarding functionalities work in supporting developers onboarding process, I conducted a user study with typical onboarding tasks in early experimentation and internalizing project structures.
The results indicated that enhanced search features, the ability to explore semantic relationships across repositories, and network-centric visualizations of project structures were very effective in supporting onboarding.