All Projects → uw-unsat → serval-sosp19

uw-unsat / serval-sosp19

Licence: GPL-2.0 license
This repo contains the artifact for our SOSP'19 paper on Serval

Programming Languages

racket
414 projects
c
50402 projects - #5 most used programming language
assembly
5116 projects
python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to serval-sosp19

kianRiscV
KianRISC-V! No RISC-V, no fun! RISC-V CPU with strong design rules and unittested! CPU you can trust! kianv rv32im risc-v a hdmi soc with harris computer architecture in verilog: multicycle, singlecycle and 5-stage pipelining Processor. Multicycle Soc with firmware that runs raytracer, mandelbrot, 3d hdmi gfx, dma controller, etc.....
Stars: ✭ 167 (+542.31%)
Mutual labels:  riscv
verify-apple-id-token
Verify the Apple id token on the server side.
Stars: ✭ 49 (+88.46%)
Mutual labels:  verification
civet
Continuous Integration, Verification, Enhancement, and Testing
Stars: ✭ 30 (+15.38%)
Mutual labels:  verification
bl602-pac
Embedded Rust's Peripheral Access Crate for BL602 microcontrollers
Stars: ✭ 16 (-38.46%)
Mutual labels:  riscv
laravel-otp-login
Adds a customizable, translatable, configurable OTP verification step to Laravel Auth. You can add your own SMS provider too.
Stars: ✭ 16 (-38.46%)
Mutual labels:  verification
passport-activedirectory
Active Directory strategy for passport.js
Stars: ✭ 28 (+7.69%)
Mutual labels:  verification
platform-shakti
Shakti: development platform for PlatformIO
Stars: ✭ 26 (+0%)
Mutual labels:  riscv
tree-core-cpu
A series of RISC-V soft core processor written from scratch. Now, we're using all open-source toolchain( chisel, mill, verilator, NEMU, AM and difftest framework, etc) to design and verify.
Stars: ✭ 22 (-15.38%)
Mutual labels:  riscv
supervisor-rv
计算机组成原理课程 RISC-V 监控程序,支持 32 位和 64 位
Stars: ✭ 93 (+257.69%)
Mutual labels:  riscv
yggdrasil
No description or website provided.
Stars: ✭ 26 (+0%)
Mutual labels:  verification
freedom-u-sdk
Freedom U Software Development Kit (FUSDK)
Stars: ✭ 246 (+846.15%)
Mutual labels:  riscv
core-v-verif
Functional verification project for the CORE-V family of RISC-V cores.
Stars: ✭ 283 (+988.46%)
Mutual labels:  verification
riscv-meta
RISC-V Instruction Set Metadata
Stars: ✭ 33 (+26.92%)
Mutual labels:  riscv
tree-core-ide
The next generation integrated development environment for processor design and verification. It has multi-hardware language support, open source IP management and easy-to-use rtl simulation toolset.
Stars: ✭ 79 (+203.85%)
Mutual labels:  riscv
klever
Read-only mirror of the Klever Git repository
Stars: ✭ 18 (-30.77%)
Mutual labels:  verification
KWVerificationCodeView
A customisable verification code view to capture OTPs
Stars: ✭ 83 (+219.23%)
Mutual labels:  verification
DocumentReader-iOS
iOS Framework for reading and validation of identification documents
Stars: ✭ 54 (+107.69%)
Mutual labels:  verification
hagelslag
Hagelslag is an object-based severe storm hazard forecasting system.
Stars: ✭ 58 (+123.08%)
Mutual labels:  verification
link-verifier
A tool for verifying links in text-based files
Stars: ✭ 26 (+0%)
Mutual labels:  verification
neural-network-lyapunov
Synthesizing neural-network Lyapunov functions (and controllers) as stability certificate.
Stars: ✭ 82 (+215.38%)
Mutual labels:  verification

Serval repository

This repository contains the code and experiments for the SOSP'19 paper Scaling symbolic evaluation for automated verification of systems code with Serval.

Serval is a tool for building automated verifiers for systems code.

This file describes the high-level structure of the code, see EXPERIMENTS.md for details on how to run the experiments yourself.

Serval package

serval/: The source of the Serval verification package.

serval/serval/lib/: Core Serval functionality, including memory model and unit testing libraries.

serval/serval/riscv/: Verifier for RISC-V programs, including objdump parser, instruction encoder, and symbolic interpreter.

serval/serval/x32/: Verifier for i386 programs.

serval/serval/spec/: Library for writing system specifications.

serval/serval/llvm.rkt: Verifier for LLVM programs.

serval/serval/doc: API reference documentation

Security monitors

monitors/: Implementation and specifications of security monitors.

monitors/*/verif/: Specifications and verification infrastructure for security monitors.

monitors/komodo/: Our port of Komodo. monitors/certikos/: Our port of CertiKOS. monitors/keystone/: Our port of Keystone. monitors/toymon/: A toy security monitor for testing.

kernel/: Common kernel functionality. bios/: M-mode boot code. include/: Kernel / security monitor headers.

BPF JIT

bpf/jit/riscv64.rkt: Linux BPF to RV64 JIT.

bpf/jit/x32.rkt: Linux BPF to i386 JIT.

Other infrastructure

racket/test/: Code for testing Serval functionality.

racket/llvm-rosette/: Utility for compiling LLVM IR to Racket structures.

Licenses

Code in this repository is licensed under the GPLv2 license, found in the LICENSE file.

Some code in kernel/, bpf/ and include/ is adapted from the Linux kernel.

monitors/komodo/monitor.c is based on the original Komodo implementation.

racket/test/riscv-tests is adapted from the RISC-V test suite.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].