TJ

T. Jugariu

info

Please Note

2 records found

Generating P4 code by input-output examples

Master thesis (2023) - T. Jugariu, F.A. Kuipers, C. Ji, S. Dumančić
An all-important step in the ambitious pursuit towards autonomous networks has been the introduction of Software Defined Networking which has advocated the concept of separating a network’s control plane from the data plane and creating a programmable controller with a wider view of the network. This innovation proved to be very promising, but the non-programmable data plane quickly became a limitation. 
The next step was brought by the emergence of the programmable switch architecture and P4, a language specifically designed for defining the behaviour of programmable network devices. P4 is a remarkably powerful language that allows the software developer to define almost any packet-processing functionality, all while abstracting away from the specifics of the target’s hardware architecture.
Despite its many benefits, P4 brings with it an additional layer of complexity for the network administrators, which may find themselves overwhelmed by having to learn a new programming language.
This report tackles this issue by presenting a prototype that is capable of synthesizing small P4 programs from pairs of input & output packets. Under the hood, the proposed solution uses a bottom-up enumerative synthesizer called Probe. This synthesizer was re-implemented, improved, and tailored to leverage the particularities of the problem domain.
...
Grading exams is a time-consuming activity for teachers. Zesje is an open-source tool created to aid teach-ers in exam grading and streamline the grading process. Zesje currently uses computer vision techniques torealign images, and automatically find student numbers. However, teachers can currently only use Zesje tograde questions manually. Moreover the computer vision capabilities of Zesje can be improved. To make iteasier to grade exams, it should be possible for teachers to have multiple choice questions graded automati-cally. This project describes various improvements for Zesje, most notably using computer vision for the auto-matic grading of multiple choice questions, improving the accuracy of aligning scanned submissions, andautomatically detecting blank solutions. The team had to make several choices regarding implementations and choice of technology. Design goalswere also created to serve as a guideline for the project. At the end of the project, with the features imple-mented by the team, Zesje can automatically grade multiple choice questions, identify blank solutions andhas the corresponding front-end changes that allow the user to create multiple choice checkboxes on theexam PDF. These features have been tested extensively. The use of Zesje also poses some ethical challenges. Using automated grading may result in the event thatsome submissions may never be seen by a grader. By using benchmarks to compare the performance of processing scans in Zesje, the team found out thatthe grading time has greatly been reduced. ...