Proj FuzzViz Paper Reading: A Task Oriented View of Software Visualization

Abstract

维度:软件可视化的内容、地点、方式、人员、原因
重点:指出需要方法和任务匹配

2. A Reference Model for Visualization

3. Dimensions of Software visualization

  • Tasks – why is the visualization needed?
  • Audience – who will use the visualization?
  • Target – what is the data source to represent?
  • Representation – how to represent it?
  • Medium – where to represent the visualization?

3.1 Tasks

3.2 Audience

3.3 Target

Along this dimension, we are considering as targets of visualization the architecture, the design, the algorithm, the source code, the data, execution/trace information, measurements and metrics, documentation, and process information.

  1. 表示源代码:Pretty printers, integrated development environments: SeeSoft, BeeHive, Jinsight
  2. 表示可视化执行信息:针对设计、架构级别的工具通常支持逆向工程或者reengineering, IMSOvision, SoftArch, SHriMP
  3. measurements & metrics from software, process information and doc: 与数据收集等问题相关的属性(收集时间、收集方法、倾入性等),与编程语言和环境相关的问题(例如范式、并发性、并行处理等)

3.4 Representation

3.5 Medium

4

SeeSoft [8] 是一个可视化关于代码行的软件统计数据的工具。 它使用彩色细线来表示文件中的每一行代码。 线条的颜色(和亮度)是根据工具对该线条的统计信息计算得出的。 也可以保留代码的缩进。 由于每一行代码都显示为一行像素,因此它能够在一个屏幕上表示超过 50,000 行代码。 可以从行中选择代码段并在阅读窗口中查看。 可视化是交互式的,允许缩放操作、选择和过滤。 它是一种通用的通用工具,可以支持各种任务。 在源代码行之上,信息颜色可以对各种数据进行编码,例如测试数据、数据类型、版本控制等。

Tarantula [10] 是源代码中的故障定位工具。 有关缺陷和测试套件的信息以颜色和亮度显示。 多次测试的结果用于确定每行代码的颜色和亮度。 用户可以快速发现在测试用例失败时执行了哪些代码行,并衡量特定代码行对错误的影响程度。

SHriMP(简单分层多视角)[25]允许分层软件结构的视图显示从实际源到类和包视图的许多级别。 它已针对浏览 Java 程序进行了定制。 层次结构使用嵌套图表示。 视图允许在嵌套图形上通过超文本浏览进行各种缩放。 SHriMP 是少数能够可视化设计级别信息方面的软件可视化工具之一,它允许软件系统的多个视图,并具有从类层次结构到源代码和返回的向下钻取功能,以及文档表示。 可视化是高度交互的,为用户提供了许多功能。 它有助于理解逆向工程的活动。 此外,它的底层图形可视化表示可以表示来自软件以外的其他来源的数据

JInsight [6] 是⼀个⽤于分析正在运行的多线程 Java 程序行为的⼯具。它允许⽤⼾通过仔细选择他们想要收集信息的内容和时间来处理⼤量的跟踪信息。收集的信息与特定的运行任务相关联。它可以连接到正在运行的程序,收集数据,然后断开连接,从⽽重新启动整个过程。这个⼯具是⼀个可视化软件数据的例⼦,⽽不是软件的结构。

posted @ 2022-02-16 14:30  雪溯  阅读(28)  评论(0编辑  收藏  举报