Vestige: A visualization framework for engineering geometry-related software

Geometry-related software is increasingly important in computational science and visual computing. Engineering such software is particularly challenging due to the size and complexity of the data it operates on. In this paper we present VESTIGE, a framework that employs visualization to address that challenge. VESTIGE targets four software engineering activities: (1) visualization-guided development, (2) monitoring and bug detection, (3) test oracle generation, and (4) debugging. We present five scenarios from our real-life experience as developers of geometry-related software that show how VESTIGE helps to improve the software development process. Integrating VESTIGE into the development workflow takes little effort and can have significant benefits.

[1]  J. Oden,et al.  Goal-oriented error estimation and adaptivity for the finite element method , 2001 .

[2]  Andreas Zeller,et al.  Why Programs Fail, Second Edition: A Guide to Systematic Debugging , 2009 .

[3]  Marc H. Brown,et al.  Zeus: a system for algorithm animation and multi-view editing , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[4]  Hank Childs,et al.  VisIt: An End-User Tool for Visualizing and Analyzing Very Large Data , 2011 .

[5]  Barbara I. Wohlmuth,et al.  A Mortar Finite Element Method Using Dual Spaces for the Lagrange Multiplier , 2000, SIAM J. Numer. Anal..

[6]  Tod A. Laursen,et al.  A large deformation mortar formulation of self contact with finite sliding , 2008 .

[7]  Éric Tanter,et al.  Processing , 1988 .

[8]  Randolph E. Bank,et al.  PLTMG - a software package for solving elliptic partial differential equations: users' guide 8.0 , 1998, Software, environments, tools.

[9]  J.T. Stasko,et al.  Tango: a framework and system for algorithm animation , 1990, Computer.

[10]  Haibo Chen,et al.  ORDER: Object centRic DEterministic Replay for Java , 2011, USENIX Annual Technical Conference.

[11]  Francesca Rapetti,et al.  Basics and some applications of the mortar element method , 2005 .

[12]  Bil Lewis,et al.  Debugging Backwards in Time , 2003, ArXiv.

[13]  Alexander M. Bronstein,et al.  Numerical Geometry of Non-Rigid Shapes , 2009, Monographs in Computer Science.

[14]  Joseph O'Rourke,et al.  Computational Geometry in C. , 1995 .

[15]  Jong-Deok Choi,et al.  Deterministic replay of Java multithreaded applications , 1998, SPDT '98.

[16]  Andreas Zeller Why Programs Fail , 2005 .

[17]  Sophia Blau,et al.  Analysis Of The Finite Element Method , 2016 .

[18]  Michael D. Ernst,et al.  ReCrash: Making Software Failures Reproducible by Preserving Object States , 2008, ECOOP.

[19]  Christer Ericson,et al.  Real-Time Collision Detection (The Morgan Kaufmann Series in Interactive 3-D Technology) (The Morgan Kaufmann Series in Interactive 3D Technology) , 2004 .

[20]  Yannis Smaragdakis,et al.  JCrasher: an automatic robustness tester for Java , 2004, Softw. Pract. Exp..

[21]  Günther Greiner,et al.  Efficient clipping of arbitrary polygons , 1998, TOGS.

[22]  Jeff Huang,et al.  LEAP: lightweight deterministic multi-processor replay of concurrent java programs , 2010, SIGSOFT FSE.

[23]  Прикладное программное обеспечение Windows Error Reporting , 2012 .

[24]  R. Bank,et al.  Some Refinement Algorithms And Data Structures For Regular Local Mesh Refinement , 1983 .

[25]  Utkarsh Ayachit,et al.  The ParaView guide : updated for ParaView version 4.3 , 2015 .

[26]  Joseph O'Rourke,et al.  Computational geometry in C (2nd ed.) , 1998 .

[27]  Robert Sedgewick,et al.  A system for algorithm animation , 1984, SIGGRAPH.

[28]  Rolf Krause,et al.  Efficient simulation of multi‐body contact problems on complex geometries: A flexible decomposition approach using constrained minimization , 2009 .

[29]  F. Geisler The CHARITE Artificial Disc: design history, FDA IDE study results, and surgical technique. , 2006, Clinical neurosurgery.

[30]  Steven P. Reiss The Challenge of Helping the Programmer during Debugging , 2014, 2014 Second IEEE Working Conference on Software Visualization.