摘要(英) |
In general, there are many ways to solve a problem. It is the same in the world of programming. Programmers may want to write a program to solve a problem, but there are many kinds of implementation. Therefore, if we want to visualize a problem, there may be only one visualization of a program, but the implementations and data structures can vary significantly.
The 3D program visualization tool xDIVA in our lab is based on objects to produce visualizations. If the code is written in a way that is not object-oriented, xDIVA may not be able to render the visualization expected by the programmer. Because the graphics that the programmer wants to draw are expressed in other forms. Instead of the real objects.
As a program visualization tool, xDIVA cannot limit programmers to write code in some fixed way to be visualized. So this study presents a solution called virtual objects. With this feature, programmers can produce objects from existing variables for xDIVA′s type mapping to work on. These virtual objects can be used to bridge non-object-oriented programs so that expected visualization can be accomplished. |
參考文獻 |
[1] Cheng, Y.-P., et al. (2016). Toward Arbitrary Mapping for Debugging Visualizations. 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering Companion. Austin, TX, USA, IEEE: 605-608.
[2] Cheng, Y.-P., et al. (2008). xDIVA: a debugging visualization system with composable visualization metaphors. Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications. Nashville, TN, USA, ACM: 807-810.
[3] Rosenberg, J.B., How Debuggers Work: Algorithms, Data Structures, and Architecture. 1 ed,John Wiley & Sons, 1996-09-27
[4] Unified Modeling Language. [cited 2012 06/21]; Available from: http://en.wikipedia.org/wiki/Unified_Modeling_Language.
[5] S. P. Reiss, An Overview of BLOOM, Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering PASTE ′01,2001
[6] Paul V. Gestwicki and Bharat Jayaraman. Methodology and architecture of jive. In SOFTVIS, pages 95–104, 2005.
[7] Jeffrey K. Czyz, Bharat Jayaraman. Declarative and Visual Debugging in Eclipse. In Proceedings of the 2007 OOPSLA Workshop on Eclipse Technology Exchange, pages 31–35, 2007.
[8] Wim De Pauw, Erik Jensen, Nick Mitchell, Visualization the Execution of Java Programs, IBM T.J. Watson Research Center
[9] Katharina Mehner. Javis: A uml-based visualization and debugging environment for concurrent java programs. In Software Visualization, pages 163–175, 2001.
[10] The complete collection of algorithm animation. [cited 2012 06/15]; Available from: http://www.cs.hope.edu/alganim/ccaa/index.html.
[11] The Data Display Debugger (DDD). [cited 2012 06/15]; Available from: http://www.gnu.org/software/ddd/.
[12] Liou, H.-W. (2013). Support Visual Debugging in Electronic Design Automation Software by xDIVA.
[13] "Introducing JSON." from http://www.json.org/.
[14] "Python." from https://www.python.org/.
[15] "Traveling_salesman_problems." from https://optimization.mccormick.northwestern.edu/index.php/Traveling_salesman_problems.
[16] "Visual programming language." from https://en.wikipedia.org/wiki/Visual_programming_language.
[17] "Flood Fill Algorithm." from http://www.csie.ntnu.edu.tw/~u91029/AlgorithmDesign.html. |