ABSTRACT Specifying software requirements is an important, complicated and error prone task. It involves the collaboration of several people specifying requirements that are gathered through several stakeholders. During this process, developers working in parallel introduce and make modifications to requirements until reaching a specification that satisfies the stakeholders’ requirements. Merge conflicts are inevitable when integrating the modifications made by different developers to a shared specification. Thus, detecting and resolving these conflicts is critical to ensure a consistent resulting specification. A conflicts detection approach for merging Object-Oriented formal specifications is proposed in this paper. Conflicts are classified, formally defined and detected based on the results of a proposed differencing algorithm. The proposed approach has been empirically evaluated, and the experimental results are discussed in this paper.
Cite this paper
nullF. Taibi, F. Abbou and M. Alam, "A Conflicts Detection Approach for Merging Formal Specification Views," Journal of Software Engineering and Applications, Vol. 3 No. 5, 2010, pp. 460-471. doi: 10.4236/jsea.2010.35052.
 P. Sriplakich, X. Blanc and M. P. Gervais, “Supporting Collaborative Development in an Open MDA Envir- onment,” Proceedings of 22nd IEEE International Con- ference on Software Maintenance, Los Alamitos, 2006, pp. 244-253.
A. Boronat, J. A. Carsi, I. Ramos and P. Letelier, “Formal Model Merging Applied to Class Diagram Integration,” Electronic Notes in Theoretical Computer Science, Vol. 166, No. 1, 2007, pp. 5-26.
C. L. Ignat and M. C. Norrie, “Flexible Definition and Resolution of Conflicts through Multi-level Editing,” Proceedings of IEEE 2nd International Conference on Collaborative Computing, Atlanta, 2006, pp. 10-19.
G. Kontonya and I. Sommerville, “Requirements Engin- eering Process and Techniques,” John Wiley, UK, 2002.
M. G. Hinchey, “Industrial-Strength Formal Methods in Practice,” Springer, 2008.
G. Smith, “The Object-Z Specification Language,” Klu- wer Academic Publishers, 2000.
A. Mehra, J. Grundy and J. A Hosking, “Generic App- roach to Supporting Diagram Differencing and Merging for Collaborative Design,” Proceedings of ACM/IEEE International Conference on Automated Software Engi- neering, Long Beach, 2005, pp 204-213.
S. Fortsch and B. Westfechtel, “Differencing and Merging of Software Diagrams-State of the Art and Challenges,” Proceedings of International Conference on Software and Data Technologies, Barcelona, 2007, pp. 90-99.
K. Fogel and M. Bar, “Open Source Development with CVS,” 3rd Edition, Paraglyph Press, 2003.
D. E. Perry, H. P. Siy and L. G. Votta, “Parallel Changes in Large Scale Software Development: An Observational Case Study,” Proceedings of International Conference on Software Engineering, Kyoto, 1998, pp. 251-260.
T. A Mens, “State of the Art Survey on Software Merging,” IEEE Transactions on Software Engineering, Vol. 28, No. 5, 2002, pp. 449-462.
F. Taibi, F. M. Abbou and M. D. Alam, “A Matching Approach for Object-Oriented Formal Specifications,” Journal of Object Technology, Vol. 7, No. 8, 2008, pp. 139-153.
S. Ronnau, C. Pauli and U. M. Borghoff, “Merging Chan- ges in XML Documents Using Reliable Context Finger- prints,” Proceedings of 8th ACM symposium on Document Engineering, Sao Paulo, 2008, pp. 52-61.
M. Sabetzadeh, S. Nejati, S. Liaskos, S. Easterbrook and M. Chechik, “Consistency Checking of Conceptual Models Via Model Merging,” Proceedings of 15th IEEE International Requirements Engineering Conference, New Delhi, 2007, pp. 221-230.
X. Blanc, I. Mounier, A. Mougenot and T. Mens, “Detec- ting Model Inconsistency through Operation-Based Model Construction,” Proceedings of International Conference on Software Engineering, Leipzig, 2008, pp. 511-519.
Z. Xing and E. Stroulia, “Differencing logical UML models,” Journal of Automated Software Engineering, Vol. 14, No. 2, 2007, pp.215-259.
Y. Wang, “X-Diff: An Efficient Change Detection Algorithm for XML Documents,” Proceeding of 19th International Conference on Data Engineering, Bangalore, 2003, pp. 519-530.
A. Marian, “Detecting Changes in XML Documents,” Proceedings of 18th International Conference on Data Engineering, San Jose, 2002, pp. 41-52.
P. Apiwattanapong, N. Orso and M. J. Harrold, “A Diff- erencing Algorithm for Object-Oriented Programs,” Proc- eedings of 19th International Conference on Automated Software Engineering, Linz, 2007, pp. 2-13.
U. Kelter, J. Wehren and J. Niere, “A Generic Difference Algorithm for UML Models,” Proceedings of Software Engineering Conference, Brisbane, 2005, pp. 105-116.
T. Oda and M. Saeki, “Generative Technique for Version Control Systems for Software Diagrams,” Proceedings of International Conference on Software Maintenance, Budapest, 2005, pp. 515-524.