Skip to main content
Top
Published in: Empirical Software Engineering 4-5/2012

01-08-2012

Refining code ownership with synchronous changes

Authors: Lile Palma Hattori, Michele Lanza, Romain Robbes

Published in: Empirical Software Engineering | Issue 4-5/2012

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

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 Syde, 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.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Footnotes
3
In the meantime, Syde records more and more fine-grained information, whose description is outside the scope of this article.
 
4
In our case study, we have an industrial system that uses CVS, and two academic systems that use SVN. For the first, we only had access to the logs, but not to the source code. Thus, we decided to consistently apply the same approach to all three projects, by estimating the size of a file.
 
5
We use rectangles instead of circles for SCM logs so that one can differentiate between SCM changes and Syde changes when both are overlapped on the same map.
 
6
We use pseudonyms to conform with the non-disclosure agreement.
 
Literature
go back to reference Anvik J, Hiew L, Murphy GC (2006) Who should fix this bug? In: Proceedings of ICSE 2006 (28th international conference on software engineering). ACM Press, pp 361–370 Anvik J, Hiew L, Murphy GC (2006) Who should fix this bug? In: Proceedings of ICSE 2006 (28th international conference on software engineering). ACM Press, pp 361–370
go back to reference Anvik J, Murphy GC (2007) Determining implementation expertise from bug reports. In: Proceedings of MSR 2007 (4th international workshop on mining software repositories). IEEE Computer Society, p 2 Anvik J, Murphy GC (2007) Determining implementation expertise from bug reports. In: Proceedings of MSR 2007 (4th international workshop on mining software repositories). IEEE Computer Society, p 2
go back to reference Biehl JT, Czerwinski M, Smith G, Robertson GG (2007) FASTDash: a visual dashboard for fostering awareness in software teams. In: Proceedings of CHI 2007 (25th SIGCHI conference on human factors in computing systems). ACM Press, pp 1313–1322 Biehl JT, Czerwinski M, Smith G, Robertson GG (2007) FASTDash: a visual dashboard for fostering awareness in software teams. In: Proceedings of CHI 2007 (25th SIGCHI conference on human factors in computing systems). ACM Press, pp 1313–1322
go back to reference Baysal O, Malton AJ (2007) Correlating social interactions to release history during software evolution. In: Proceedings of MSR 2007 (4th international workshop on mining software repositories). IEEE Computer Society, p 7 Baysal O, Malton AJ (2007) Correlating social interactions to release history during software evolution. In: Proceedings of MSR 2007 (4th international workshop on mining software repositories). IEEE Computer Society, p 7
go back to reference Bird C, Rigby PC, Barr ET, Hamilton DJ, German DM, Devanbu P (2009) The promises and perils of mining git. In: Proceedings of MSR 2009 (6th working conference on mining software repositories). IEEE Computer Society Bird C, Rigby PC, Barr ET, Hamilton DJ, German DM, Devanbu P (2009) The promises and perils of mining git. In: Proceedings of MSR 2009 (6th working conference on mining software repositories). IEEE Computer Society
go back to reference Carpenter SK, Pashler H, Wixted JT, Vul E (2008) The effects of tests on learning and forgetting. Mem Cogn 36(2):438–448CrossRef Carpenter SK, Pashler H, Wixted JT, Vul E (2008) The effects of tests on learning and forgetting. Mem Cogn 36(2):438–448CrossRef
go back to reference da Silva I, Chen P, Van der Westhuizen C, Ripley R, van der Hoek A (2006) Lighthouse: coordination through emerging design. In: Proceedings of ETX 2006 (OOPSLA Workshop on Eclipse Technology eXchange). ACM Press, pp 11–15 da Silva I, Chen P, Van der Westhuizen C, Ripley R, van der Hoek A (2006) Lighthouse: coordination through emerging design. In: Proceedings of ETX 2006 (OOPSLA Workshop on Eclipse Technology eXchange). ACM Press, pp 11–15
go back to reference de Souza CRB, Redmiles D, Dourish P (2003) Breaking the code, moving between private and public work in collaborative software development. In: Proceedings of GROUP 2003 (International ACM SIGGROUP conference on supporting group work). ACM Press, pp 105–114 de Souza CRB, Redmiles D, Dourish P (2003) Breaking the code, moving between private and public work in collaborative software development. In: Proceedings of GROUP 2003 (International ACM SIGGROUP conference on supporting group work). ACM Press, pp 105–114
go back to reference Dig D, Manzoor K, Johnson R, Nguyen TN (2007) Refactoring-aware configuration management for object-oriented programs. In: Proceedings of ICSE 2007 (29th international conference on software engineering). IEEE Computer Society, pp 427–436 Dig D, Manzoor K, Johnson R, Nguyen TN (2007) Refactoring-aware configuration management for object-oriented programs. In: Proceedings of ICSE 2007 (29th international conference on software engineering). IEEE Computer Society, pp 427–436
go back to reference Ebbinghaus H (1913) Uber das Gedchtnis. Untersuchungen zur experimentellen Psychologie (Memory. A contribution to experimental psychology). Duncker and Humblot, Leipzig Ebbinghaus H (1913) Uber das Gedchtnis. Untersuchungen zur experimentellen Psychologie (Memory. A contribution to experimental psychology). Duncker and Humblot, Leipzig
go back to reference Estublier J, Leblang D, van der Hoek A, Conradi R, Clemm G, Tichy W, Wiborg-Weber D (2005) Impact of software engineering research on the practice of software configuration management. ACM Trans Softw Eng Methodol 14(4):383–430CrossRef Estublier J, Leblang D, van der Hoek A, Conradi R, Clemm G, Tichy W, Wiborg-Weber D (2005) Impact of software engineering research on the practice of software configuration management. ACM Trans Softw Eng Methodol 14(4):383–430CrossRef
go back to reference Fluri B, Würsch M, Pinzger M, Gall H (2007) Change distilling: tree differencing for fine-grained source code change extraction. IEEE Trans Softw Eng (TSE) 33(11):725–743CrossRef Fluri B, Würsch M, Pinzger M, Gall H (2007) Change distilling: tree differencing for fine-grained source code change extraction. IEEE Trans Softw Eng (TSE) 33(11):725–743CrossRef
go back to reference Gîrba T, Kuhn A, Seeberger M, Ducasse S (2005) How developers drive software evolution. In: Proceedings of IWPSE 2005 (8th international workshop on principles of software evolution). IEEE Computer Society, pp 113–122 Gîrba T, Kuhn A, Seeberger M, Ducasse S (2005) How developers drive software evolution. In: Proceedings of IWPSE 2005 (8th international workshop on principles of software evolution). IEEE Computer Society, pp 113–122
go back to reference Grinter RE (1996) Supporting articulation work using software configuration management systems. Comput Support Coop Work 5(4):447–465CrossRef Grinter RE (1996) Supporting articulation work using software configuration management systems. Comput Support Coop Work 5(4):447–465CrossRef
go back to reference Hassan AE, Holt RC (2004) Predicting change propagation in software systems. In: Proceedings of ICSM 2004 (20th IEEE international conference on software maintenance). IEEE Computer Society, pp 284–293 Hassan AE, Holt RC (2004) Predicting change propagation in software systems. In: Proceedings of ICSM 2004 (20th IEEE international conference on software maintenance). IEEE Computer Society, pp 284–293
go back to reference Hattori L, Lanza M (2009) An environment for synchronous software development. In: Proceedings of ICSE 2009 (31st ACM/IEEE international conference on software engineering—new ideas and emerging results track). IEEE CS Press, pp 223–226 Hattori L, Lanza M (2009) An environment for synchronous software development. In: Proceedings of ICSE 2009 (31st ACM/IEEE international conference on software engineering—new ideas and emerging results track). IEEE CS Press, pp 223–226
go back to reference Hattori L, Lanza M (2010) Syde: a tool for collaborative software development. In: Proceedings of ICSE 2010 (32nd ACM/IEEE international conference on software engineering), pp 235–238 Hattori L, Lanza M (2010) Syde: a tool for collaborative software development. In: Proceedings of ICSE 2010 (32nd ACM/IEEE international conference on software engineering), pp 235–238
go back to reference Hegde R, Dewan P (2008) Connecting programming environments to support ad-hoc collaboration. In: Proceedings of ASE 2008 (23rd IEEE/ACM international conference on automated software engineering). IEEE CS Press Hegde R, Dewan P (2008) Connecting programming environments to support ad-hoc collaboration. In: Proceedings of ASE 2008 (23rd IEEE/ACM international conference on automated software engineering). IEEE CS Press
go back to reference John TW, Shana KC (2007) The wickelgren power law and the ebbinghaus savings function. Psychological Science 18(2):133–134CrossRef John TW, Shana KC (2007) The wickelgren power law and the ebbinghaus savings function. Psychological Science 18(2):133–134CrossRef
go back to reference Lanza M, Hattori L, Guzzi A (2010) Supporting collaboration awareness with real-time visualization of development activity. In: Proceedings of CSMR 2010 (14th IEEE European conference on software maintenance and reengineering). IEEE CS Press, pp 207–216 Lanza M, Hattori L, Guzzi A (2010) Supporting collaboration awareness with real-time visualization of development activity. In: Proceedings of CSMR 2010 (14th IEEE European conference on software maintenance and reengineering). IEEE CS Press, pp 207–216
go back to reference Levenshtein VI (1966) Binary codes capable of correcting deletions, insertions and reversals. Sov Phys Dokl 10:707–710MathSciNet Levenshtein VI (1966) Binary codes capable of correcting deletions, insertions and reversals. Sov Phys Dokl 10:707–710MathSciNet
go back to reference Lippe E, van Oosterom N (1992) Operation-based merging. SIGSOFT Softw Eng Notes 17(5):78–87CrossRef Lippe E, van Oosterom N (1992) Operation-based merging. SIGSOFT Softw Eng Notes 17(5):78–87CrossRef
go back to reference Ma D, Schuler D, Zimmermann T, Sillito J (2009) Expert recommendation with usage expertise. In: Proceedings of ICSM 2009 (25th IEEE international conference on software maintenance). IEEE Computer Society, pp 535–538 Ma D, Schuler D, Zimmermann T, Sillito J (2009) Expert recommendation with usage expertise. In: Proceedings of ICSM 2009 (25th IEEE international conference on software maintenance). IEEE Computer Society, pp 535–538
go back to reference Matter S, Kuhn A, Nierstrasz O (2009) Assigning bug reports using a vocabulary-based expertise model of developers. In: Proceedings of MSR 2009 (6th international working conference on mining software repositories). IEEE Computer Society, pp 131–140 Matter S, Kuhn A, Nierstrasz O (2009) Assigning bug reports using a vocabulary-based expertise model of developers. In: Proceedings of MSR 2009 (6th international working conference on mining software repositories). IEEE Computer Society, pp 131–140
go back to reference McDonald DW, Ackerman MS (2000) Expertise recommender: a flexible recommendation system and architecture. In: Proceedings of CSCW 2000 (ACM conference on computer supported cooperative work). ACM Press, pp 231–240 McDonald DW, Ackerman MS (2000) Expertise recommender: a flexible recommendation system and architecture. In: Proceedings of CSCW 2000 (ACM conference on computer supported cooperative work). ACM Press, pp 231–240
go back to reference Mockus A, Herbsleb JD (2002) Expertise browser: a quantitative approach to identifying expertise. In: Proceedings of ICSE 2002 (22nd international conference on software engineering). IEEE Computer Society, pp 503–512 Mockus A, Herbsleb JD (2002) Expertise browser: a quantitative approach to identifying expertise. In: Proceedings of ICSE 2002 (22nd international conference on software engineering). IEEE Computer Society, pp 503–512
go back to reference Murre J, Chessa A (2009) Spurious power laws of learning and forgetting: mathematical and computational analyses of averaging artifacts. In: Proceedings of CogSci 2009 (31st annual conference of the Cognitive Science Society). Cognitive Science Society, pp 1175–1179 Murre J, Chessa A (2009) Spurious power laws of learning and forgetting: mathematical and computational analyses of averaging artifacts. In: Proceedings of CogSci 2009 (31st annual conference of the Cognitive Science Society). Cognitive Science Society, pp 1175–1179
go back to reference Omori T, Maruyama K (2008) A change-aware development environment by recording editing operations of source code. In: Proceedings of MSR 2008 (5th international working conference on mining software repositories). ACM Press, pp 31–34 Omori T, Maruyama K (2008) A change-aware development environment by recording editing operations of source code. In: Proceedings of MSR 2008 (5th international working conference on mining software repositories). ACM Press, pp 31–34
go back to reference Robbes R (2007) Mining a change-based software repository. In: Proceedings of the 4th international workshop on mining software repositories (MSR 2007). ACM Press, p 15 Robbes R (2007) Mining a change-based software repository. In: Proceedings of the 4th international workshop on mining software repositories (MSR 2007). ACM Press, p 15
go back to reference Robbes R, Lanza M (2005) Versioning systems for evolution research. In: Proceedings of IWPSE 2005 (8th international workshop on principles of software evolution). IEEE CS Press, pp 155–164 Robbes R, Lanza M (2005) Versioning systems for evolution research. In: Proceedings of IWPSE 2005 (8th international workshop on principles of software evolution). IEEE CS Press, pp 155–164
go back to reference Robbes R, Lanza M (2008) Spyware: a change-aware development toolset. In: Proceedings of ICSE 2008 (30th ACM/IEEE international conference in software engineering). ACM Press, pp 847–850 Robbes R, Lanza M (2008) Spyware: a change-aware development toolset. In: Proceedings of ICSE 2008 (30th ACM/IEEE international conference in software engineering). ACM Press, pp 847–850
go back to reference Sarma A, Bortis G, van der Hoek A (2007) Towards supporting awareness of indirect conflicts across software configuration management workspaces. In: Proceedings of ASE 2007 (22nd IEEE/ACM international conference on automated software engineering). IEEE CS Press, pp 94–103 Sarma A, Bortis G, van der Hoek A (2007) Towards supporting awareness of indirect conflicts across software configuration management workspaces. In: Proceedings of ASE 2007 (22nd IEEE/ACM international conference on automated software engineering). IEEE CS Press, pp 94–103
go back to reference Sarma A, Redmiles D, van der Hoek A (2008) Empirical evidence of the benefits of workspace awareness in software configuration management. In: Proceedings of FSE 2008 (16th ACM SIGSOFT international symposium on foundations of software engineering). ACM Press, pp 113–123 Sarma A, Redmiles D, van der Hoek A (2008) Empirical evidence of the benefits of workspace awareness in software configuration management. In: Proceedings of FSE 2008 (16th ACM SIGSOFT international symposium on foundations of software engineering). ACM Press, pp 113–123
go back to reference Schneider KA, Gutwin C, Penner R, Paquette D (2004) Mining a software developer’s local interaction history. In: Proceedings of MSR 2004 (1st international workshop on mining software repositories), pp 106–110 Schneider KA, Gutwin C, Penner R, Paquette D (2004) Mining a software developer’s local interaction history. In: Proceedings of MSR 2004 (1st international workshop on mining software repositories), pp 106–110
go back to reference Tu Q, Godfrey MW (2001) The build-time software architecture view. In: Proceedings of ICSM 2001(17th IEEE international conference on software maintenance). IEEE Computer Society, p 398 Tu Q, Godfrey MW (2001) The build-time software architecture view. In: Proceedings of ICSM 2001(17th IEEE international conference on software maintenance). IEEE Computer Society, p 398
go back to reference Van Rysselberghe F, Demeyer S (2004) Studying software evolution information by visualizing the change history. In: Proceedings of ICSM 2004 (20th IEEE international conference on software maintenance). IEEE Computer Society, pp 328–337 Van Rysselberghe F, Demeyer S (2004) Studying software evolution information by visualizing the change history. In: Proceedings of ICSM 2004 (20th IEEE international conference on software maintenance). IEEE Computer Society, pp 328–337
go back to reference Ying ATT, Ng R, Chu-Carroll MC, Murphy GC (2004) Predicting source code changes by mining change history. IEEE Trans Softw Eng 30(9):574–586CrossRef Ying ATT, Ng R, Chu-Carroll MC, Murphy GC (2004) Predicting source code changes by mining change history. IEEE Trans Softw Eng 30(9):574–586CrossRef
go back to reference Yu L, Ramaswamy S (2007) Mining cvs repositories to understand open-source project developer roles. In: Proceedings of MSR 2007 (4th international workshop on mining software repositories). IEEE Computer Society, p 8 Yu L, Ramaswamy S (2007) Mining cvs repositories to understand open-source project developer roles. In: Proceedings of MSR 2007 (4th international workshop on mining software repositories). IEEE Computer Society, p 8
go back to reference Zeller A (2007) The future of programming environments: integration, synergy, and assistance. In: Proceedings of FOSE 2007 (2nd conference on the future of software engineering). IEEE CS Press, pp 316–325 Zeller A (2007) The future of programming environments: integration, synergy, and assistance. In: Proceedings of FOSE 2007 (2nd conference on the future of software engineering). IEEE CS Press, pp 316–325
go back to reference Zimmermann T, Weisgerber P, Diehl S, Zeller A (2004) Mining version histories to guide software changes. In: Proceedings of ICSE 2004 (26th ACM international conference on software engineering). IEEE CS Press, pp 563–572 Zimmermann T, Weisgerber P, Diehl S, Zeller A (2004) Mining version histories to guide software changes. In: Proceedings of ICSE 2004 (26th ACM international conference on software engineering). IEEE CS Press, pp 563–572
Metadata
Title
Refining code ownership with synchronous changes
Authors
Lile Palma Hattori
Michele Lanza
Romain Robbes
Publication date
01-08-2012
Publisher
Springer US
Published in
Empirical Software Engineering / Issue 4-5/2012
Print ISSN: 1382-3256
Electronic ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-010-9145-5

Other articles of this Issue 4-5/2012

Empirical Software Engineering 4-5/2012 Go to the issue

Premium Partner