{"id":20910143,"url":"https://github.com/viperproject/viperserver","last_synced_at":"2026-03-07T09:12:51.176Z","repository":{"id":39969853,"uuid":"241860144","full_name":"viperproject/viperserver","owner":"viperproject","description":"HTTP server that manages verification requests to different tools from the Viper tool stack.","archived":false,"fork":false,"pushed_at":"2026-03-05T16:23:07.000Z","size":11953,"stargazers_count":16,"open_issues_count":10,"forks_count":16,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-05T18:33:37.807Z","etag":null,"topics":["verification","viper"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viperproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-02-20T10:50:51.000Z","updated_at":"2026-03-05T15:03:07.000Z","dependencies_parsed_at":"2023-12-06T08:27:15.085Z","dependency_job_id":"7b7575d2-352c-46e3-bd77-0c08e8e60e9d","html_url":"https://github.com/viperproject/viperserver","commit_stats":null,"previous_names":[],"tags_count":183,"template":false,"template_full_name":null,"purl":"pkg:github/viperproject/viperserver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviperserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviperserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviperserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviperserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viperproject","download_url":"https://codeload.github.com/viperproject/viperserver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviperserver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30210618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["verification","viper"],"created_at":"2024-11-18T14:14:04.831Z","updated_at":"2026-03-07T09:12:51.151Z","avatar_url":"https://github.com/viperproject.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Test Status](https://github.com/viperproject/viperserver/actions/workflows/scala.yml/badge.svg?branch=master)](https://github.com/viperproject/viperserver/actions/workflows/scala.yml?query=branch%3Amaster)\n[![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](./LICENSE)\n\nThis is ViperServer, an HTTP server that manages verification requests to different tools from the Viper tool stack.\n\nThe main two Viper tools (a.k.a verification backends) currently are: \n\n- [Carbon](https://github.com/viperproject/carbon), a verification condition generation (VCG) backend for the Viper language.  \n- [Silicon](https://github.com/viperproject/silicon), a symbolic execution verification backend.  \n\n\n### The Purpose of ViperServer ###\n\n1. Viper IDE: integration of Viper into Visual Studio Code (VS Code). Viper IDE provides the best user experience for Viper.\n   More details here: http://viper.ethz.ch/downloads/\n1. Facilitate the development of verification IDEs for Viper frontends, such as: \n    - [Gobra](https://github.com/viperproject/gobra), the Viper-based verifier for the Go language\n    - [Prusti](https://github.com/viperproject/prusti-dev/), the Viper-based verifier for the Rust language\n1. Avoid 1-3 second delays caused by JVM startup time. ViperServer offers a robust alternative to, e.g.,\n   [Nailgun](https://github.com/facebook/nailgun).\n1. Develop Viper encodings more efficiently with caching.\n1. Interact with Viper tools programmatically using the HTTP API. A reference client implementation (in Python) is\n   available via [viper_client](https://github.com/viperproject/viper_client).\n\nFor more details about using Viper, please visit: http://viper.ethz.ch/downloads/\n\n\n### Installation Instructions ###\n\n* Clone **viperserver** (this repository) in your computer.\n* Execute `git submodule update --init --recursive` in the cloned directory to fetch the `carbon`, `silicon`, and (transitively) the `silver` repositories. Note that both `carbon` and `silicon` have a `silver` submodule. Even though `silicon`'s `silver` repository is actually used for compilation of ViperServer, we assume that both reference the same `silver` commit.\n\n* Compile by typing: ```sbt compile```\n\n* Other supported SBT commands are: ```sbt stage``` (produces fine-grained jar files), ```sbt assembly``` (produces a single fat jar file).\n\n### Running Tests ###\n\n* Set the environment variable ```Z3_EXE``` to an executable of a recent version of [Z3](https://github.com/Z3Prover/z3).\n* Set the environment variable ```BOOGIE_EXE``` to an executable of a recent version of [Boogie](https://github.com/viperproject/boogie-builder)\n\n* Run the following command: ```sbt test```.\n\n\n### Who do I talk to? ###\n\n* This repository is maintained by [Linard Arquint](mailto:linard.arquint@inf.ethz.ch).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviperproject%2Fviperserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviperproject%2Fviperserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviperproject%2Fviperserver/lists"}