diff --git a/thesis/src/06.conclusion.tex b/thesis/src/06.conclusion.tex index 08a7777..cd685cd 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.