You can view an html version of the theories. Here are some default starting points for browsing:
Skeleton Algorithm Abstract level and Gabow’s data structure
SCC Algorithm Abstract level and Gabow’s data structure
dist.tgz contains the Isabelle theories
modest.tgz contains our modified version of Modest (~1GiB)
Warning: the .thy files in this arrtifact are best viewed with the Isabelle/HOL IDE. There is also a html version, that can be viewed in the browser. Look for html/index.html if you are viewing this file as README.md!
In the main directory, run
On Linux: Make sure that the isabelle command points to your installation of Isabelle 2022. If this is not the case, we recommend you do this first. Run:
isabelle build -D.
On Windows: You can start a cygwin terminal via $ISABELLE_HOME/Cygwin-Terminal.bat. You then have to navigate to the folder that this projects ROOT file is in. Note that the document path is expressed in the cygwin environment. If the path to the ROOT is located in “E:/example/mec-isabelle/ROOT” then you should enter “cd /cygdrive/e/example/mec-isabelle” into the terminal and run:
isabelle build -D.
This will check all proofs, and (re)generate the files Gabow_SCC/modest_gabow.{ll,h} that contain the executable code.
NOTE: The build process may fail on Windows. If this happens, you have to rerun the command.
In Windows/Linux, this generates GabowIsabelle.dll/.so in the current folder.
Place GabowIsabelle.dll/.so inside Modest_Windows/Modest_Linux inside the Modest folder
Open terminal in Modest_Windows/Modest_Linux
In Windows/Linux there is a file modest.exe/modest, make sure it is executable
Run
modest mobench Sccfull.mcsta.json for the scc algorithm runtimes (~5 hours)
modest mobench Sccfull.lp.mcsta.json for a full comparison of the runtimes (~10 hours)
Open terminal in Modest_Windows/Modest_Linux
run
modest moplot scatter-scc1.json To generate Figure 4 (requires benchmark step 1)
modest moplot scatter-scc2.json to generate Figure 5 (requires benchmark step 1)
modest moplot scatter-scc-lp.json to generate Figure 6 (requires benchmark step 2)
The resulting files are called “scatter-scc-scctime.tex”,, “scatter-scc-totaltime.tex” and “scatter-scc-lp.tex”
Build using your favourite LaTex compiler