skip to main content
10.1145/2245276.2245417acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Dependency-based automatic locking for semantic conflict prevention in real-time collaborative programming

Published:26 March 2012Publication History

ABSTRACT

Real-time collaborative programming environments support multiple programmers to edit the same source code document at the same time over communication networks. One key challenge in supporting real-time collaborative programming is semantic conflicts, which may occur when multiple programmers are performing concurrent and incompatible work in interdependent programming segments. Semantic conflicts may result in program errors that are difficult and costly to detect and resolve. In this paper, we present in-depth analyses on representative programming scenarios for understanding the nature and general conditions for semantic conflicts, and propose a Dependency-based Automatic Locking (DAL) approach for preventing semantic conflicts. The novelty of the approach is its capabilities of supporting automatic fine-grained locking on interdependent programming segments and providing flexible locking to balance conflict prevention and programmer convenience in real-time collaborative programming environments. The DAL approach has been implemented in the CoEclipse prototype for validating its feasibility.

References

  1. Bernstein, P. A., Hadzilacos, V., and Goodman, N. Concurrency Control and Recovery in Database Systems. Addison-Wesley (1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Brooks, F. P. The Mythical Man-Month (Anniversary Ed.). Addison-Wesley (1995). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cockburn, A. and Williams, L. The costs and benefits of pair programming. In Extreme Programming Examined, Addison-Wesley (2001), 223--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dewan, P. and Riedl, J. Toward computer-supported concurrent software engineering. Computer 26, 1 (1993), 17--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ellis, C. A., Gibbs, S. J., and Rein, G. Groupware: some issues and experiences. Commun. ACM 34, 1 (1991), 39--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ho, C., Raha, S., Gehringer, E., and Williams, L. Sangam: a distributed pair programming plug-in for Eclipse. In Proc. of OOPSLA Workshop on Eclipse Technology Exchange (2004), 73--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kraut, R. E. and Streeter, L. A. Coordination in software development. Commun. ACM 38, 3 (1995), 69--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Malone, T. W. and Crowston, K. The interdisciplinary study of coordination. ACM Comput. Surv. 26, 1 (1994), 87--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Nosek, J. T. The case for collaborative programming. Commun. ACM 41, 3 (1998), 105--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Perry, D., Siy, H., and Votta, L. Parallel changes in large-scale software development: an observational case study. ACM Trans. Softw. Eng. Methodol. 10, 3 (2001), 308--337. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Reeves, M. and Zhu, J. Moomba - a collaborative environment for supporting distributed extreme programming in global software development. Extreme Programming and Agile Processes, LNCS, Springer, 3092 (2004), 38--50.Google ScholarGoogle Scholar
  12. Salinger, S., Oezbek, C., Beecher, K., and Schenk, J. Saros: an eclipse plug-in for distributed party programming. In Proc. of ICSE Workshop on Cooperative and Human Aspects of Softw. Eng. (2010), 48--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Sengupta, B., Chandra, S., and Sinha, V. A research agenda for distributed software development. In Proc. of 28th Intl. Conf. on Softw. Eng. (2006), 731--740. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Shen, H. and Sun, C. Recipe: a web-based environment for supporting real-time collaborative programming. In Proc. of Intl. Conf. on Networks, Parallel and Distributed Processing (2002), 283--288.Google ScholarGoogle Scholar
  15. Sun, C. Optional and responsive fine-grain locking in Internet-based collaborative systems. IEEE Trans. Parallel Distrib. Syst. 13, 9 (2002), 994--1008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Sun, C., Jia, X., Zhang, Y., Yang, Y., and Chen, D. Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Trans. Comput.-Hum. Interact. 5, 1 (1998), 63--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Tichy, W. F. Tools for software configuration management. In Proc. of the Intl. Workshop on Software Version and Configuration Control (1988), 1--20.Google ScholarGoogle Scholar
  18. Whitehead, J. Collaboration in software engineering: a roadmap. In Future of Softw. Eng. (2007), 214--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. Strengthening the case for pair programming. IEEE Softw. 17, 4 (2000), 19--25. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dependency-based automatic locking for semantic conflict prevention in real-time collaborative programming

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              SAC '12: Proceedings of the 27th Annual ACM Symposium on Applied Computing
              March 2012
              2179 pages
              ISBN:9781450308571
              DOI:10.1145/2245276
              • Conference Chairs:
              • Sascha Ossowski,
              • Paola Lecca

              Copyright © 2012 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 26 March 2012

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              SAC '12 Paper Acceptance Rate270of1,056submissions,26%Overall Acceptance Rate1,650of6,669submissions,25%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader