高级检索
张炜, 温圳, 潘嘉铖, 陈为. 面向计算机程序的可视化综述[J]. 计算机辅助设计与图形学学报.
引用本文: 张炜, 温圳, 潘嘉铖, 陈为. 面向计算机程序的可视化综述[J]. 计算机辅助设计与图形学学报.
Visualization for Computer Program: A Survey[J]. Journal of Computer-Aided Design & Computer Graphics.
Citation: Visualization for Computer Program: A Survey[J]. Journal of Computer-Aided Design & Computer Graphics.

面向计算机程序的可视化综述

Visualization for Computer Program: A Survey

  • 摘要: 计算机程序是由开发者使用编程语言编写、被计算机识别并执行的一系列指令. 大型程序源代码通常逻辑复杂, 句法抽象, 造成较大的认知困难. 计算机程序可视化以直观形象的方法呈现计算机程序的代码结构、执行过程和运行结果, 增强用户理解和调试程序的能力. 从程序执行流程出发, 根据程序执行的前中后三个阶段, 分析其可视化目标, 并介绍已有可视化方法, 如在程序执行前阶段, 使用可视化对代码组织和潜在异常进行多层级、多维度的展示; 在程序执行中阶段, 利用可视化辅助算法理解、运行调试和状态监测; 在程序执行后阶段, 运用可视化进行性能评估优化和异常检测. 介绍程序可视化在在线编程调试、算法可视化等多种应用场景下的实际应用案例. 最后,总结程序可视化现阶段工作的分类以及存在的不足, 指出高泛化性的算法理解可视化和教育领域的运行调试可视化等是未来工作的研究方向.

     

    Abstract: Computer program is a set of instructions written in programming languages by developers, identified and performed by computers. A large-scale computer program source code set is commonly complex and abstract, making it difficult for human recognitions. Visualizing computer program visually presents the code structures, execution processes, and running results of programs intuitively form to facilitate users' understanding and improve data mining ability. From the program execution process, the visualization targets are analyzed and the related visualization methods are introduced according to the three stages of program execution. In the pre-execution stage, visualizations show the code organization and potential exceptions in multiple levels and dimensions. In the mid-execution stage, visualizations assist in algorithm understanding, operational debugging, and status monitoring. In the post-execution stage, visualizations are used for performance evaluation, optimization, and anomaly detection. Then, the practical application cases of program visualization in various application scenarios are introduced, such as online programming debugging and algorithm visualization. Finally, the taxonomy and limitations of the current program visualization work are summarized. Future research directions are pointed out, such as visualization of algorithm understanding with high generalization ability and visualization of running debugging in teaching.

     

/

返回文章
返回