Software Evolution Based Sequence Diagrams Merging

The need to merge software artifacts seems inherent to modern software development. Distribution of development over several teams and breaking tasks into smaller, more manageable pieces are an effective means to deal with the kind of complexity. In each case, the separately developed artifacts need to be assembled as efficiently as possible into a consistent whole in which the parts still function as described. In addition, earlier changes are introduced into the life cycle and easier is their management by designers. Interaction-based specifications such as UML sequence diagrams have been found effective in this regard. As a result, sequence diagrams can be used not only for capturing system behaviors but also for merging changes in order to create a new version. The objective of this paper is to suggest a new approach to deal with the problem of software merging at the level of sequence diagrams by using the concept of dependence analysis that captures, formally, all mapping, and differences between elements of sequence diagrams and serves as a key concept to create a new version of sequence diagram.




References:
[1] T. Mens, “A State-of-the-Art Survey on Software Merging”, IEEE
Trans. on Software Engineering, Vol 28 No 5, pp. 449–462.
[2] P. Brosch, G. Kappel, P. Langer, M. Seidl, K. Wieland, and M.
Wimmer, “An Introduction to Model Versioning”, Proc. Of the 12th
international conference on Formal Methods for the Design of
Computer, Communication, and Software Systems, SFM 2012, Springer-
Verlag Berlin Heidelberg, pp. 336–398.
[3] H. Liang, Z. Diskin, J. Dingel, and E. Posse, “A General Approach for
Scenario Integration”,Proc. ofthe11th International Conference on
Model Driven Engineering Languages and Systems, MoDELS’08, 2008.
[4] E. Ogheneovo, “On the Relationship between Software Complexity and
Maintenance Costs”. Journal of Computer and Communications, vol2,
pp. 1-16, 2014.
[5] D. Ohst, M. Welle, and U. Kelter, “Differences between versions of
UML diagrams”, Proc. of ESEC/FSE-11, pages 227–236, New York,
NY, USA.ACM Press. [6] S. Segura, R. M. Hierons, D. Benavides, and A. Ruiz-Cortes,
“Automated metamorphic testing on the analyses of feature models”.
Information and Software Technology, vol53, No 3, pp.245–258, 2011.
[7] M. Sabetzadeh, S. Nejati, S. Liaskos, S. M. Easterbrook, and M.
Chechik, “Consistency checking of conceptual models via model
merging”. Proc. of Requirement Engineering, RE 2007.IEEE,pp. 221-
230, 2007.
[8] K. Letkeman, “Comparing and Merging UML Models in IBM Rational
Software Architect”, IBM, Aug. 2005.
[9] A. Mehra, J. Grundy, and J. Hosking, “A Generic Approach to
Supporting Diagram Differencing and Merging for Collaborative
Design”, Proc. of the 20th IEEE/ACM International Conference on
Automated Software Engineering, ASE’05, pages 204–213, 2005.
[10] J.A. Stafford, A. L. Wolf, and M. Caporuscio “The Application of
Dependence Analysis to Software Architecture Descriptions”,
3rdInternational School on Formal Methods for the Design of
Computer, Communication and Software Systems: Software
Architectures, SFM 2003, Bertinoro, Italy, September 22-27, pp. 52-62,
2003.
[11] T. Kim, Y. Song, and L. Chung, “Software architecture analysis: a
dynamic slicing approach”, International Journal of Computer &
Information Science, vol 1, no 2, pp. 91-103, 2000.
[12] J. Zhao, “Using dependence analysis to support software architecture
understanding”, CoRR, vol. cs.SE/0105009, 2001.
[13] B. Li, “Managing Dependencies in Component-Based Systems Based on
Matrix Model” Proc. of Net. Object. Days, pp. 22-25, 2003.
[14] B. Li, Y. Zhou, Y. Wang, and J. Mo, “Matrix-based component
dependence representation and its applications in software quality
assurance” SIGPLAN Notices, vol 40, no 11, pp. 29–36, 2005.
[15] J. Lalchandani, “Static Slicing of UML Architectural Models”, Journal
of Object Technology, vol 8, no 1, pp. 159-188, 2009.
[16] S. Kumar, D. P. Mohapatra, “Test Case Generation from Behavioral
UML Models”, International Journal of Computer Applications, vol 6,
no8, September 2010.
[17] Y. Wang, J. DeWitt, and J. Cai, “X -Diff: An Effective Change
Detection Algorithm for XML Documents”, Proc. of19th Intern.
Conference on Data Engineering, India, pp. 519-530.
[18] J. Raymond, E. Gardiner, and P. Willett, “RASCAL: Calculation of
Graph Similarity using Maximum Common Edge Subgraphs”, The
Computer Journal, vol45, no 6, pp. 631-644, 2002.
[19] P. Samuel, R. Mall, “Slicing-Based Test Case Generation from UML
Activity Diagrams”, ACM SIGSOFT Software Engineering Notes, Vol
34 No 6, November 2009.