首页> 外文期刊>Software >Compact visualization of Java program execution
【24h】

Compact visualization of Java program execution

机译:Java程序执行的紧凑可视化

获取原文
获取原文并翻译 | 示例
       

摘要

The context of this work is a practical, open-source visualization system, called JIVE, that supports two forms of runtime visualizations of Java programs - object diagrams and sequence diagrams. They capture, respectively, the current execution state and execution history of a Java program. These diagrams are similar to those found in the UML for specifying design-time decisions. In our work, we construct these diagrams at execution time, thereby ensuring continuity of notation from design to execution. In so doing, a few extensions to the UML notation are proposed in order to better represent runtime behavior. As sequence diagrams can become long and unwieldy, we present techniques for their compact representation. A key result in this paper is a novel labeling scheme based upon regular expressions to compactly represent long sequences and an O(r(2)) algorithm for computing these labels, where r is the length of the input sequence, based upon the concept of tandem repeats' in a sequence. Horizontal compaction greatly helps minimize the extent of white space in sequence diagrams by the elimination of object lifelines and also by grouping lifelines together. We propose a novel extension to the sequence diagram to deal with out-of-model calls when the lifelines of certain classes of objects are filtered out of the visualization, but method calls may occur between in-model and out-of-model calls. The paper also presents compaction techniques for multi-threaded Java execution with different forms of synchronization. Finally, we present experimental results from compacting the runtime visualizations of a variety of Java programs and execution trace sizes in order to demonstrate the practicality and efficacy of our techniques. Copyright (c) 2016 John Wiley & Sons, Ltd.
机译:这项工作的背景是一个实用的,开放源代码的可视化系统,称为JIVE,它支持Java程序的两种运行时可视化形式-对象图和序列图。它们分别捕获Java程序的当前执行状态和执行历史。这些图类似于UML中用于指定设计时决策的图。在我们的工作中,我们在执行时构造这些图,从而确保从设计到执行的符号的连续性。这样做时,提出了一些对UML表示法的扩展,以便更好地表示运行时行为。由于序列图可能会变得冗长而笨拙,因此我们为它们的紧凑表示提供了技术。本文的主要成果是一种新颖的基于正则表达式的标注方案,可以紧凑地表示长序列,以及一种用于计算这些标注的O(r(2))算法,其中r是输入序列的长度,基于串联重复”。水平压缩通过消除对象生命线以及将生命线分组在一起,极大地帮助最大程度地减少了时序图中空白的范围。我们建议对序列图进行新颖的扩展,以在某些类别的对象的生命线从可视化中过滤掉时处理模型外调用,但是方法调用可能发生在模型内调用和模型外调用之间。本文还介绍了用于具有不同形式的同步的多线程Java执行的压缩技术。最后,我们通过压缩各种Java程序的运行时可视化效果和执行跟踪大小来提供实验结果,以证明我们技术的实用性和有效性。版权所有(c)2016 John Wiley&Sons,Ltd.

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号