Understanding software evolution with software cities

被引:23
|
作者
Steinbrueckner, Frank [1 ]
Lewerentz, Claus [1 ]
机构
[1] Brandenburg Tech Univ Cottbus, Cottbus, Germany
关键词
Software cities; software landscapes; software evolution; software visualization; metrics; software comprehension; COMPREHENSION;
D O I
10.1177/1473871612438785
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software cities are visualizations of software systems in the form of virtual cities. They are used as platforms to integrate a large variety of product- and process-related analysis data. Their usability, however, for real-world software development often suffers from their inability to appropriately deal with software changes. Even small structural changes can disrupt the overall structure of the city, which in turn corrupts the mental maps of its users. In this article we describe a systematic approach to utilize the city metaphor for the visualization of evolving software systems as growing software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account. The approach has two important effects: first, it creates a stable gestalt of software cities even when the underlying software systems evolve; thus, by preserving its users' mental maps these cities are especially suitable for use during ongoing system development. Second, it makes history directly visible in the city layouts, which allows for supporting novel analysis scenarios. We illustrate such scenarios by presenting several thematic cities' maps, each capturing specific development history aspects.
引用
收藏
页码:200 / 216
页数:17
相关论文
共 50 条
  • [1] Understanding the nature of software evolution
    Nikora, AP
    Munson, JC
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2003, : 83 - 93
  • [2] Understanding and Simulating Software Evolution
    Lin, Zhongpeng
    PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 1411 - 1414
  • [3] Network Analysis of Software Change History for Understanding Software Evolution
    Kanwal, Jaweria
    Maqbool, Onaiza
    Abbasi, Rabeeh
    Abbasi, Abdul Qudus
    17TH IEEE INTERNATIONAL MULTI TOPIC CONFERENCE 2014, 2014, : 229 - 234
  • [4] Supporting the understanding of the evolution of software items
    Theron, Roberto
    Gonzalez, Antonio
    Garcia, Francisco J.
    SOFTVIS 2008: PROCEEDINGS OF THE 4TH ACM SYMPOSIUM ON SOFTWARE VISUALIZATION, 2008, : 189 - 192
  • [5] Software Evolution Understanding: Automatic Extraction of Software Identifiers Map for Object-Oriented Software Systems
    AL-msie'deen, Rafat
    Blasi, Anas H.
    JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, 2021, 17 (01) : 20 - 28
  • [6] Towards a Better Understanding of Software Evolution: An Empirical Study on Open Source Software
    Xie, Guowu
    Chen, Jianbo
    Neamtiu, Iulian
    2009 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, CONFERENCE PROCEEDINGS, 2009, : 51 - 60
  • [7] Understanding Enterprise Open Source Software Evolution
    Aversano, Lerina
    Di Brino, Marco
    Guardabascio, Daniela
    Salerno, Marcello
    Tortorella, Maria
    CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS/INTERNATIONAL CONFERENCE ON PROJECT MANAGEMENT/CONFERENCE ON HEALTH AND SOCIAL CARE INFORMATION SYSTEMS AND TECHNOLOGIES, CENTERIS/PROJMAN / HCIST 2015, 2015, 64 : 924 - 931
  • [8] Software evolution and software evolution processes
    Lehman, MM
    Ramil, JF
    ANNALS OF SOFTWARE ENGINEERING, 2002, 14 (1-4) : 275 - 309
  • [9] Towards a better understanding of software evolution: an empirical study on open-source software
    Neamtiu, Iulian
    Xie, Guowu
    Chen, Jianbo
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2013, 25 (03) : 193 - 218
  • [10] Software Evolution or Software Enhancement?
    Kurtel, Kaan
    Eren, Saban
    2018 3RD INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ENGINEERING (UBMK), 2018, : 390 - 395