Logika is a program verifier and a natural deduction proof checker for propositional, predicate, and programming logics. Logika is part of a much larger analysis and verification framework developed by Robby called Sireum.
It is crucial that you get set up to use Logika during the first week of class. We will use Logika every week in class, and almost all homework assignments will use it.
There are two ways of getting set up to use Logika (actually, these methods also provide the entire Sireum framework, but we will only use and talk about the Logika part):
Logika can be used in a nice IntelliJ-based Integrated Verification Environment (Sireum/Logika IVE) (this is what we recommend for doing all your classroom exercises and homework). There is also a way to call Logika from the command line using its command line interface (Sireum/Logika CLI).
In summary,
If you want to do a custom installation of Logika (e.g., install from sources, install IVE into an existing installation of IntelliJ, use the Logika CLI, etc.), you can find how to do that in the complete Logika Documentation.
Z3 is a high-performance Satisfiability Modulo Theories (SMT) solver being developed at the Research in Software Engineering (RiSE) group in Microsoft Research.
We will use Z3 in one lecture early in the course, and then we will refer to it throughout the rest of the course.
Fortunately, you do not have to install Z3.
SIREUM_HOME/apps/z3
(or SIREUM_HOME\apps\z3
in Windows OS).Many interesting analysis, verification, and testing tools (including tools developed by Microsoft) use Z3. You can find out more about Z3 using the links below:
Quick start videos and instructions below.
(alternatively) Read the instructions for Windows in Section 1.1.1.1 of the Logika documentation
Read the instructions for Mac installation in Section 1.1.1.1 of the Logika documentation
Downloading CIS 301 Examples Used in Lectures
Follow the concepts in this video related to obtaining the examples (they may be slightly different for Mac).
Read the instructions for Linux installation in Section 1.1.1.1 of the Logika documentation
Downloading CIS 301 Examples Used in Lectures
Follow the concepts in this video related to obtaining the examples (they may be slightly different for Linux).
Sireum Logika is installed in all CS labs (e.g., 1114 and 1117 Engineering Hall). These machines can also be accessed from your personal machine using the Remote Desktop Protocol (RDP) (for this method, you need an RDP client on your personal machine, then you point it to the appropriate CS RDP servers corresponding to lab machines).
Quick Start Videos:
In a CS Windows machine (including Windows RDP server remote.win.cs.ksu.edu
),
Sireum IVE can be launched by using the start menu item Sireum
(or Sireum32
for the 32-bit version) or by issuing the command-line idea64
or idea
.
Sireum CLI can be launched by issuing the command-line sireum
.
The absolute path to SIREUM_HOME
is \\files.cs.ksu.edu\santos\sireum\win64\Sireum
.
Quick Start Video:
In a CS Linux machine (including using ssh -X
or using
the faster remote desktop protocal X2Go to cslinux.cs.ksu.edu
,
Sireum IVE can be launched by issuing the command-line idea
.
The absolute path to SIREUM_HOME
is /research/santos/sireum/linux64/Sireum
.
In the CS RDP macOS server remote-mac.cs.ksu.edu
,
Sireum IVE can be launched by double-clicking the Sireum
icon in /Applications
or by issuing the command-line: open /Applications/Sireum.app
.
Sireum CLI can be launched by issuing the command-line sireum
.
The absolute path to SIREUM_HOME
is /Applications/Sireum.app/Contents/Resources/sireum-v3
.
If you plan to use Remote Desktop Protocol (RDP) to access Logika on CS Lab machines from your personal machine, you can download the appropriate free client for your machine OS:
X2Go clients for various OSes can be downloaded from: http://wiki.x2go.org/doku.php/download:start