Git is a widely used version control system that is powerful but complicated. Its complexity may not be an inevitable consequence of its power but rather evidence of flaws in its design. To explore this hypothesis, we analyzed the design of Git using a theory that identifies concepts, purposes, and misfits. Some well-known difficulties with Git are described, and explained as misfits in which underlying concepts fail to meet their intended purpose. Based on this analysis, we designed a reworking of Git (called Gitless) that attempts to remedy these flaws.
To correlate misfits with issues reported by users, we conducted a study of Stack Overflow questions. And to determine whether users experienced fewer complications using Gitless in place of Git, we conducted a small user study. Results suggest our approach can be profitable in identifying, analyzing, and fixing design problems.
Wed 2 NovDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:40 - 17:20 | Programming Frameworks, Tools, and MethodologiesOOPSLA at Matterhorn 2 Chair(s): Emerson Murphy-Hill Google | ||
15:40 25mTalk | Purposes, Concepts, Misfits, and a Redesign of Git OOPSLA DOI Pre-print Media Attached | ||
16:05 25mTalk | Apex: Automatic Programming Assignment Error Explanation OOPSLA Dohyeong Kim Purdue University, Yonghwi Kwon Purdue University, Peng Liu Purdue University, I Luk Kim Purdue University, David Mitchel Perry Purdue University, Xiangyu Zhang Purdue University, Gustavo Rodriguez-Rivera Purdue University DOI Media Attached | ||
16:30 25mTalk | Asserting Reliable Convergence for Configuration Management Scripts OOPSLA Oliver Hanappi Vienna University of Technology, Waldemar Hummer Vienna University of Technology, Schahram Dustdar TU Wien DOI | ||
16:55 25mTalk | Dependent Partitioning OOPSLA Sean Treichler Stanford University, Michael Bauer NVIDIA Research, Rahul Sharma Microsoft Research, Elliott Slaughter , Alex Aiken Stanford University DOI Media Attached |