AlViE is a post-mortem algorithm visualization Java environment, which is based on the interesting event paradigm. This web page refers to AlViE 4.0, the new AlViE generation. Starting from this version, a new feature has been added to AlViE, that is, the possibility of exporting an algorithm visualization in HTML5 code. On the other hand, AlViE 4 does not include anymore the possibility of visualizing PDF files, of producing PNG snapshots of the visualization, and of producing SWF and MOV visualization movie files. Starting from this version, AlViE includes a (non graphical) data structure editor, which allows the user to easily create new inputs for the algorithm executions and visualizations. The current distribution of AlViE includes more than fourty visualizations. Almost all visualizations include the representation of the corresponding algorithm C-like pseudo-code. The AlViE distribution allows a programmer to develop new algorithms with their corresponding visualization: the included Java class library, indeed, makes the creation of a visualization quite an easy task (once the interesting events have been identified).

Quick guide

Installation and execution

Download the file (which includes both the AlViE executable jar file and all the visualizations) into any directory, decompress the zip archive, and execute AlViE by double-clicking the file alvie4.jar (this operation will create the .alvie4settings file into the user home directory).

Playing a visualization

Once AlViE has been launched, the AlViE window is presented. To play a visualization, press the TV button, choose the algorithm whose visualization you want to see, and choose the visualization XML file. You can navigate through the visualization by pressing the four arrow buttons, whose meaning is “go to the begin”, “step bacward”, “step forward”, and “go to the end”, respectively.You can produce the HTML5 code of the visualization, by pressing the HTML5 button: the HTML5 file is stored in the directory html5 of the algorithm.

Creating a new visualization with a different input

Create a new data structure according to what is required by the algorithm (arrays, matrices, lists, binary trees, and graphs can be created) by pressing the four arrow button. Set the number and the type of the elements contained in the data structure and fill their value.
Save the data structure into the directory input. Press the Ciak button, choose the algorithm you want to execute, choose the visualization XML file, and select the newly created data structure as input: after the termination of the algorithm, the new visualization can be played as before.

Configuring AlViE and a visualization

To modify the ALVIE configuration properties, press the wrench button, modify the value of the properties that you want to change, close the property editor window by pressing the OK button, and save the modifications by quitting ALVIE. To modify the configuration properties of the current visualization, press the screwdriver button, modify the value of the properties that you want to change, close the property editor window by pressing the OK button, and execute the algorithm as previously described.


AlViE is currently maintained by Pierluigi Crescenzi. The following people collaborated to the development of ALVIE: Giorgio Gambosi (University of Rome II), Roberto Grossi (University of Pisa), Carlo Nocentini (University of Florence), Tommaso Papini, and Walter Verdese (University of Pisa). The AlViE logo is due to Lorenzo Davitti. Several people sent us feedback about the tool and the visualizations and/or helped us during the development of AlViE. In particular, we wish to thank the following people: Anna Bernasconi, Lorenzo Bettini, Sara Capecchi, Linda Pagli, Michele Loreti, and Cliff Shaffer. AlViE greatly benefited from the experience done with the Java Algorithm Visualizer (in short, JAZ), developed by Giancarlo Bongiovanni, Gabriella Rago, and Pilu Crescenzi, and successively updated by Gaia Innocenti, Patrizia Pallai, and Maurizio Mollicone. Finally, we are grateful to the Apache Commons project for producing software included in the AlViE distribution.