Software Architectures Evolution based Merging
Abstract
During the last two decades the software evolution community has intensively tackled the software merging issue. The main objective is to compare and merge, in a consistent way, different versions of software in order to obtain a new version. Well established approaches, mainly based on the dependence analysis techniques on the source code, have been used to bring suitable solutions. However the fact that we compare and merge a lot of lines of code is very expensive. In this paper we overcome this problem by operating at a high level of abstraction. The objective is to investigate the software merging at the level of software architecture, which is less expensive than merging source code. The purpose is to compare and merge software architectures instead of source code. The proposed approach, based on dependence analysis techniques, is illustrated through an appropriate case study.References
Tom Mens (2008). “Introduction and Roadmap: History and Challenges of Software Evolution”. Eds Tom Mens • Serge Demeyer, Springer-Verlag Berlin Heidelberg, pp. 1-14.
T. Mens (2002), “A State-of-the-Art Survey on Software Merging”, IEEE Transactions on Software Engineering, vol 28, no 5, pp. 449–462.
D. Binkley, S. Horwitz, and T. Reps (1995). “Program Integration for Languages with Procedure Calls”, ACM Transactions on Software Engineering and Methodology, vol 4, no 1, pp. 3-35.
T. Khammaci, and Z. Bouras (2002). “Versions of Program Integration”, Handbook of Software Engineering and Knowledge Engineering, vol 2, World Scientific Publishing: Singapore, pp. 465-486 .
T. Kim, Y. Song, and L. Chung (2000). “Software architecture analysis: a dynamic slicing approach”, International Journal of Computer & Information Science, vol 1, no 2, pp. 91-103, 2000.
S. Horwitz, and T. Reps, “The use of dependence graph in software engineering”, Proceedings of the 14th International on software engineering, Melbourne, Australia, 1992, pp. 392-411.
T. Apiwattanapong, A. Orso, and M. Harrold (2004), “A Differencing Algorithm for Object-oriented Programs”, Automated Software Engineering, vol. 14, no 1, pp. 3-36.
S. Raghavan, R. Rohana, D. Leon, A. Podgurski, and V. Augustine (2004). “A semantic-graph differencing tool for studying changes in large code bases” Proceedings of 20th IEEE International Conference on Software Maintenance, pp. 188-197.
Z. Xing, and E. Stroulia (2005), “UMLDiff: An Algorithm for Object–Oriented Design Differencing”, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pp. 54-65.
M. Abi-Antoun, J. Aldrich, N. Nahas, B. Schmerl and D. Garlan (2006). “Differencing and Merging of Architectural Views”, proceedings of the 21st IEEE International Conference on Automated Software Engineering (ASE'06), pp. 47-58.
Z. Bouras, M. Maouche (2015). "Merging software architectures with conflicts detections”, accepted paper in International Journal of Information Systems and Change Management, Eds. Inderscience Publisher, Vol 7, No 3, pp. 242-260.
K. Kobayashi, M. Kamimura; K. Yano; and K. Kato (2013). “SArF map: Visualizing software architecture from feature and layer viewpoints”, in Proceedings of International Conference on Program Comprehension (ICPC’2013), San Fransisco USA, 2013, pp. 43 – 52.
B. Westfechtel (2010). “A Formal Approach to Three-Way Merging of EMF Models”, Proceedings of the 1st International Workshop on Model Comparison in Practice, IWMCP ’10, Malaga, Spain, pp. 31-41.
P. Brosch, M. Seidl, M. Wimmer and G. Kappel (2012). “Conflict Visualization for Evolving UML Models”, Journal of Object Technology, vol 11, no 3, pp. 1–30.
P. Langer, K. Wieland, M. Wimmer, and J. Cabot (2011), “From UML Profiles to EMF Profiles and Beyond”, eds. TOOLS. LNCS, vol. 6705, Springer, Heidelberg, pp. 52–67.
F. Rodrigues, and S. Barbosa(2006), “Component Identification Through Program. Slicing”, Proceedings of the International Workshop on Formal Aspects of Component Software (FACS 2005), Electronic Notes in Theoretical Computer Science, pp. 291-304.
J. Guo, Y. Liao, and R. Pamula (2006). “Static Analysis Based Software Architecture Recovery”, Computational Science and Its Applications Lecture Notes in Computer Science, 3982, pp. 974-983.
B. Li, Y. Zhou, Y. Wang, and J. Mo (2005). “Matrix-based component dependence representation and its applications in software quality assurance” SIGPLAN Notices, vol 40, no 11, pp. 29–36.
J. Lalchandani (2009). “Static Slicing of UML Architectural Models”, Journal of Object Technology, vol 8, no 1, pp. 159-188.
J. Zhao (2000). “A Slicing-Based Approach to Extracting Reusable Software Architectures," Proceedings of the. 4th European Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, Zurich, Switzerland . pp.215-223.
Downloads
Published
How to Cite
Issue
Section
License
I assign to Informatica, An International Journal of Computing and Informatics ("Journal") the copyright in the manuscript identified above and any additional material (figures, tables, illustrations, software or other information intended for publication) submitted as part of or as a supplement to the manuscript ("Paper") in all forms and media throughout the world, in all languages, for the full term of copyright, effective when and if the article is accepted for publication. This transfer includes the right to reproduce and/or to distribute the Paper to other journals or digital libraries in electronic and online forms and systems.
I understand that I retain the rights to use the pre-prints, off-prints, accepted manuscript and published journal Paper for personal use, scholarly purposes and internal institutional use.
In certain cases, I can ask for retaining the publishing rights of the Paper. The Journal can permit or deny the request for publishing rights, to which I fully agree.
I declare that the submitted Paper is original, has been written by the stated authors and has not been published elsewhere nor is currently being considered for publication by any other journal and will not be submitted for such review while under review by this Journal. The Paper contains no material that violates proprietary rights of any other person or entity. I have obtained written permission from copyright owners for any excerpts from copyrighted works that are included and have credited the sources in my article. I have informed the co-author(s) of the terms of this publishing agreement.
Copyright © Slovenian Society Informatika