proactive detection of collaboration conflicts
play

Proactive Detection of Collaboration Conflicts Yuriy Brun Reid - PowerPoint PPT Presentation

Proactive Detection of Collaboration Conflicts Yuriy Brun Reid Holmes Michael D. Ernst David Notkin University of Washington University of Waterloo Have you ever made a mistake while programming and only realized it later? design


  1. Proactive Detection of Collaboration Conflicts Yuriy Brun Reid Holmes Michael D. Ernst David Notkin University of Washington University of Waterloo

  2. Have you ever made a mistake while programming and only realized it later? • design decision • refactoring • repeated someone else’s work

  3. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis: Predict the future and analyze it current program 3 / 17

  4. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis: Predict the future and analyze it speculate current program 3 / 17

  5. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis: Predict the future and analyze it speculate current program 3 / 17

  6. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis: Predict the future and analyze it speculate current program 3 / 17

  7. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis: Predict the future and analyze it speculate current program analyze 3 / 17

  8. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis: Predict the future and analyze it speculate current program analyze inform developer 3 / 17

  9. speculative analysis collaborative conflicts utility evaluation contributions References Exploring the future past version present version future version of the program of the program of the program d c a e o u l n t t o a t i m n d u a e o t b e u u d s g d t g e e i n s b g t u i n g g g i n g 4 / 17

  10. speculative analysis collaborative conflicts utility evaluation contributions References Exploring the future past version present version future version of the program of the program of the program d c a m r e e o u i g l n t n t o r i a t e n i m r n s e g d u a s p e o t s i o o b e o u s n u d s f i g t t t d w t o e g e e r a i s i n s b e r t g t e i u s n i n g g g g i n g 4 / 17

  11. speculative analysis collaborative conflicts utility evaluation contributions References Exploring the future past version present version future version of the program of the program of the program d c a m r e e o u i g l n t n t o r i a t e n i m r n s e g d u a s p e o t s i o o b e o u s n u d s f i g t t t d w t o e g e e r a i s i n s b e r t g t e i u s n i n g g g g i n g Continuous development execution [Henderson and Weiser 1985; Karinthi and Weiser 1987] compilation [Childers et al. 2003; Eclipse foundation 2011] testing [Saff and Ernst 2003, 2004] version control integration [Guimar˜ aes and Rito-Silva 2010] 4 / 17

  12. speculative analysis collaborative conflicts utility evaluation contributions References Exploring the future past version present version future version of the program of the program of the program d c a m r s e e o u p i g l n t n e t o r i a t c e n i m r n u s e g d u a l s a p e o t s i o o b e t o u i v s n u d s f e i g t t t d w t o e g a e e r a i s n i n s b e r t a g t e i u s n i n l y g g g s g i i s n g Continuous development execution [Henderson and Weiser 1985; Karinthi and Weiser 1987] compilation [Childers et al. 2003; Eclipse foundation 2011] testing [Saff and Ernst 2003, 2004] version control integration [Guimar˜ aes and Rito-Silva 2010] 4 / 17

  13. speculative analysis collaborative conflicts utility evaluation contributions References Exploring the future past version present version future version of the program of the program of the program d c a m r s e e o u p i g l n t n e t o r i a t c e n i m r n u s e g d u a l s a p e o t s i o o b e t o u i v s n u d s f e i g t t t d w t o e g a e e r a i s n i n s b e r t a g t e i u s n i n l y g g g s g i i s n g Continuous development execution [Henderson and Weiser 1985; Karinthi and Weiser 1987] compilation [Childers et al. 2003; Eclipse foundation 2011] testing [Saff and Ernst 2003, 2004] version control integration [Guimar˜ aes and Rito-Silva 2010] Speculative analysis is predictive . 4 / 17

  14. speculative analysis collaborative conflicts utility evaluation contributions References Contributions Speculative analysis Speculative analysis for collaborative development Crystal: prototype tool Utility of speculative analysis for collaborative development 5 / 17

  15. speculative analysis collaborative conflicts utility evaluation contributions References Version-control terminology Proactive conflict detection applies to both centralized and decentralized version control. Terminology: decentralized centralized local commit: commit save incorporate: push and pull commit and update 6 / 17

  16. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M 7 / 17

  17. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T 7 / 17

  18. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W 7 / 17

  19. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th 7 / 17

  20. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F 7 / 17

  21. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F M T 7 / 17

  22. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F M T W Th 7 / 17

  23. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F M T W Th F 7 / 17

  24. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F M T W Th F M T 7 / 17

  25. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F M T W Th F M T W 7 / 17

  26. speculative analysis collaborative conflicts utility evaluation contributions References The Gates conflict M T W Th F M T W Th F M T W The information was all there, but the developers didn’t know it. 7 / 17

  27. speculative analysis collaborative conflicts utility evaluation contributions References What could well-informed developers do? M T Avoid conflicts 8 / 17

  28. speculative analysis collaborative conflicts utility evaluation contributions References What could well-informed developers do? M T Avoid conflicts W Th F M T W Th Reduce conflict severity F 8 / 17

  29. speculative analysis collaborative conflicts utility evaluation contributions References Introducing Crystal: A proactive conflict detector DEMO 9 / 17

  30. speculative analysis collaborative conflicts utility evaluation contributions References Introducing Crystal: A proactive conflict detector DEMO http://crystalvc.googlecode.com 9 / 17

  31. speculative analysis collaborative conflicts utility evaluation contributions References Speculative analysis in collaborative development speculate current program analyze inform developer 10 / 17

  32. speculative analysis collaborative conflicts utility evaluation contributions References Reducing false positives in conflict prediction Collaborative awareness Palant´ ır [Sarma et al. 2003] CollabVS [Dewan and Hegde 2007] FASTDash [Biehl et al. 2007] Safe-commit [Wloka et al. 2009] Syde [Hattori and Lanza 2010] SourceTree [Streeting 2010] 11 / 17

  33. speculative analysis collaborative conflicts utility evaluation contributions References Reducing false positives in conflict prediction Collaborative awareness Palant´ ır [Sarma et al. 2003] CollabVS [Dewan and Hegde 2007] FASTDash [Biehl et al. 2007] Safe-commit [Wloka et al. 2009] Syde [Hattori and Lanza 2010] SourceTree [Streeting 2010] Crystal analyzes concrete artifacts , eliminating false positives and false negatives. 11 / 17

  34. speculative analysis collaborative conflicts utility evaluation contributions References Utility of proactive collaborative conflict detection Are textual collaborative conflicts a real problem? How dangerous are safe merges? Do higher-order collaborative conflicts exist? 12 / 17

  35. speculative analysis collaborative conflicts utility evaluation contributions References Are textual collaborative conflicts a real problem? histories of 9 open-source projects: size: 26K–1.4MSLoC developers: 298 versions: 140,000 Perl5, Rails, Git, jQuery, Voldemort, MaNGOS, Gallery3, Samba, Insoshi 13 / 17

Recommend


More recommend