Computing, School of
School of Computing: Dissertations, Theses, and Student Research
Accessibility Remediation
If you are unable to use this item in its current form due to accessibility barriers, you may request remediation through our remediation request form.
First Advisor
Anita Sarma
Date of this Version
Spring 4-4-2012
Document Type
Thesis
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 first identified six challenges that developers face during the process of developer onboarding from recent research studies and informal interviews with developers. To address these challenges, I implemented 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 support these functionalities to help novice developers find relevant resources (files, developers, bugs, etc.) 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 requiring 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.
Advisor: Anita Sarma
Comments
A thesis presented to the faculty of the Graduate College at the University of Nebraska in partial fulfillment of requirements for the degree of Master of Science
Major: Computer Science
Under the supervision of Professor Anita Sarma. Lincoln, Nebraska, February2012
Copyright (c) 2012 Jianguo Wang