Open Access Open Access  Restricted Access Subscription or Fee Access

Visualizing the Evolution of Subsystems

Maen M. Hammad(1*), Fatima Abu-Zaitoun(2)

(1) Department of Software Engineering, The Hahemite University Zarqa, Jordan
(2) Department of Software Engineering, The Hahemite University Zarqa, Jordan
(*) Corresponding author


DOI: https://doi.org/10.15866/irecos.v10i8.7225

Abstract


This paper presents a visualization approach to locate and visualize changes that have occurred to Java subsystems during software evolution. The proposed visualizations help maintainers to quickly identify what are the evolved elements between two code versions for subsystems. Only evolved elements are visualized to minimize the complexity of the views and to make them easy to understand. The approach identifies changes and visualizes them on both UML class and package diagrams.  The visualized evolved elements include packages, classes, attribute, methods, and relationships. A light weight approach is also presented to automatically identify the evolved elements of subsystems from two code versions.
Copyright © 2015 Praise Worthy Prize - All rights reserved.

Keywords


Software Visualization; Software Maintenance and Evolution; UML Diagrams

Full Text:

PDF


References


M. D'Ambros and M. Lanza, “Visual software evolution reconstruction,” Journal of Software Maintenance and Evolution: Research and Practice, vol. 21, no. 3, 2009, pp. 217-232.
http://dx.doi.org/10.1002/smr.407

R. Wettel and M. Lanza, “Visual exploration of large-scale system evolution,” Proc. 15th IEEE Working Conference on Reverse Engineering (WCRE'08) 2008, pp. 219-228.
http://dx.doi.org/10.1109/wcre.2008.55

R.G. Kula, et al., “Visualizing the Evolution of Systems and their Library Dependencies,” Proc. Second IEEE Working Conference on Software Visualization (VISSOFT'014) 2014, pp. 127-136.
http://dx.doi.org/10.1109/vissoft.2014.29

R. Lutz and S. Diehl, “Using visual dataflow programming for interactive model comparison,” Proc. 29th ACM/IEEE international conference on Automated software engineering (ASE'14), ACM, 2014, pp. 653-664.
http://dx.doi.org/10.1145/2642937.2642984

D. Ohst, et al., “Difference tools for analysis and design documents,” Proc. IEEE International Conference on Software Maintenance (ICSM'03), 2003, pp. 13-22.
http://dx.doi.org/10.1109/icsm.2003.1235402

S. Rufiange and G. Melancon, “AniMatrix: A Matrix-Based Visualization of Software Evolution,” Proc. Second IEEE Working Conference on Software Visualization (VISSOFT'14), 2014, pp. 137-146.
http://dx.doi.org/10.1109/vissoft.2014.30

P. Caserta and O. Zendra, “Visualization of the static aspects of software: a survey,” IEEE transactions on visualization and computer graphics, vol. 17, no. 7, 2011, pp. 913-933.
http://dx.doi.org/10.1109/tvcg.2010.110

M. Lanza, “The evolution matrix: Recovering software evolution using software visualization techniques,” Proc. 4th ACM International Workshop on Principles of Software Evolution (IWPSE'01), 2001, pp. 37-42.
http://dx.doi.org/10.1145/602461.602467

A. Gonzalez, Theron, R., Telea, A., Garcia, F. J., “Combined visualization of structural and metric information for software evolution analysis,” Proc. joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops, 2009, pp. 25-30.
http://dx.doi.org/10.1145/1595808.1595815

M. Pinzger, et al., “Visualizing multiple evolution metrics,” Proc. 2005 ACM symposium on Software visualization, 2005, pp. 67-75.
http://dx.doi.org/10.1145/1056018.1056027

J. Ratzinger, et al., “Evolens: Lens-view visualizations of evolution data,” Proc. Eighth International Workshop on Principles of Software Evolution, 2005, pp. 103-112.
http://dx.doi.org/10.1109/iwpse.2005.16

A. McNair, et al., “Visualizing software architecture evolution using change-sets,” Proc. 14th Working Conference on Reverse Engineering (WCRE'07) 2007, pp. 130-139.
http://dx.doi.org/10.1109/wcre.2007.52

A. Hindle, et al., “Yarn: Animating software evolution,” Proc. 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT'07) 2007, pp. 129-136.
http://dx.doi.org/10.1109/vissof.2007.4290711

P. Brosch, et al., “Conflict Visualization for Evolving UML Models,” Journal of Object Technology, vol. 11, no. 3, 2012, pp. 1-30.
http://dx.doi.org/10.5381/jot.2012.11.3.a2

Z. Xing and E. Stroulia, “UMLDiff: an algorithm for object-oriented design differencing,” Proc. The 20th IEEE/ACM international Conference on Automated software engineering, 2005, pp. 54-65.
http://dx.doi.org/10.1145/1101908.1101919

Z. Xing and E. Stroulia, “Refactoring detection based on umldiff change-facts queries,” Proc. IEEE 13th Working Conference on Reverse Engineering (WCRE'06), 2006, pp. 263-274.
http://dx.doi.org/10.1109/wcre.2006.48

B. Fluri and H. Gall, “Classifying Change Types for Qualifying Change Couplings,” Proc. 14th IEEE International Conference on Program Comprehension (ICPC'06), 2006, pp. 35 - 45.
http://dx.doi.org/10.1109/icpc.2006.16

T. Apiwattanapong, et al., “A Differencing Algorithm for Object-Oriented Programs,” Proc. 19th International Conference on Automated Software Engineering (ASE'04), 2004, pp. 2-13.
http://dx.doi.org/10.1109/ase.2004.1342719

B. Fluri, et al., “Change distilling: Tree differencing for fine-grained source code change extraction,” Software Engineering, IEEE Transactions on, vol. 33, no. 11, 2007, pp. 725-743.
http://dx.doi.org/10.1109/tse.2007.70731

T. Apiwattanapong, et al., “JDiff: A differencing technique and tool for object-oriented programs,” Automated Software Engineering, vol. 14, no. 1, 2007, pp. 3-36.
http://dx.doi.org/10.1007/s10515-006-0002-0

M. Hammad, et al., “Automatically Identifying Changes that Impact Code-to-Design Traceability,” Proc. 17th IEEE International Conference on Program Comprehension (ICPC'09), 2009, pp. 20-29.
http://dx.doi.org/10.1109/icpc.2009.5090024

M. Hammad, et al., “Automatically Identifying Changes that Impact Code-to-Design Traceability during Evolution,” Journal of Software Quality, vol. 19, no. 1, 2011, pp. 35-64.
http://dx.doi.org/10.1007/s11219-010-9103-x

M. Kim, et al., “Automatic inference of structural changes for matching across program versions,” Proc. 29th International Conference on Software Engineering (ICSE'07), 2007, pp. 333-343.
http://dx.doi.org/10.1109/icse.2007.20

M. Kim and D. Notkin, “Discovering and representing systematic code changes,” Proc. IEEE 31st International Conference on Software Engineering (ICSE'09), 2009, pp. 309-319.
http://dx.doi.org/10.1109/icse.2009.5070531

A. Loh and M. Kim, “Lsdiff: a program differencing tool to identify systematic structural differences,” Proc. 32nd ACM/IEEE International Conference on Software Engineering (ICSE'10), 2010, pp. 263-266.
http://dx.doi.org/10.1145/1810295.1810348

P. Weissgerber and S. Diehl, “Identifying refactorings from source-code changes,” Proc. 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06), IEEE, 2006, pp. 231-240.
http://dx.doi.org/10.1109/ase.2006.41

M.L. Collard, et al., “An XML-based lightweight C++ fact extractor,” Proc. 11th IEEE International Workshop on Program Comprehension (IWPC'03), 2003, pp. 134-143.


Refbacks




Please send any question about this web site to info@praiseworthyprize.com
Copyright © 2005-2021 Praise Worthy Prize