The repository includes the artifacts to replicate the case studies of TestEvoViz.
After downloading the repository, uncompres Pharo-Images.zip file (it includes the Pharo images to execute). Copy all the files of Pharo-Images folder at ArtifactTestEvoViz folder (folder of repository).
You can delete the Pharo-Images.zip and Pharo-Images folder if you like.
To replicate the case studies and visualize TestEvoViz examples, of paper, execute the next commands on Terminal where the project was downloaded.
Hint: We do and test all experiments on Mac Book Pro, Linux (Debian Stretch) and Windows, all of 64-bits. So, it's recommendable you execute commands on 64-bits Operating System. Another way it will give an error.
Open the Pharo image executing the next commands according your OS.
MacOSX
./Pharo-OSX/Pharo.app/Contents/MacOS/Pharo Baseline.image
Linux The command was tested on Debian, if you have another distribution it could give errors or not.
./Pharo-Linux/pharo-ui Baseline.image
Windows Experiments were tested on Windows 10 (64-bits). Depending on your Windows version you've installed it may have some some UI bugs.
cd Pharo-Windows
Pharo.exe ..\Baseline.image
Execute the code using the green play button (at the top right of the window). Another option is selecting all the code with Ctrl + A
(Command + A
for MacOS), right click on window and select "Inspect Code" option or press Ctrl + I
(Command + I
for MacOS).
After doing that a window will appear, asking you write your name (Is's part of Pharo). If the visualization window is very tiny or small you can extend it. Furthermore, there are options to zoom in or zoom out the visualization.
Baseline image contains four scripts of SStack, DataFrame, Regex and NeoJSON, you can change some values of the scripts to test. Values to changes are:
numberOfIterations:
. You can change for any positive integer number greater than 1. But you must be careful with using pretty high values, e.g. greater than 50.numberOfStatements:
. Positive integer number greater than 1. Be careful of using high values.populationSize:
. Positive integer number greater than 1. Be careful of using high values.mutationRate:
. Positive number greater than 0 and less than 1. By default the value is 1/3.
For replicating the experiments shown in the paper:
- Open the image Pharo (described below)
- Execute the code that appears in the image (use the green play button or Inspect command, described previously).
Note that due randomness of the genetic algorithm, the visualization can vary a bit between executions.
Regex image contains three scripts to execute.
MacOS
./Pharo-OSX/Pharo.app/Contents/MacOS/Pharo Regex.image
Linux
./Pharo-Linux/pharo-ui Regex.image
Windows
cd Pharo-Windows
Pharo.exe ..\Regex.image
In the same way NeoJSON image contains three examples to execute.
MacOS
./Pharo-OSX/Pharo.app/Contents/MacOS/Pharo NeoJSON.image
Linux
./Pharo-Linux/pharo-ui NeoJSON.image
Windows
cd Pharo-Windows
Pharo.exe ..\NeoJSON.image
In the same way Box2DLite image contains three examples to execute.
MacOS
./Pharo-OSX/Pharo.app/Contents/MacOS/Pharo Box2DLite.image
Linux
./Pharo-Linux/pharo-ui Box2DLite.image
Windows
cd Pharo-Windows
Pharo.exe ..\Box2DLite.image