Refining code ownership with synchronous changes
MetadataShow full item record
When mining software repositories, two distinct sources of information are usually explored: the history log and snapshots of the system. Results of analyses derived from these two sources are biased by the frequency with which developers commit their changes. We argue that the usage of mainstream SCM (software configuration management) systems influences the way that developers work. For example, since it is tedious to resolve conflicts due to parallel commits, developers tend to minimize conflicts by not contemporarily modifying the same file. This however defeats one of the purposes of such systems. We mine repositories created by our tool , which records changes in a central repository whenever a file is compiled locally in the IDE (integrated development environment) by any developer in a multi-developer project. This new source of information can augment the accuracy of analyses and breaks new ground in terms of how such information can assist developers. We illustrate how the information we mine provides a refined notion of code ownership with respect to the one inferred by SCM system data. We demonstrate our approach on three case studies, including an industrial one. Ownership models suffer from the assumption that developers have a perfect memory. To account for their imperfect memory, we integrate into our ownership measurement a model of memory retention, to simulate the effect of memory loss over time. We evaluate the characteristics of this model for several strengths of memory.
Showing items related by title, author, creator and subject.
Sales and employment changes in entrepreneurial ventures with family ownership: Empirical evidence from high-tech industries Colombo M; De Massis A; Piva E; Rossi-Lamastra C; Wright M (2014)We examine the relation between changes in employment and changes in sales for entrepreneurial ventures with and without family ownership. We argue that this positive relation is weaker for entrepreneurial ventures with ...
Cloud architecture continuity: Change models and change rules for sustainable cloud software architectures Pahl C; Jamshidi P; Weyns D (2017)Cloud systems provide elastic execution environments of resources that link application and infrastructure/platform components, which are both exposed to uncertainties and change. Change appears in 2 forms: the evolution ...
Russo, B; Steff, ME (ACM, 2014)Code changes propagate. Type, frequency, size of changes typically explain and even predict impact of changes in software products. What can changes tell about software processes? In this study, we propose a novel method ...