Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 31106
Similarity Detection in Collaborative Development of Object-Oriented Formal Specifications

Authors: Fathi Taibi, Fouad Mohammed Abbou, Md. Jahangir Alam


The complexity of today-s software systems makes collaborative development necessary to accomplish tasks. Frameworks are necessary to allow developers perform their tasks independently yet collaboratively. Similarity detection is one of the major issues to consider when developing such frameworks. It allows developers to mine existing repositories when developing their own views of a software artifact, and it is necessary for identifying the correspondences between the views to allow merging them and checking their consistency. Due to the importance of the requirements specification stage in software development, this paper proposes a framework for collaborative development of Object- Oriented formal specifications along with a similarity detection approach to support the creation, merging and consistency checking of specifications. The paper also explores the impact of using additional concepts on improving the matching results. Finally, the proposed approach is empirically evaluated.

Keywords: Formal Methods, object-oriented, Collaborative Development, Similarity detection

Digital Object Identifier (DOI):

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1197


[1] T. Apiwattanapong et al, "A Differencing Algorithm for Object-Oriented Programs", in 2004 Proc. 19th International Conference on Automated Software Engineering, pp. 2-13.
[2] M. Godfrey et al., "Using Origin Analysis to Detect Merging and Splitting of Source Code Entities", IEEE Transactions on Software Engineering, Vol. 31, No. 2, pp. 166-181, 2005.
[3] D. Gusfield, Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology, Cambridge University Press, 1999.
[4] G. Jeh et al., "SimRank: A Measure of Structure-Context Similarity", in 2002 Proc. International Conference on Knowledge Discovery and Data Mining, pp. 538-543.
[5] G. Kassel et al., "Model Checking Object-Z classes: Some Experiments with FDR", in Proc. APSEC conference, pp. 445-452.
[6] J. Madhavan et al., "Generic Schema Matching with Cupid", in 2001 Proc. 27th VLDB conference.
[7] C. Manning et al., Foundations of Statistical Natural Language Processing, MIT Press, 1999.
[8] A. Mehra et al., "A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design", in 2005 Proc. International Conference on Automated Software Engineering, pp. 204- 213.
[9] S. Melnik et al., "Similarity Flooding: A Versatile Graph Matching Algorithm and its Application to Schema Matching", in 2002 Proc. International Conference on Data Engineering, pp. 117-128.
[10] T. Mens, "A State-of-the-Art Survey on Software Merging", IEEE Transactions on Software Engineering, Vol. 28, No. 5, pp. 449-462, 2002.
[11] G. Mishne et al., "Source Code Retrieval using Conceptual Similarity", in 2004 Proc. RIAO 2004 Conference, pp. 539-554.
[12] S. Nejati et al., "Matching and Merging of Statecharts Specifications", in 2007 Proc. 29th International Conference on Software Engineering (ICSE'07).
[13] A. Boronat et al., "Formal Model Merging Applied to Class Diagram Integration", Electronic Notes in Theoretical Computer Science, Vol. 166, pp. 5-26, 2007.
[14] B. Nuseibeh et al., "Making Consistency Respectable in Software Development", Journal of Systems and Software, Vol. 58, pp. 171-180, 2001.
[15] L. Prechelt et al., "JPlag: Finding Plagiarisms Among a Set of Programs", Department of Informatics, University of Karlsruhe, Tech. Rep. No. 1, March 2000.
[16] M. Sabetzadeh et al., "Consistency Checking of Conceptual Models via Model Merging", in 2007 Proc. 15th IEEE RE conference.
[17] G. Smith, The Object-Z Specification Language, Kluwer Academic Publishers, 2000.
[18] J. Spivey, The Z notation - A Reference Manual, Prentice Hall, 2nd Edition, 1992
[19] N. Tsantalis et al., "Design Pattern Detection Using Similarity Scoring", IEEE Transactions on Software Engineering, Vol. 32, No. 11, pp. 896- 909, 2006.
[20] Z. Xing et al., "UMLDiff: An Algorithm for Object-Oriented Design Differencing", in 2005 Proc. 20th IEEE/ACM international Conference on Automated software engineering, pp. 54-65.