From 7fe22fdc6225eed83dd6c1f287df98ed1362d370 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Thu, 4 Sep 2025 00:04:48 +0200 Subject: [PATCH] thesis: Refine Conclusion --- thesis/src/06.conclusion.tex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/thesis/src/06.conclusion.tex b/thesis/src/06.conclusion.tex index 08a7777..4dc14f0 100644 --- a/thesis/src/06.conclusion.tex +++ b/thesis/src/06.conclusion.tex @@ -1,9 +1,11 @@ \chapter{Conclusion}\label{ch:conclusion} -\todo{Start with Goals in OSVU} +The primary goal of this work was to support the Operating Systems course by providing a practical and reliable way to automatically test students' C programs. +Exercises in this course often involve low-level concepts such as semaphores, sockets, and shared memory, which are difficult to test automatically with conventional approaches. +The motivation was therefore to develop a technique that allows intercepting function calls in order to verify whether students invoked the correct functions with appropriate arguments and in the correct order. -This work presented \texttt{intercept.so}, a shared object file intended to be preloaded using \texttt{LD\_PRELOAD}, which may be used to intercept function calls on Linux systems. +To address these challenges, this work presented \texttt{intercept.so}, a shared object file intended to be preloaded using \texttt{LD\_PRELOAD}, which may be used to intercept function calls on Linux systems. Furthermore, a supporting Python program, \texttt{intercept}, was presented to make the shared object easier to use. By using preloading to hook or intercept function calls, the overhead and performance degradation remain negligible for the purpose of testing student submissions. To make use of intercepted function calls, some techniques of automatic testing of simple C programs were discussed.