ABSTRACT
In recent years, models are increasingly used throughout the entire lifecycle in software engineering projects. In effect, the need for collaboration and for management of change on these models emerged. Traditionally, Software Configuration Management (SCM) systems are employed to facilitate collaboration on software engineering artifacts and to control change to these artifacts. For scalability and to support offline operation, most of these systems employ optimistic concurrency control and therefore require methods to detect concurrent change---also known as conflict detection. However, many researchers have shown that existing approaches for SCM systems do not work well on graph-like models, since they are geared towards textual artifacts and do not take the graph structure of models into account. The approaches for conflict detection in these systems show many false positives, since they require a merge every time the same configuration item --- in this case the same file --- is changed. In this paper, we propose operation-based conflict detection, which detects conflicts directly on the operations that change the model. We compare operation-based conflict detection to file-based conflict detection in a multi-case study and show that operation-based conflict detection results in less conflicts and therefore requires fewer merges.
- K. Altmanninger. Models in conflict - towards a semantically enhanced version control system for models. In Models in Software Engineering, pages 293--304. ACM Press, 2008. Google ScholarDigital Library
- C. Bartelt. Consistence preserving model merge in collaborative development processes. In CVSM '08: Proceedings of the 2008 international workshop on Comparison and versioning of software models, pages 13--18, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- P. Brosch, M. Seidl, K. Wieland, M. Wimmer, and P. Langer. The operation recorder: specifying model refactorings by-example. In Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, pages 791--792, Orlando, Florida, USA, 2009. ACM. Google ScholarDigital Library
- Chair for Applied Software Engineering. Dolli2 Project Webpage. https://teambruegge.informatik.tu-muenchen.de/groups/dolli2/, 2009.Google Scholar
- R. Conradi and B. Westfechtel. Version models for software configuration management. ACM Comput. Surv., 30(2):232--282, 1998. Google ScholarDigital Library
- R. Conradi and B. Westfechtel. Version models for software configuration management. ACM Comput. Surv., 30(2):232--282, 1998. Google ScholarDigital Library
- D. Dig, K. Manzoor, R. Johnson, and T. N. Nguyen. Refactoring-aware configuration management for object-oriented programs. In ICSE '07: Proceedings of the 29th international conference on Software Engineering, pages 427--436, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- Eclipse. Eclipse Modeling Framework. http://www.eclipse.org/emf, 2009. Google ScholarDigital Library
- Free Software Foundation (FSF). The concurrent versions system. http://www.nongnu.org/cvs/, Oct. 2006.Google Scholar
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional, 1995. Google ScholarDigital Library
- M. Koegel. Towards software configuration management for unified models. In ICSE '08, CVSM '08: Proceedings of the 2008 international workshop on Comparison and versioning of software models, pages 19--24, New York, NY, USA, 2008. Technische Universität München, ACM. Google ScholarDigital Library
- M. Koegel and J. Helming. UNICASE. http://unicase.org, 2009.Google Scholar
- M. Koegel, J. Helming, and S. Seyboth. Operation-based conflict detection and resolution. In CVSM '09: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models, pages 43--48, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarDigital Library
- E. Lippe and N. van Oosterom. Operation-based merging. In SDE 5: Proceedings of the fifth ACM SIGSOFT symposium on Software development environments, pages 78--87, New York, NY, USA, 1992. ACM Press. Google ScholarDigital Library
- T. Mens. A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng., 28(5):449--462, 2002. Google ScholarDigital Library
- T. Mens, G. Taentzer, and O. Runge. Detecting structural refactoring conflicts using critical pair analysis. Electronic Notes in Theoretical Computer Science, 127(3):113--128, Apr. 2005.Google ScholarDigital Library
- T. N. Nguyen, E. V. Munson, J. T. Boyland, and C. Thao. An infrastructure for development of object-oriented, multi-level configuration management services. In ICSE '05: Proceedings of the 27th international conference on Software engineering, pages 215--224, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- T. ODA and M. SAEKI. Meta-Modeling Based Version Control System for Software Diagrams. IEICE Trans Inf Syst, E89-D(4):1390--1402, 2006. Google ScholarDigital Library
- D. Ohst. A fine-grained version and configuration model in analysis and design. In ICSM '02: Proceedings of the International Conference on Software Maintenance (ICSM'02), page 521, Washington, DC, USA, 2002. IEEE Computer Society. Google ScholarDigital Library
- H. Oliveira, L. Murta, and C. Werner. Odyssey-VCS: a flexible version control system for UML model elements. In Proceedings of the 12th international workshop on Software configuration management, pages 1--16, Lisbon, Portugal, 2005. ACM. Google ScholarDigital Library
- J. Rho and C. Wu. An efficient version model of software diagrams. In APSEC '98: Proceedings of the Fifth Asia Pacific Software Engineering Conference, page 236, Washington, DC, USA, 1998. IEEE Computer Society. Google ScholarDigital Library
- W. F. Tichy. Design, implementation, and evaluation of a revision control system. In ICSE '82: Proceedings of the 6th international conference on Software engineering, pages 58--67, Los Alamitos, CA, USA, 1982. IEEE Computer Society Press. Google ScholarDigital Library
- Tigris.org. Subversion version control system. http://subversion.tigris.org/, Oct. 2009.Google Scholar
Index Terms
- Operation-based conflict detection
Recommendations
Table-driven detection and resolution of operation-based merge conflicts with mirador
ECMFA'11: Proceedings of the 7th European conference on Modelling foundations and applicationsDecision tables are a useful technique for implementing complex decision logic, and a concise communication device. Model merging is a process that can greatly benefit from the flexibility of control, rapidity of change, and understandability of purpose ...
Lazy Versus Eager Conflict Detection in Software Transactional Memory: A Real-Time Schedulability Perspective
Transactional memory is a mechanism of controlling access to shared resources in concurrent programs. Though originally implemented in hardware, software implementations of transactional memory are now available as library extensions in all major ...
Making software integration really continuous
FASE'12: Proceedings of the 15th international conference on Fundamental Approaches to Software EngineeringThe earlier merge conflicts are detected the easier it is to resolve them. A recommended practice is for developers to frequently integrate so that they detect conflicts earlier. However, manual integrations are cumbersome and disrupt programming flow, ...
Comments