Supporting collaborative software development over GitHub

被引:7
作者
Arora, Ritu [1 ]
Goel, Sanjay [2 ]
Mittal, Ravi Kant [3 ]
机构
[1] Birla Inst Technol & Sci, Pilani, Rajasthan, India
[2] Jaypee Inst Informat Technol, Noida, Uttar Pradesh, India
[3] KR Mangalam Univ, Gurgaon, Haryana, India
关键词
collaborative software development; computer-supported collaborative work; software configuration management systems; workspace awareness; AWARENESS;
D O I
10.1002/spe.2468
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
GitHub is a web-based, distributed Software Configuration Management (SCM) system build over Git, which enables developers to host shared repositories over the Internet and access them from any location, at any time. It helps developers to effectively orchestrate their activities over shared codebases by capturing direct conflicts arising because of concurrent editing on the same shared artifact. However, SCM systems have limited support for capturing inconsistencies arising because of indirect conflicts which arise because of software dependency relationships that exist between related artifacts, and lead to the introduction of syntactic and semantic inconsistencies in codebases. In this paper, we propose a novel collaborative software development (CSD) tool named, Collaboration Over GitHub (COG), that provides real-time information about arising direct and indirect conflicts among collaborative developers, working over GitHub, through a collection of workspace awareness widgets. These widgets provide people-centric information about direct and indirect collaborators over GitHub. Resource-centric information about current and conflicting activities of real-time collaborators is captured and propagated to others, based on the dependency relationships between software artifacts being manipulated by them. COG uses dependency graphs to store and process dependency relationship information which is required to ascertain information about indirect conflicts. Notably, the most important novel contribution of COG is that it not only captures indirect conflicts that lead to the introduction of syntactic inconsistencies but also changes that lead to semantic inconsistencies in the codebase. It also does so at finer levels of granularity, with changes to individual method's body being traced, thereby capturing statement-level conflicts as well. Copyright (c) 2016 John Wiley & Sons, Ltd.
引用
收藏
页码:1393 / 1416
页数:24
相关论文
共 54 条
  • [1] [Anonymous], P EXTR PROGR EX
  • [2] Arora R, 2015, INT CONF CONTEMP, P509, DOI 10.1109/IC3.2015.7346735
  • [3] Learning to Write Programs with Others: Collaborative Quadruple Programming
    Arora, Ritu
    Goel, Sanjay
    [J]. 2012 IEEE 25TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2012, : 32 - 41
  • [4] Begel Andrew., 2010, P 32 ACMIEEE INT C S, P125
  • [5] Biehl JT, 2007, CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, VOLS 1 AND 2, P1313
  • [6] Blincoe K., 2012, Proc. Conf. Computer Supported Cooperative Work (CSCW 12), P1351
  • [7] Borici A., 2012, 2012 5th International Workshop on Cooperative and Human Aspects of Software Engineering, P5, DOI 10.1109/CHASE.2012.6223024
  • [8] Early Detection of Collaboration Conflicts and Risks
    Brun, Yuriy
    Holmes, Reid
    Ernst, Michael D.
    Notkin, David
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (10) : 1358 - 1375
  • [9] Brun Yuriy., 2011, Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE '11, P444, DOI 10.1145/2025113.2025187
  • [10] The Effects of Continuous Awareness on Distributed Software Development
    Chen, Cong
    Zhang, Kang
    [J]. 2014 IEEE 9TH INTERNATIONAL CONFERENCE ON GLOBAL SOFTWARE ENGINEERING (ICGSE), 2014, : 56 - 64