Similarity Detection in Collaborative Development of Object-Oriented Formal Specifications

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 ObjectOriented 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—Collaborative Development, Formal methods, Object-Oriented, Similarity detection

[1]  Alessandro Orso,et al.  A differencing algorithm for object-oriented programs , 2004 .

[2]  A. S. Thoke,et al.  International Journal of Electrical and Computer Engineering 3:16 2008 Fault Classification of Double Circuit Transmission Line Using Artificial Neural Network , 2022 .

[3]  Erhard Rahm,et al.  Generic Schema Matching with Cupid , 2001, VLDB.

[4]  Dan Gusfield Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[5]  Mehrdad Sabetzadeh,et al.  Consistency Checking of Conceptual Models via Model Merging , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[6]  Eleni Stroulia,et al.  UMLDiff: an algorithm for object-oriented design differencing , 2005, ASE.

[7]  Graeme Smith,et al.  Model checking Object-Z classes: Some experiments with FDR , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[8]  Maxime Crochemore,et al.  Algorithms on strings , 2007 .

[9]  Artur Boronat,et al.  Formal Model Merging Applied to Class Diagram Integration , 2006, EVOL.

[10]  Lutz Prechelt,et al.  JPlag: Finding plagiarisms among a set of programs , 2000 .

[11]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[12]  Hinrich Schütze,et al.  Book Reviews: Foundations of Statistical Natural Language Processing , 1999, CL.

[13]  Gilad Mishne,et al.  Source Code Retrieval using Conceptual Similarity , 2004, RIAO.

[14]  Michael W. Godfrey,et al.  Using origin analysis to detect merging and splitting of source code entities , 2005, IEEE Transactions on Software Engineering.

[15]  John C. Grundy,et al.  A generic approach to supporting diagram differencing and merging for collaborative design , 2005, ASE '05.

[16]  Jennifer Widom,et al.  SimRank: a measure of structural-context similarity , 2002, KDD.

[17]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Statecharts Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07).

[18]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[19]  Alexander Chatzigeorgiou,et al.  Design Pattern Detection Using Similarity Scoring , 2006, IEEE Transactions on Software Engineering.

[20]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[21]  Bashar Nuseibeh,et al.  - 1-Making Inconsistency Respectable in Software Development , 1999 .

[22]  Erhard Rahm,et al.  Similarity flooding: a versatile graph matching algorithm and its application to schema matching , 2002, Proceedings 18th International Conference on Data Engineering.