- Sireum Logika: A Program Verifier and a Natural Deduction Proof Checker for Propositional, Predicate, and Programming Logics
- Sireum Awas: An Information Flow Analyzer and Visualizer for Component-based Systems
Supported platforms (64-bit only):
-
macOS (test platform: 10.12 - 10.14)
-
Linux (test platform: Ubuntu 18.04)
-
Windows (test platform: Windows 10)
Sireum v3 binary distributions that we provide are cryptographically-signed just in case you want to ensure that your copy is untampered read more.
The accompanying Minisign digital signature can be verified using the following command:
minisign -P RWShRZe/1tMRHAcQ2162Wq5FhU2ptktJdQxzUxvK0MwVjDYRC4JY87Fb -Vm <file>Alternatively, you can use the following signify command:
signify -p sireum-v3-key.pub -x <file>.minisig -Vm <file>where sireum-v3-key.pub can be downloaded from: http://bit.ly/sv3key
Video Tutorial: Installing Sireum IVE in Windows
Sireum IVE includes a custom IntelliJ IDEA Community Edition with various plugins installed, along with the Sireum CLI (see below).
In addition to the regular Release builds, we also provide Development builds for trying out Sireum v3 experimental features.
-
macOS
Execute the following in a bash terminal:
(sim=sireum-v3-ive-mac64.dmg && rm -f $sim && curl -JLo $sim http://bit.ly/sv3ivem && open $sim)
Minisign: http://bit.ly/sv3ivems
Once it is done, it should open a new window:
Drag and drop the Sireum icon to the Applications folder.
(Note: the above avoids GateKeeper; if it is instead downloaded using a browser, you need to remove Apple's quarantine extended attribute on the .dmg file before opening it as follows:
xattr -d com.apple.quarantine sireum-v3-idea-mac64.dmg).For subsequent instructions, replace
SIREUM_HOMEwith/Applications/Sireum.app/Contents/Resources/sireum-v3.To run Sireum IVE, double-click
Sireuminside/Applications(or, in a terminal:open /Applications/Sireum.app).To run Sireum CLI in a terminal:
SIREUM_HOME/sireum.Development Build:
(sdim=sireum-v3-dev-ive-mac64.dmg && rm -f $sdim && curl -JLo $sdim http://bit.ly/sv3divem && open $sdim)
Minisign: http://bit.ly/sv3divems
-
Linux
Download from: http://bit.ly/sv3ivel
Minisign: http://bit.ly/sv3ivels
Uncompress it in a folder whose path does not contain a whitespace such as
/opt(or~/Applications, if your home directory path does not contain a whitespace).For subsequent instructions, replace
SIREUM_HOMEwith/opt/Sireum(or~/Applications/Sireum).To run Sireum IVE in a terminal:
SIREUM_HOME/idea.To run Sireum CLI in a terminal:
SIREUM_HOME/sireum.Development Build: http://bit.ly/sv3divel, Minisign: http://bit.ly/sv3divels
-
Windows
Download from: http://bit.ly/sv3ivew
Minisign: http://bit.ly/sv3ivews
Uncompress it to the
C:drive root directory (i.e.,C:\) so the fileC:\Sireum\sireum.batis present.For subsequent instructions, replace
SIREUM_HOMEwithC:\Sireum.To run Sireum IVE:
-
double-click, either:
-
32-bit:
SIREUM_HOME\apps\idea\bin\idea.exe, or -
64-bit:
SIREUM_HOME\apps\idea\bin\idea64.exeThis requires Java 8 64-bit, which is available in
SIREUM_HOME\platform\java; to use that, addSIREUM_HOME\platform\java\binto yourPATHenvironment variable.
-
-
in a terminal:
SIREUM_HOME\idea.batorSIREUM_HOME\idea64.bat.
To run Sireum CLI in a terminal:
SIREUM_HOME\sireum.batDevelopment Build: http://bit.ly/sv3divew, Minisign: http://bit.ly/sv3divews
-
-
macOS
Download from: http://bit.ly/sv3clim
Minisign: http://bit.ly/sv3clims
Uncompress it in a folder whose path does not contain a whitespace such as
/opt(or~/Applications, if your home directory path does not contain a whitespace).For subsequent instructions, replace
SIREUM_HOMEwith/opt/sireum-v3(or~/Applications/sireum-v3).To run Sireum CLI in a terminal:
SIREUM_HOME/sireum.Development Build: http://bit.ly/sv3dclim, Minisign: http://bit.ly/sv3dclims
-
Linux
Download from: http://bit.ly/sv3clil
Minisign: http://bit.ly/sv3clils
Uncompress it in a folder whose path does not contain a whitespace such as
/opt(or~/Applications, if your home directory path does not contain a whitespace).For subsequent instructions, replace
SIREUM_HOMEwith/opt/sireum-v3(or~/Applications/sireum-v3).To run Sireum CLI in a terminal:
SIREUM_HOME/sireum.Development Build: http://bit.ly/sv3dclil, Minisign: http://bit.ly/sv3dclils
-
Windows
Download from: http://bit.ly/sv3cliw
Minisign: http://bit.ly/sv3cliws
Uncompress it to the
C:drive root directory (i.e.,C:\) so the fileC:\sireum-v3\sireum.batis present.For subsequent instructions, replace
SIREUM_HOMEwithC:\sireum-v3.To run Sireum CLI in a terminal:
SIREUM_HOME\sireum.bat.Development Build: http://bit.ly/sv3dcliw, Minisign: http://bit.ly/sv3dcliws
- Required tools for building Sireum:
bash,git,unzip,wget,bc
- Required tools for building Sireum:
xz
-
Required tools for building Sireum: MSYS2
pacman -S git unzip wget bc
In a bash terminal:
-
Using HTTPS:
git clone --recursive https://github.com/sireum/v3.git sireum-v3 sireum-v3/sireum
-
Using SSH:
git clone --recursive git@github.com:sireum/v3.git sireum-v3 sireum-v3/sireum
(If this is your first time running the script, it first:
-
downloads Zulu JDK, Scala, Node.js and Sbt, and then installs them under the
platformdirectory; -
downloads Z3 and installs it under the
appsdirectory; and
Sireum: A Software Analysis Platform (v3)
(c) 2011-2017, SAnToS Laboratory, Kansas State University
http://sireum.org
Usage: sireum <mode>
Available mode(s):
logika Logika Program Verifier and Proof Checker
util Utility Tools
To get updates, simply do a git pull --recurse-submodules inside sireum-v3 and run Sireum again:
cd sireum-v3
git pull --recurse-submodules
./sireumRun: sireum-v3/bin/sbt-launch.sh test
Run: sireum-v3/distros/build.sh
The resulting bundles are located at: sireum-v3/distros.
Requirements:
Run: sireum-v3/distros/build-idea.sh
The resulting bundles are located at: sireum-v3/distros.
Pre-built container images are available at Docker Hub:
-
Sireum CLI: https://hub.docker.com/r/sireum/v3
docker run -it sireum/v3:latest /bin/bash
Sireum CLI is located at
/opt/sireum-v3/sireum. -
Sireum CLI with CompCert (Non-Commercial Only): https://hub.docker.com/r/sireum/v3-compcert/
docker run -it sireum/v3-compcert:latest /bin/bash
Sireum CLI is located at
/opt/sireum-v3/sireum.
Run:
-
sireum-v3/docker/build.shThe resulting image name is
sireum/v3:latest. -
With CompCert (Non-Commercial Only):
sireum-v3/docker/build-compcert.shThe resulting image name is
sireum/v3-compcert:latest.
Please file a new GitHub issue.
Run: sireum-v3/bin/sbt-launch.sh assembly
The jar will be located at sireum-v3/bin/sireum.jar
IntelliJ IDEA-based Sireum IVE described above (or standard IDEA Ultimate/Community Editions) are the recommended IDEs for Sireum v3 development.
CLion is recommended for C/C++ related development. JetBrains has graciously provided free licenses JetBrains' toolbox (including CLion) for Sireum project members.
Note: If .idea already exists, remove it first.
-
Retrieve Sireum IVE Development build (see above).
Increase memory settings for Sireum IVE in
<SIREUM-IVE-HOME>/.../bin/idea.vmoptionsor<SIREUM-IVE-HOME>/.../bin/idea64.vmoptions. -
In Sireum IVE starting dialog window,
select "Import Project".
-
In the "Import Project" dialog window,
select "Import project from external model", select "SBT", and then click "Next".
-
Next,
set the "Project JDK" to "/Applications/Sireum.app/Contents/Resources/sireum-v3/platform/java".
Then, expand "Global SBT settings":
-
Max Heap Size:4096 -
VM Parameters:-XX:+UseG1GC -XX:ReservedCodeCacheSize=1G -Xss4m -Dorg.sireum.home=<SIREUM_HOME>
-
-
In the "SBT Project Data To Import" dialog,
all modules should have been selected by default; click "OK".




