Preserving Command Line Workflow for a Package Management System Using ASCII DAG Visualization

Package managers provide ease of access to applications by removing the time-consuming and sometimes completely prohibitive barrier of successfully building, installing, and maintaining the software for a system. A package dependency contains dependencies between all packages required to build and run the target software. Package management system developers, package maintainers, and users may consult the dependency graph when a simple listing is insufficient for their analyses. However, users working in a remote command line environment must disrupt their workflow to visualize dependency graphs in graphical programs, possibly needing to move files between devices or incur forwarding lag. Such is the case for users of Spack, an open source package management system originally developed to ease the complex builds required by supercomputing environments. To preserve the command line workflow of Spack, we develop an interactive ASCII visualization for its dependency graphs. Through interviews with Spack maintainers, we identify user goals and corresponding visual tasks for dependency graphs. We evaluate the use of our visualization through a command line-centered study, comparing it to the system's two existing approaches. We observe that despite the limitations of the ASCII representation, our visualization is preferred by participants when approached from a command line interface workflow.

[1]  Jack Bresenham,et al.  Algorithm for computer control of a digital plotter , 1965, IBM Syst. J..

[2]  Colin Ware,et al.  Motion to support rapid interactive queries on node--link diagrams , 2004, TAP.

[3]  P. John Clarkson,et al.  Matrices or Node-Link Diagrams: Which Visual Representation is Better for Visualising Connectivity Models? , 2006, Inf. Vis..

[4]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

[5]  Koji Nakano,et al.  ASCII Art Generation Using the Local Exhaustive Search on the GPU , 2013, 2013 First International Symposium on Computing and Networking.

[6]  Adrian Rusu,et al.  Using the Gestalt Principle of Closure to Alleviate the Edge Crossing Problem in Graph Drawings , 2011, 2011 15th International Conference on Information Visualisation.

[7]  Bodo Winter,et al.  Linear models and linear mixed effects models in R with linguistic applications , 2013, ArXiv.

[8]  D. Bates,et al.  Fitting Linear Mixed-Effects Models Using lme4 , 2014, 1406.5823.

[9]  Claus Lewerentz,et al.  A space of layout styles for hierarchical graph models of software systems , 2005, SoftVis '05.

[10]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[11]  Colin Ware,et al.  Cognitive Measurements of Graph Aesthetics , 2002, Inf. Vis..

[12]  Donald E. Knuth,et al.  Computer-drawn flowcharts , 1963, CACM.

[13]  Karsten Klein,et al.  High-Quality Ultra-Compact Grid Layout of Grouped Networks , 2016, IEEE Transactions on Visualization and Computer Graphics.

[14]  Patrick Ogao,et al.  Evaluation of software visualization tools: Lessons learned , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[15]  David A. Carrington,et al.  Graph Drawing Aesthetics and the Comprehension of UML Class Diagrams: An Empirical Study , 2001, InVis.au.

[16]  Jeffrey Heer,et al.  The Effects of Interactive Latency on Exploratory Visual Analysis , 2014, IEEE Transactions on Visualization and Computer Graphics.

[17]  Michael Jünger,et al.  The Open Graph Drawing Framework (OGDF) , 2013, Handbook of Graph Drawing and Visualization.

[18]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[19]  Kim Marriott,et al.  Edge Compression Techniques for Visualization of Dense Directed Graphs , 2013, IEEE Transactions on Visualization and Computer Graphics.

[20]  Alexandre Bergel,et al.  A Domain-Specific Language for Visualizing Software Dependencies as a Graph , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[21]  Olivier Zendra,et al.  Visualization of the Static Aspects of Software: A Survey , 2011, IEEE Transactions on Visualization and Computer Graphics.

[22]  Jean-Daniel Fekete,et al.  Task taxonomy for graph visualization , 2006, BELIV '06.

[23]  Emden R. Gansner,et al.  A Technique for Drawing Directed Graphs , 1993, IEEE Trans. Software Eng..

[24]  Lois M. Haibt A program to draw multilevel flow charts , 1959, IRE-AIEE-ACM '59 (Western).

[25]  Paul O'Grady,et al.  Automatic ASCII Art conversion of binary images using non-negative constraints , 2008 .

[26]  Bronis R. de Supinski,et al.  The Spack package manager: bringing order to HPC software chaos , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[27]  Katsuro Inoue,et al.  Visualizing the Evolution of Systems and Their Library Dependencies , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[28]  Lucian Voinea,et al.  Visual exploration of program structure, dependencies and metrics with SolidSX , 2011, 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT).

[29]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[30]  Roberto Tamassia,et al.  Handbook on Graph Drawing and Visualization , 2013 .

[31]  Roberto Tamassia,et al.  On Embedding a Graph in the Grid with the Minimum Number of Bends , 1987, SIAM J. Comput..

[32]  Philippe Castagliola,et al.  A Comparison of the Readability of Graphs Using Node-Link and Matrix-Based Representations , 2004, IEEE Symposium on Information Visualization.

[33]  T. Hothorn,et al.  Simultaneous Inference in General Parametric Models , 2008, Biometrical journal. Biometrische Zeitschrift.

[34]  Marco Fratarcangeli,et al.  Fast Rendering of Image Mosaics and ASCII Art , 2015, Comput. Graph. Forum.

[35]  David Auber,et al.  Tulip - A Huge Graph Visualization Framework , 2004, Graph Drawing Software.

[36]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[37]  Hausi A. Müller,et al.  Manipulating and documenting software structures using SHriMP views , 1995, Proceedings of International Conference on Software Maintenance.

[38]  Arie van Deursen,et al.  Understanding Execution Traces Using Massive Sequence and Circular Bundle Views , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[39]  D. Bates,et al.  Linear Mixed-Effects Models using 'Eigen' and S4 , 2015 .

[40]  Tien-Tsin Wong,et al.  Structure-based ASCII art , 2010, ACM Trans. Graph..