Skip to content
/ WebSVF Public
forked from SVF-tools/WebSVF

WebSVF : Online Learning and Teaching Platform for Code Analysis based on SVF

Notifications You must be signed in to change notification settings

mksaraf/WebSVF

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVF ANALYSIS TOOLS

1. Architecture

  • The overall architecture for the WebSVF is composed of following components:

    • Landing Page: Users will be able to view their codespace on the landing page. Landing page is hosted on github pages.It integrates with Firebase for authentication and storage as well as communicates with AWS for codespaces
    • Cloud (AWS): ECS service on AWS is used to host WebSVF Docker containers. Docker containers run as tasks on ECS.
    • Docker Container: Code-Server runs on the container with all the WebSVF extension preinstalled
    • WebSVF Extensions: There are 4 extensions that come preinstalled. These extensions help build user's input code and backend code which is used to generate the bug report for code analysis
  • Detailed explanation of the architecutre can be found here

2. Prerequisites

  1. Docker
  2. Git (if not using dockerhub)

3. Installation Guide

3.1 Install WebSVF using Docker Image (recommended)

To debug code and run tests, it is often useful to have a local HTTP server. For the purpose of further deploying the project on AWS, we have made available a local web server with a dockerized code-server. To install WebSVF using docker, ensure you have docker installed as per our prerequisite

  1. In order to have a local Docker Image in place, you can choose to either build from Dockerfile or download from DockerHub
    docker pull spc007ideal/websvf
  2. After the building or downloading completes, you can verify the Docker Image exists
    docker images -a
  3. Then you can start the web server by running
    docker run -itd -p 127.0.0.1:9000:9000 --name websvf websvf/websvf

To access the local server
if you are using Docker Desktop, start the image by clicking the run button. Alternatively, you can also enter the following URL into your web browser http://localhost:8080

4. User Guide

4.1 Use SVFTOOLS extension

  1. Click "BUILD INPUT TARGET" to generate a code sample for demonstration
  2. Click button below to open the target file
  3. Simply tap "TARGET REPORT" button to get the analysis report

4.2 WebSVF on the Cloud

To get started with WebSVF, simply signup on our website and get a code space with all the required SVF tools preinstalled.

This feature is still on beta and you might face issues while using it. We might already be aware about the issue and have started working on it. Please check our known issues section for further info

  1. Click on Log in which will take you to the Login/Signup Page
  2. If you do not have an account with us, you can signup to get your own personalised code space with all the Web SVF tools pre-installed

If you want to run the WebApp locally, you will need to follow the Guide here.

5. Developer Guide

About

WebSVF : Online Learning and Teaching Platform for Code Analysis based on SVF

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 71.8%
  • C 10.3%
  • JavaScript 6.9%
  • HTML 4.5%
  • TypeScript 3.9%
  • CSS 1.3%
  • Other 1.3%