Symnet

Brief intro:

Symnet [0] is a state-of-the art network verification tool. The purpose of Symnet is to detect network problems as early as possible, without relying on dynamic testing (injecting and tracing packets through the network). Symnet works by statically analysing the network at a given moment using symbolic execution, thus making it a "packet tracer on steroids" which can trace the behaviour of entire classes of packets at once. Since its inception the project was the main focus of two Sigcomm(the flagship conference in computer networks) papers (2016 [3], 2018).

Project description: Web-based network debugger based on Symnet

So far the efforts of developing Symnet went mainly into making it as efficient and feature-rich as possible, and usability took the back seat. At this point the project is mature enough for us to consider improving its usability and popularity. In this regard, this project proposes developing a web-based network debugger based on Symnet. The debugger application will be a standalone effort, a Play [1] web-application that will rely on Symnet for the analysis logic. Symnet will be encapsulated as a web-service (by our team) and the debugger will invoke Symnet's API using REST [2]. The display of analysis results (the graphical interface) will be done using Vis.js[4].

In short, the intended outcome of this project is to build a web-application capable of running GDB-like commands [5] from the browser, relying on Symnet as the backed that computes the command results for the web-application to display.

First Steps:

Get acquainted with Symnet by reading the first 6 sections of the Symnet paper [0].

Required knowledge

  • Experience with Java and Object Oriented Programming.
  • Would be nice: Scala, Javascript, HTTP.

Documentation:

[0]: SymNet

[1]: playframework.com

[2]: Representational state transfer

[3]: Sigcomm papers

[4]: visjs

[5]: GDB

banner proiect

Partners

Bloomberg Wyliodrin

Organizers

ROSEdu Logo

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Creative Commons License