Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1833310.1833317acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

CASI: preventing indirect conflicts through a live visualization

Published: 02 May 2010 Publication History

Abstract

Software development is a collaborative activity that may lead to conflicts when changes are performed in parallel by several developers. Direct conflicts arise when multiple developers make changes in the same source code entity, and indirect conflicts are produced when multiple developers make changes to source code entities that depend on each other. Previous approaches of code analysis either cannot predict all kinds of indirect conflicts, since they can be caused by syntactic or semantic changes, or they produce so much information as to make them virtually useless. Workspace awareness techniques have been proposed to enhance software configuration management systems by providing developers with information about the activity that is being performed by other developers. Most workspace awareness tools detect direct conflicts while only some of them warn about potential indirect conflicts. We propose a new approach to the problem of indirect conflicts. Our tool CASI informs developers of the changes that are taking place in a software project and the source code entities influenced by them. We visualize this influence together with directionality and severity information to help developers decide whether a concrete situation represents an indirect conflict. We introduce our approach, explain its implementation, discuss its behavior on an example, and lay out several steps that we will be taking to improve it in the future.

References

[1]
Apache Subversion. http://subversion.apache.org/
[2]
I. Almeida Da Silva, P. H. Chen, C. van der Westhuizen, R. M. Ripley, and A. van der Hoek, "Lighthouse: coordination through emerging design," Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange, 2006, p. 15.
[3]
S. Bajracharya, J. Ossher, and C. Lopes, "Sourcerer: An internet-scale software repository," Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009, pp. 1--4.
[4]
Li-Te Cheng, S. Ross, and J. Patterson, "Jazzing up Eclipse with collaborative tools," Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange, 2003, pp. 45--49.
[5]
CVS - Open Source Version Control. http://www.nongnu.org/cvs/
[6]
P. Deitel and H. Deitel, Java#8482; how to program, 2006.
[7]
Eclipse. http://www.eclipse.org
[8]
R. Hegde and P. Dewan, "Connecting programming environments to support ad-hoc collaboration," 23rd IEEE/ACM International Conference on Automated Software Engineering, 2008. ASE 2008, 2008, pp. 178--187.
[9]
Java Primitive Data Types. http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html
[10]
B. Magnusson and U. Asklund, "Fine grained version control of configurations in COOP/Orm," Lecture Notes in Computer Science, 1996, pp. 31--48.
[11]
A. Sarma, G. Bortis, and A. van der Hoek, "Towards supporting awareness of indirect conflicts across software configuration management workspaces," Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, 2007, pp. 94--103.
[12]
T. Schümmer and J. M. Haake, "Supporting distributed software development by modes of collaboration," Proceedings of the seventh conference on European Conference on Computer Supported Cooperative Work, 2001, p. 98.
[13]
D. Shao, S. Khurshid, and D. E. Perry, "Evaluation of semantic interference detection in parallel changes: an exploratory experiment," Compare, vol. 4, p. 5.
[14]
M. A. Storey, D. Čubranić, and D. M. German, "On the use of visualization to support awareness of human activities in software development: a survey and a framework," Proceedings of the 2005 ACM symposium on Software visualization, 2005, pp. 193--202.
[15]
C. van der Westhuizen, P. H. Chen, and A. van der Hoek, "Emerging design: new roles and uses for abstraction," Proceedings of the 2006 international workshop on Role of abstraction in software engineering, 2006, p. 28.
[16]
M. Weiser, "Program slicing," Proceedings of the 5th international conference on Software engineering, 1981, pp. 439--449.

Cited By

View all
  • (2023)Automatic prediction of developers’ resolutions for software merge conflictsJournal of Systems and Software10.1016/j.jss.2023.111836206(111836)Online publication date: Dec-2023
  • (2021)A comprehensive framework and tool for supporting progressive learning of software development in an academic learning environmentComputer Applications in Engineering Education10.1002/cae.2246030:2(362-383)Online publication date: 20-Sep-2021
  • (2020)Planning for untanglingProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380344(801-811)Online publication date: 27-Jun-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CHASE '10: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
May 2010
127 pages
ISBN:9781605589664
DOI:10.1145/1833310
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 May 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. conflicts
  2. parallel work
  3. software configuration management
  4. software visualization
  5. workspace awareness

Qualifiers

  • Research-article

Conference

ICSE '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 47 of 70 submissions, 67%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Automatic prediction of developers’ resolutions for software merge conflictsJournal of Systems and Software10.1016/j.jss.2023.111836206(111836)Online publication date: Dec-2023
  • (2021)A comprehensive framework and tool for supporting progressive learning of software development in an academic learning environmentComputer Applications in Engineering Education10.1002/cae.2246030:2(362-383)Online publication date: 20-Sep-2021
  • (2020)Planning for untanglingProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380344(801-811)Online publication date: 27-Jun-2020
  • (2020)A Visualization Tool for Relationship between Source Code and Parse Tree Using VR2020 9th International Congress on Advanced Applied Informatics (IIAI-AAI)10.1109/IIAI-AAI50415.2020.00047(203-208)Online publication date: Sep-2020
  • (2020)Lifting the Curtain on Merge Conflict Resolution: A Sensemaking Perspective2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME46990.2020.00057(534-545)Online publication date: Sep-2020
  • (2019)An empirical investigation into merge conflicts and their effect on software qualityEmpirical Software Engineering10.1007/s10664-019-09735-4Online publication date: 5-Sep-2019
  • (2019)The life-cycle of merge conflicts: processes, barriers, and strategiesEmpirical Software Engineering10.1007/s10664-018-9674-xOnline publication date: 5-Feb-2019
  • (2017)Supporting collaborative software development in academic learning environment: A collaborative pair and quadruple programming based approach2017 Tenth International Conference on Contemporary Computing (IC3)10.1109/IC3.2017.8284330(1-7)Online publication date: Aug-2017
  • (2017)An empirical examination of the relationship between code smells and merge conflictsProceedings of the 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1109/ESEM.2017.12(58-67)Online publication date: 9-Nov-2017
  • (2017)Supporting collaborative software development over GitHubSoftware—Practice & Experience10.1002/spe.246847:10(1393-1416)Online publication date: 1-Oct-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media