Research project for my Master’s Thesis. Description to come.
Demo | Report | Code | Course Page
Collaborator: Felix Grund
This was a course project for a grad information visualization course. The idea was to visualize the data collected by Autotest (see below) to make it easier for graders to identify how much each student contributed to the team’s grade.
Abstract – Determining and understanding contributions to a shared code base can be helpful for monitoring developer efficiency, allocating work items and understanding how and why changes were made. To support this task, we introduce a method for deriving contribution using test execution results and code coverage reports. Our visualization tool, Teamline, then presents these metrics in two different views. An overview shows the uniformity of contributions across hundreds of teams. The detail view shows the test pass rate progression and offers a way to compare up to ten contributors at-a-glance with a small-multiples view. Pairs of contributors can selected to get a detailed comparison in a large side-by-side view.
Collaborator: Felix Grund
Abstract – Software quality is strongly dependent on developers’ knowledge of the rationale that lead to code changes. Capturing this rationale would significantly improve program understanding tasks leading to higher software quality. Unfortunately, this is a hard problem because decisions are often made unconsciously and are not being tracked. This is partly due to the fact that there is little tooling support and partly due to developers and managers putting little value in this information. In this paper we describe a simple method for capturing developer’s reasoning during coding tasks. Our implementation, called CodeStory, integrates transparently into a developer’s workflow by hooking into the standard copypaste operation. When developers copy text or code snippets from StackOverflow, CodeStory will capture additional context and include a reference to it with the pasted content in their code. This information can later be seen by other developers giving them a better understanding of the original developer’s rationale.
AutoTest is an automatic grading service currently being used in second and third year software engineering courses at UBC. My version of the software was used for the fall and winter offerings of CPSC310 in 2016. It has since been forked and taken over by a developer hired to expand and maintain the project.
Collaborator: Rain Gu
Abstract – We were motivated to create a peer-to-peer version of Wikipedia by our desire to remove proprietary interests in the online encyclopedia. Our prototype implements the Treedoc CRDT and an enhanced version of Chord with finger tables, replication and caching. These features allow our client application to support disconnected editing of articles without fear of losing local changes. Its design is scalable and robust to failures while maintaining article consistency and availability.