Software Evolution Visualization Tools Functional Requirements: a Comprehensive Understanding

Hani Bani-Salameh, Ayat Ahmad, Dua'a Bani-Salameh
Software is usually going under many changes during its life time cycle. Following up software changes and enhancements is an essential process for many reasons: it increases the complexity of software projects, and affects the software structure and quality. Software visualization is considered as one of the comprehensive techniques that developers make use of daily in order to analyze and understand how the software evolves and changes over time. To achieve this, developers use software
more » ... use software evolution visualization (SEV) tools, and face difficulties find-ing/identifying the most suitable tool. The goal of this study is to identify generic functional requirements for software visualization tools, in order to help developers choose their tools based on the supported features/requirements. The main focus is on tools that target softwares' evolution. The research methodology is based on a systematic review that aims to summarize the current research on software SEVs and to answer a question on "what are the main functional requirements for software evolution visualization tools that have been identified in the literature?" The most common functional requirements and activities that have been identified in this study are views, detailed-on-demand, filter, select, rearrange , and comparison.