Compare commits
9 Commits
63e9ca046f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d29267454 | |||
| 7fe22fdc62 | |||
| ea00123e40 | |||
| bb5bd436d0 | |||
| d732fa8919 | |||
| 632913638c | |||
| 5fa52a198b | |||
| 3e55faa4bd | |||
| 783ef586f8 |
6
proj/perf/.gitignore
vendored
Normal file
6
proj/perf/.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
main
|
||||
server
|
||||
*.csv
|
||||
*.txt
|
||||
*.log
|
||||
*.zip
|
||||
@@ -4,13 +4,16 @@ CFLAGS=-std=c99 -pedantic -Wall -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -
|
||||
|
||||
.PHONY: all clean
|
||||
all: default
|
||||
default: main
|
||||
default: main server
|
||||
|
||||
main.o: main.c
|
||||
%.o: %.c
|
||||
$(CC) -c -o $@ $^ $(CFLAGS)
|
||||
|
||||
main: main.o
|
||||
$(CC) -o $@ $^ $(CFLAGS) -lc
|
||||
|
||||
server: server.o
|
||||
$(CC) -o $@ $^ $(CFLAGS) -lc
|
||||
|
||||
clean:
|
||||
rm -rf main *.o
|
||||
|
||||
67
proj/perf/server.c
Normal file
67
proj/perf/server.c
Normal file
@@ -0,0 +1,67 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(const int argc, const char *argv[]) {
|
||||
if (argc != 3) {
|
||||
fprintf(stderr, "usage: server <path> <mode>\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char *path = argv[1];
|
||||
const char *mode = argv[2];
|
||||
|
||||
int fd;
|
||||
if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) {
|
||||
fprintf(stderr, "unable to create socket: %s\n", strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
struct sockaddr_un addr = {.sun_family = AF_UNIX};
|
||||
strcpy(addr.sun_path, path);
|
||||
if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) != 0) {
|
||||
fprintf(stderr, "unable to bind socket: %s\n", strerror(errno));
|
||||
close(fd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (listen(fd, 4) != 0) {
|
||||
fprintf(stderr, "unable to listen on socket: %s\n", strerror(errno));
|
||||
close(fd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
size_t len = 4096;
|
||||
char *line = malloc(len);
|
||||
while (1) {
|
||||
int client_fd;
|
||||
if ((client_fd = accept(fd, NULL, NULL)) == -1) {
|
||||
fprintf(stderr, "unable to accept connection: %s\n", strerror(errno));
|
||||
break;
|
||||
}
|
||||
|
||||
FILE *client;
|
||||
if ((client = fdopen(client_fd, "w+")) == NULL) {
|
||||
fprintf(stderr, "unable open stream: %s\n", strerror(errno));
|
||||
close(client_fd);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int n = 0; getline(&line, &len, client) > 0; n++) {
|
||||
if (n % 2 == 1) {
|
||||
fprintf(client, "%s\n", mode);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(client);
|
||||
}
|
||||
|
||||
free(line);
|
||||
close(fd);
|
||||
unlink(path);
|
||||
}
|
||||
@@ -14,9 +14,22 @@ function test() {
|
||||
done
|
||||
}
|
||||
|
||||
rm -f /tmp/test.ok.sock /tmp/test.return.sock /tmp/intercept.performance.ok.sock /tmp/intercept.performance.return.sock
|
||||
./server /tmp/test.ok.sock 'ok' &
|
||||
./server /tmp/test.return.sock 'return 0' &
|
||||
|
||||
test ./main
|
||||
cd ../intercept
|
||||
test ./intercept -o -i - -- ../perf/main
|
||||
test ./intercept -o -i stderr -- ../perf/main
|
||||
test ./intercept -o -i file:out.log -- ../perf/main
|
||||
#test ./intercept -o -i unix:/ -- ../perf/main
|
||||
|
||||
cd ../server/src
|
||||
./performance -m ok &
|
||||
./performance -m return &
|
||||
cd ../../intercept
|
||||
sleep 1
|
||||
test ./intercept -o -i unix:/tmp/test.ok.sock -- ../perf/main
|
||||
test ./intercept -o -i unix:/tmp/test.return.sock -- ../perf/main
|
||||
test ./intercept -o -i unix:/tmp/intercept.performance.ok.sock -- ../perf/main
|
||||
test ./intercept -o -i unix:/tmp/intercept.performance.return.sock -- ../perf/main
|
||||
|
||||
45
proj/server/src/performance
Executable file
45
proj/server/src/performance
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# File: performance
|
||||
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
|
||||
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
|
||||
|
||||
import argparse
|
||||
|
||||
import intercept
|
||||
import intercept.standard
|
||||
|
||||
|
||||
MODE: str
|
||||
|
||||
|
||||
class Handler(intercept.standard.Handler):
|
||||
def before_pipe(self, fildes_ptr: intercept.Pointer) -> str:
|
||||
return 'return 0' if MODE == 'return' else 'ok'
|
||||
|
||||
def after_pipe(self, fildes_ptr: intercept.Pointer,
|
||||
ret_value: int, errno: str = None, fildes: list[int] = None) -> None:
|
||||
pass
|
||||
|
||||
def before_close(self, fildes: int) -> str:
|
||||
return 'return 0' if MODE == 'return' else 'ok'
|
||||
|
||||
def after_close(self, fildes: int,
|
||||
ret_value: int, errno: str = None) -> None:
|
||||
pass
|
||||
|
||||
|
||||
def main() -> None:
|
||||
global MODE
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-m', '--mode', choices=['ok', 'return'])
|
||||
args = parser.parse_args()
|
||||
MODE = args.mode
|
||||
|
||||
socket_name = f'/tmp/intercept.performance.{MODE}.sock'
|
||||
intercept.intercept(socket_name, Handler)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
BIN
thesis/intercept_v1.1.pdf
Normal file
BIN
thesis/intercept_v1.1.pdf
Normal file
Binary file not shown.
BIN
thesis/intercept_v2.0.pdf
Normal file
BIN
thesis/intercept_v2.0.pdf
Normal file
Binary file not shown.
139
thesis/src/02.related-work.tex
Normal file
139
thesis/src/02.related-work.tex
Normal file
@@ -0,0 +1,139 @@
|
||||
|
||||
\chapter{Related Work}\label{ch:related-work}
|
||||
|
||||
This chapter gives a rough overview on techniques and methods to intercept or hook system calls and function calls.
|
||||
See also Section~\ref{sec:methods-for-intercepting}.
|
||||
Some relevant methods will be discussed there in more detail.
|
||||
|
||||
|
||||
\section{System and Function Call Hooking in Literature}\label{sec:call-hooking-in-literature}
|
||||
|
||||
The following subsections explore some applications of system and function call hooking.
|
||||
There are possibly many other use-cases, but the following were deemed most important.
|
||||
|
||||
|
||||
\subsection{Classification of Hooking Techniques}\label{subsec:classification}
|
||||
|
||||
Lopez et al. \cite{lopez2017} classify subroutine hooking techniques as follows:
|
||||
|
||||
\begin{itemize}
|
||||
\setlength\itemsep{0em}
|
||||
\item Subroutine Type: Function / System call.
|
||||
\item Hook Insertion: Static (before execution) / Dynamic (during execution).
|
||||
\item Instrumentation Type: Active (``manipulation'') / Passive (``interception'').
|
||||
\item Hooking Location: On-device / Off-device (most used for mobile devices).
|
||||
\item Hooking Scope: Inner Functions / Exported Functions (e.g.,\ libraries).
|
||||
\item OS Modification: Required / Not Required.
|
||||
\item Availability of Source Code: Open-source / Closed-source.
|
||||
\item Pricing Model: Free / Paid.
|
||||
\end{itemize}
|
||||
|
||||
The technique developed in this work would be classified as follows:
|
||||
Function, Static, Active+Passive, On-device, Exported Functions, OS Modification Not Required, target program may be Closed-source, Free.
|
||||
|
||||
|
||||
\subsection{Linux Systems}\label{subsec:linux-systems}
|
||||
|
||||
Yasukata et al. \cite{zpoline} introduced zpoline, a system call hooking technique using binary rewriting.
|
||||
See Subsection~\ref{subsec:zpoline} for more details.
|
||||
Hong et al. \cite{datahook} developed DataHook, a system call hooking technique based on glibc.
|
||||
See Subsection~\ref{subsec:datahook} for more details.
|
||||
|
||||
|
||||
\subsection{Windows Systems}\label{subsec:windows-systems}
|
||||
|
||||
Hunt and Brubacher \cite{detours} developed Detours, a library for instrumenting arbitrary Win32 functions on x86 machines.
|
||||
Detours intercepts Win32 functions by re-writing target function images.
|
||||
Based on this method, Sze and Sekar developed Spif \cite{spif} (see next subsection).
|
||||
|
||||
|
||||
\subsection{Security Applications}\label{subsec:security-applications}
|
||||
|
||||
Fraser et al. \cite{fraser2000} introduced a general mechanism for securing unmodified commercial software by wrapping system calls at the library interface.
|
||||
They hook system calls by replacing the standard library entry points with wrapper functions, similar to \texttt{LD\_PRELOAD}.
|
||||
The wrapper functions are able to perform security checks or other security measures.
|
||||
|
||||
Garfinkel et al. \cite{ostia} developed Ostia, a sandboxing system, which uses system call hooking to secure applications.
|
||||
They implemented their own ELF binary loader to load their emulation library into memory before the sandboxed program starts.
|
||||
To communicate between this library and their \textit{agent}, they use Unix domain sockets.
|
||||
The \textit{agent} then responds, according to its policies.
|
||||
This is a similar approach to the one of this work (see Chapter~\ref{ch:manipulating-function-calls}).
|
||||
|
||||
Sze and Sekar \cite{spif} introduced Spif, an approach that defends against malware by tracking code and data origin on Windows systems.
|
||||
They use Detours \cite{detours} to intercept low-level Windows API calls.
|
||||
|
||||
Kern \cite{kern2023} discusses the use of \texttt{LD\_PRELOAD} in cloud environments for HTTP deception.
|
||||
This is done to analyze malware or other adversaries in real environments without their knowledge and without any risk of danger.
|
||||
Examples are to override the \texttt{send} and \texttt{recv} functions of libc.
|
||||
With some modifications, the technique presented in this work may also be used in this context to intercept and manipulate \texttt{send} and \texttt{recv} calls.
|
||||
|
||||
|
||||
\subsection{Software Distribution}\label{subsec:software-distribution}
|
||||
|
||||
Guo and Engler \cite{guo2011cde} use system call hooking for creating portable software.
|
||||
They developed CDE, which logs all files a program accesses during execution, including shared libraries.
|
||||
All accessed files and the environment are bundled together and may now be executed on any other system having a compatible kernel without having to install any dependencies.
|
||||
This would also be possible with the use of logged function calls like in this work (e.g., see Section~\ref{sec:intercepting-example}).
|
||||
|
||||
|
||||
\subsection{Rapid Prototyping}\label{subsec:rapid-prototyping}
|
||||
|
||||
Spillane et al. \cite{spillane2007} use \texttt{ptrace} to hook system calls of another process to simulate these calls using a user-space program.
|
||||
This is useful for rapid prototyping (e.g., file systems) by developing a user-space program first, and then, using the gained insight, porting it into kernel-space.
|
||||
|
||||
|
||||
\section{Function Call Hooking}\label{sec:function-call-hooking}
|
||||
|
||||
All underlying techniques for function call interception on Linux systems are mentioned in Section~\ref{sec:methods-for-intercepting}.
|
||||
See \texttt{ltrace} (Subsection~\ref{subsec:ltrace}), wrapper functions (Subsection~\ref{subsec:wrapper-functions}), and \texttt{LD\_PRELOAD} (Subsection~\ref{subsec:preloading}).
|
||||
|
||||
|
||||
\section{System Call Hooking}\label{sec:system-call-hooking}
|
||||
|
||||
This section discusses further techniques regarding system call interception.
|
||||
This excludes techniques discussed in Section~\ref{sec:methods-for-intercepting},
|
||||
like \texttt{ptrace} (Subsection~\ref{subsec:ptrace}), and \texttt{strace} (Subsection~\ref{subsec:strace}).
|
||||
Almost all following methods use binary rewriting to replace system calls with other instructions (except SUD, Subsection~\ref{subsec:syscall-user-dispatch}).
|
||||
This is one of the reasons why they are not mentioned in Section~\ref{sec:methods-for-intercepting}.
|
||||
Another reason is that this work focuses on function call interception rather than system call interception.
|
||||
|
||||
|
||||
\subsection{\texttt{int3} Signaling}\label{subsec:int3-signaling}
|
||||
|
||||
\texttt{int3} is a one-byte instruction (\texttt{0xcc}) that invokes a software interrupt.
|
||||
On Linux, the kernel handles it and raises \texttt{SIGTRAP} to the user-space process that executed \texttt{int3}.
|
||||
The \texttt{int3} signaling technique exploits this behavior to hook system calls; it replaces \texttt{syscall}/\texttt{sysenter} with \texttt{int3} and employs the signal handler for \texttt{SIGTRAP} as the hook function.
|
||||
Since \texttt{int3} is one byte, it can replace an arbitrary instruction without breaking neighboring instructions.
|
||||
This technique is traditionally used in debuggers to implement breakpoints.
|
||||
However, signal handling incurs a large overhead because it involves context manipulation by the kernel.
|
||||
\cite{zpoline}
|
||||
|
||||
|
||||
\subsection{Syscall User Dispatch (SUD)}\label{subsec:syscall-user-dispatch}
|
||||
|
||||
Syscall User Dispatch (SUD)~\cite{sud} was added in Linux 5.11, and it offers a way to redirect system calls to arbitrary user-space code.
|
||||
For the SUD feature, the kernel implements a hook point at the entry point of system calls.
|
||||
A user-space process can activate SUD via the \texttt{prctl} interface.
|
||||
When SUD is activated, the hook point raises \texttt{SIGSYS} to the user-space process.
|
||||
This mechanism allows a user-space program to leverage the \texttt{SIGSYS} signal handler as the system call hook.
|
||||
However, similarly to the \texttt{int3} signaling technique, SUD imposes a significant performance penalty on the user-space program due to the overhead of the signal handling.
|
||||
\cite{zpoline}
|
||||
|
||||
|
||||
\subsection{zpoline}\label{subsec:zpoline}
|
||||
|
||||
zpoline is a system call hook mechanism for x86-64 CPUs.
|
||||
Binary rewriting is used to replace (two-byte) \texttt{syscall}/\texttt{sysenter} instructions with a (two-byte) \texttt{callq *\%rax} instruction.
|
||||
Because this instruction jumps to \texttt{rax}, where also the syscall number is stored, the trampoline code has to be initialized beginning at virtual address 0.
|
||||
zpoline is exhaustive and achieves very low performance reduction (28--761 times less overhead compared to other exhaustive system call hooking techniques).
|
||||
\cite{zpoline}
|
||||
|
||||
|
||||
\subsection{DataHook}\label{subsec:datahook}
|
||||
|
||||
DataHook is a system call hooking technique for 32-bit programs based on glibc running on x86 or x86-64 machines.
|
||||
It relies on glibc's way of performing system calls, namely a \texttt{call *\%gs:0x10} instruction to call the \texttt{\_\_kernel\_vsyscall} function.
|
||||
The content of \texttt{gs:0x10} is backed up and modified to jump to a given hook function.
|
||||
DataHook is only exhaustive when used on glibc-based programs.
|
||||
It achieves a very low performance reduction (5--1429 times less overhead compared to existing hooking techniques).
|
||||
\cite{datahook}
|
||||
@@ -4,12 +4,13 @@
|
||||
This chapter discusses how to manipulate function calls and how this may be used to test programs.
|
||||
How function calls may be intercepted at all has been discussed in Chapter~\ref{ch:intercepting-function-calls}.
|
||||
This chapter builds on the basis of the previous one and expands its functions.
|
||||
In this context, ``manipulation'' means changing the arguments of a function, before calling it with the modified arguments, or skipping the execution of the real function completely and simply returning a given value (``mocking'').
|
||||
In this context, ``manipulation'' means changing the arguments of a function before calling it with the modified arguments, or skipping the execution of the real function completely and simply returning a given value (``mocking'').
|
||||
These techniques allow in-depth testing of programs.
|
||||
|
||||
In contrast to simply recording and logging function calls, which may be controlled via environment variables, manipulation of such function calls requires some other process to indicate how to handle each call.
|
||||
This work uses simple sockets to communicate between the process of the program to be tested, and a ``server'', which decides what action to perform for each function call.
|
||||
Currently, only communication over Unix sockets is implemented, but communication over TCP sockets is also easily possible.
|
||||
This work uses simple Unix domain sockets to communicate between the process of the program to be tested, and a ``server'', which decides what action to perform for each function call.
|
||||
Currently, only communication over Unix domain sockets is implemented, but communication over TCP sockets is also easily possible.
|
||||
This approach is similar to the one used in \cite{ostia} to communicate with the \textit{agent}.
|
||||
|
||||
Figure~\ref{fig:control-flow} illustrates the control flow for manipulating function calls.
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
|
||||
\chapter{Related Work}\label{ch:related-work}
|
||||
|
||||
This chapter gives a rough overview on techniques and methods to intercept or hook system calls and function calls.
|
||||
See also Section~\ref{sec:methods-for-intercepting}.
|
||||
Many methods have already been discussed there.
|
||||
|
||||
|
||||
\section{Function Call Interception}\label{sec:function-call-interception}
|
||||
|
||||
All related work regarding function call interception has already been mentioned in the aforementioned Section.
|
||||
See \texttt{ltrace} (Subsection~\ref{subsec:ltrace}), wrapper functions (Subsection~\ref{subsec:wrapper-functions}), and \texttt{LD\_PRELOAD} (Subsection~\ref{subsec:preloading}).
|
||||
|
||||
|
||||
\section{System Call Interception}\label{sec:system-call-interception}
|
||||
|
||||
This section discusses further related work regarding system call interception.
|
||||
This excludes techniques already discussed in Section~\ref{sec:methods-for-intercepting},
|
||||
like \texttt{ptrace} (Subsection~\ref{subsec:ptrace}), and \texttt{strace} (Subsection~\ref{subsec:strace}).
|
||||
Almost all following methods use binary rewriting to replace system calls with other instructions (except SUD, Subsection~\ref{subsec:syscall-user-dispatch}).
|
||||
This is one of the reasons why they were not mentioned in Section~\ref{sec:methods-for-intercepting}.
|
||||
Another reason is that this work focuses on function call interception rather than system call interception.
|
||||
|
||||
|
||||
\subsection{\texttt{int3} Signaling}\label{subsec:int3-signaling}
|
||||
|
||||
\texttt{int3} is a one-byte instruction (\texttt{0xcc}) that invokes a software interrupt.
|
||||
On Linux, the kernel handles it and raises \texttt{SIGTRAP} to the user-space process that executed \texttt{int3}.
|
||||
The \texttt{int3} signaling technique exploits this behavior to hook system calls; it replaces \texttt{syscall}/\texttt{sysenter} with \texttt{int3} and employs the signal handler for \texttt{SIGTRAP} as the hook function.
|
||||
Since \texttt{int3} is one byte, it can replace an arbitrary instruction without breaking neighboring instructions.
|
||||
This technique is traditionally used in debuggers to implement breakpoints.
|
||||
However, signal handling incurs a large overhead because it involves context manipulation by the kernel.
|
||||
\cite{zpoline}
|
||||
|
||||
|
||||
\subsection{Syscall User Dispatch (SUD)}\label{subsec:syscall-user-dispatch}
|
||||
|
||||
Syscall User Dispatch (SUD)~\cite{sud} was added in Linux 5.11, and it offers a way to redirect system calls to arbitrary user-space code.
|
||||
For the SUD feature, the kernel implements a hook point at the entry point of system calls.
|
||||
A user-space process can activate SUD via the \texttt{prctl} interface.
|
||||
When SUD is activated, the hook point raises \texttt{SIGSYS} to the user-space process.
|
||||
This mechanism allows a user-space program to leverage the \texttt{SIGSYS} signal handler as the system call hook.
|
||||
However, similarly to the \texttt{int3} signaling technique, SUD imposes a significant performance penalty on the user-space program due to the overhead of the signal handling.
|
||||
\cite{zpoline}
|
||||
|
||||
|
||||
\subsection{zpoline}\label{subsec:zpoline}
|
||||
|
||||
zpoline is a system call hook mechanism for x86-64 CPUs.
|
||||
Binary rewriting is used to replace (two-byte) \texttt{syscall}/\texttt{sysenter} instructions with a (two-byte) \texttt{callq *\%rax} instruction.
|
||||
Because this instruction jumps to \texttt{rax}, where also the syscall number is stored, the trampoline code has to be initialized beginning at virtual address 0.
|
||||
zpoline is exhaustive and achieves very low performance reduction (28--761 times less overhead compared to other exhaustive system call hooking techniques).
|
||||
\cite{zpoline}
|
||||
|
||||
|
||||
\subsection{DataHook}\label{subsec:datahook}
|
||||
|
||||
DataHook is a system call hooking technique for 32-bit programs based on glibc running on x86 or x86-64 machines.
|
||||
It relies on glibc's way of performing system calls, namely a \texttt{call *\%gs:0x10} instruction to call the \texttt{\_\_kernel\_vsyscall} function.
|
||||
The content of \texttt{gs:0x10} is backed up and modified to jump to a given hook function.
|
||||
DataHook is only exhaustive when used on glibc-based programs.
|
||||
It achieves a very low performance reduction (5--1429 times less overhead compared to existing hooking techniques).
|
||||
\cite{datahook}
|
||||
@@ -71,7 +71,7 @@ For some functions the modification of function arguments has been implemented.
|
||||
\section{Performance}\label{sec:performance}
|
||||
|
||||
Although high performance was not a primary goal of this work, the performance degradation caused by interception and manipulation should not be excessive.
|
||||
The following two subsections test and discuss the performance degradation of \texttt{intercept.so} compared to running a program without any intercepting or hooking.
|
||||
The following two subsections test and discuss the performance degradation of \texttt{intercept.so} compared to running a program without any interception or hooking.
|
||||
|
||||
|
||||
\subsection{Performance when Intercepting}\label{subsec:performance-intercepting}
|
||||
@@ -85,7 +85,7 @@ After that, logging to \texttt{stderr} was enabled (``Logging to stderr'').
|
||||
Finally, the logs were written to a file (``Logging to file'').
|
||||
For each of the four variants, the program was called with an iteration count beginning at 100 and increasing in steps of 100 up to 5000.
|
||||
Each measurement was taken 30 times, with one second between program executions to rule out statistical outliers.
|
||||
Figure~\ref{fig:performance} illustrates the results.
|
||||
Figure~\ref{fig:intercept-performance} illustrates the results.
|
||||
|
||||
It is clearly visible that the initialization step of \texttt{intercept.so} always takes around 10 ms.
|
||||
In comparison to that, the performance degradation of the intercepting procedure alone is negligible, only around +13\% compared to the baseline execution (see ``Intercept -- 10 ms'' and ``Baseline'').
|
||||
@@ -142,16 +142,91 @@ Most of the delay is caused by logging the recorded function calls.
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{Execution times of a simple program using \texttt{intercept.so} with different output modes.}
|
||||
\label{fig:performance}
|
||||
\label{fig:intercept-performance}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\subsection{Performance when Manipulating}\label{subsec:performance-manipulating}
|
||||
|
||||
Measuring performance for function call manipulation makes no sense without knowing the exact socket server to be used.
|
||||
Meaningful performance evaluation of function call manipulation requires a specific server implementation, since the response speed of the server dominates overall performance.
|
||||
As seen in Subsection~\ref{subsec:performance-intercepting}, most delay comes not from intercepting itself, but from the further processing.
|
||||
This also applies to function call manipulation.
|
||||
The performance degradation heavily depends on the response speed of the used socket.
|
||||
Therefore, an explicit performance test on manipulation was deemed unlikely to yield meaningful results and was not carried out.
|
||||
Despite this, a simple performance test has been conducted.
|
||||
|
||||
\todo{Simple performance test}
|
||||
The setup was the same as in Subsection~\ref{subsec:performance-intercepting}.
|
||||
But this time \texttt{intercept.so} was configured to connect to a Unix domain socket.
|
||||
At first, a simple C program was used to respond to the messages on the socket, only using \texttt{getline} and \texttt{fprintf}.
|
||||
For the first test run the program always responded with the \texttt{"ok"} command (``Manipulate (simple ok)''), for the second with the \texttt{"return 0"} command (``Manipulate (simple return)'').
|
||||
After that, the default Python implementation developed in this work, which parses the incoming messages automatically, was tested.
|
||||
Again, at first always responding with the \texttt{"ok"} command (``Manipulate (Python ok)''), and then with the \texttt{"return 0"} command (``Manipulate (Python return)'').
|
||||
Figure~\ref{fig:manipulate-performance} illustrates the results and some previous measurements for context.
|
||||
|
||||
Results of the simple C program show, that the communication over the socket alone has only minimal overhead compared with ``Logging to stderr''.
|
||||
Due to the parsing of messages the Python program has slightly worse performance degradation.
|
||||
The ``return'' test is slightly faster compared to the ``ok'' test, because the \texttt{pipe} function normally responds with \texttt{return 0; errno 0; fildes=[7,8]}, but when using \texttt{"return 0"} it responds with \texttt{return 0; errno 0}, which is less data to parse.
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
xmin=100, xmax=5000,
|
||||
ymin=0, ymax=400,
|
||||
scaled y ticks=false,
|
||||
ymajorgrids=true,
|
||||
grid style=dashed,
|
||||
legend pos=north west,
|
||||
legend cell align={left},
|
||||
width=\textwidth,
|
||||
xlabel=Iterations,
|
||||
ylabel=Execution Time,
|
||||
x unit=\#,
|
||||
y unit=\si{\milli\second},
|
||||
]
|
||||
|
||||
\addplot[color=blue] table [x=Cycles, y expr=\thisrow{Baseline Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addlegendentry{Baseline}
|
||||
\addplot[name path=a_top,color=blue!50,forget plot] table [x=Cycles, y expr=(\thisrow{Baseline Avg} + \thisrow{Baseline SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[name path=a_down,color=blue!50,forget plot] table [x=Cycles, y expr=(\thisrow{Baseline Avg} - \thisrow{Baseline SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[blue!20,fill opacity=0.2] fill between[of=a_top and a_down];
|
||||
\addlegendentry{Baseline ±SD}
|
||||
|
||||
\addplot[color=green] table [x=Cycles, y expr=\thisrow{Intercept Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addlegendentry{Intercepting}
|
||||
\addplot[name path=b_top,color=green!50,forget plot] table [x=Cycles, y expr=(\thisrow{Intercept Avg} + \thisrow{Intercept SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[name path=b_down,color=green!50,forget plot] table [x=Cycles, y expr=(\thisrow{Intercept Avg} - \thisrow{Intercept SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[green!20,fill opacity=0.2] fill between[of=b_top and b_down];
|
||||
\addlegendentry{Intercepting ±SD}
|
||||
|
||||
\addplot[color=red] table [x=Cycles, y expr=\thisrow{Ok Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addlegendentry{Manipulate (simple ok)}
|
||||
\addplot[name path=d_top,color=red!50,forget plot] table [x=Cycles, y expr=(\thisrow{Ok Avg} + \thisrow{Ok SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[name path=d_down,color=red!50,forget plot] table [x=Cycles, y expr=(\thisrow{Ok Avg} - \thisrow{Ok SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[red!20,fill opacity=0.2] fill between[of=d_top and d_down];
|
||||
\addlegendentry{Manipulate (simple ok) ±SD}
|
||||
|
||||
\addplot[color=orange] table [x=Cycles, y expr=\thisrow{Return Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addlegendentry{Manipulate (simple return)}
|
||||
\addplot[name path=d_top,color=orange!50,forget plot] table [x=Cycles, y expr=(\thisrow{Return Avg} + \thisrow{Return SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[name path=d_down,color=orange!50,forget plot] table [x=Cycles, y expr=(\thisrow{Return Avg} - \thisrow{Return SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[orange!20,fill opacity=0.2] fill between[of=d_top and d_down];
|
||||
\addlegendentry{Manipulate (simple return) ±SD}
|
||||
|
||||
\addplot[color=cyan] table [x=Cycles, y expr=\thisrow{PyOk Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addlegendentry{Manipulate (Python ok)}
|
||||
\addplot[name path=d_top,color=cyan!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyOk Avg} + \thisrow{PyOk SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[name path=d_down,color=cyan!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyOk Avg} - \thisrow{PyOk SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[cyan!20,fill opacity=0.2] fill between[of=d_top and d_down];
|
||||
\addlegendentry{Manipulate (Python ok) ±SD}
|
||||
|
||||
\addplot[color=magenta] table [x=Cycles, y expr=\thisrow{PyReturn Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addlegendentry{Manipulate (Python return)}
|
||||
\addplot[name path=d_top,color=magenta!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyReturn Avg} + \thisrow{PyReturn SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[name path=d_down,color=magenta!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyReturn Avg} - \thisrow{PyReturn SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
|
||||
\addplot[magenta!20,fill opacity=0.2] fill between[of=d_top and d_down];
|
||||
\addlegendentry{Manipulate (Python return) ±SD}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{Execution times of a simple program using \texttt{intercept.so} with different manipulation modes.}
|
||||
\label{fig:manipulate-performance}
|
||||
\end{figure}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -96,5 +96,79 @@
|
||||
month = jun,
|
||||
articleno = {ISSTA005},
|
||||
numpages = {21},
|
||||
keywords = {DataHook, Hooking technique, Software analysis, Software debugging, System call}
|
||||
keywords = {DataHook, Hooking technique, Software analysis, Software debugging, System call},
|
||||
}
|
||||
@article{lopez2017,
|
||||
title={A survey on function and system call hooking approaches},
|
||||
author={Lopez, Juan and Babun, Leonardo and Aksu, Hidayet and Uluagac, A. Selcuk},
|
||||
journal={Journal of Hardware and Systems Security},
|
||||
volume={1},
|
||||
number={2},
|
||||
pages={114--136},
|
||||
year={2017},
|
||||
publisher={Springer},
|
||||
}
|
||||
@masterthesis{kern2023,
|
||||
author = {Patrick Kern},
|
||||
title = {Injecting Shared Libraries with LD\_PRELOAD for Cyber Deception},
|
||||
school = {TU Wien},
|
||||
year = {2023},
|
||||
}
|
||||
@inproceedings{guo2011cde,
|
||||
title={CDE: Using system call interposition to automatically create portable software packages},
|
||||
author={Guo, Philip J. and Engler, Dawson},
|
||||
booktitle={2011 USENIX Annual Technical Conference (USENIX ATC 11)},
|
||||
year={2011},
|
||||
}
|
||||
@inproceedings{detours,
|
||||
title={Detours: Binary interception of Win32 functions},
|
||||
author={Galen Hunt and Doug Brubacher},
|
||||
booktitle={Windows NT 3rd symposium},
|
||||
year={1999},
|
||||
}
|
||||
@inproceedings{spillane2007,
|
||||
author = {Spillane, Richard P. and Wright, Charles P. and Sivathanu, Gopalan and Zadok, Erez},
|
||||
title = {Rapid file system development using ptrace},
|
||||
year = {2007},
|
||||
isbn = {9781595937513},
|
||||
publisher = {Association for Computing Machinery},
|
||||
address = {New York, NY, USA},
|
||||
url = {https://doi.org/10.1145/1281700.1281722},
|
||||
doi = {10.1145/1281700.1281722},
|
||||
booktitle = {Proceedings of the 2007 Workshop on Experimental Computer Science},
|
||||
pages = {22–es},
|
||||
keywords = {rapid prototyping, monitors},
|
||||
location = {San Diego, California},
|
||||
series = {ExpCS '07},
|
||||
}
|
||||
@inproceedings{spif,
|
||||
author = {Sze, Wai Kit and Sekar, R.},
|
||||
title = {Provenance-based Integrity Protection for Windows},
|
||||
year = {2015},
|
||||
isbn = {9781450336826},
|
||||
publisher = {Association for Computing Machinery},
|
||||
address = {New York, NY, USA},
|
||||
url = {https://doi.org/10.1145/2818000.2818011},
|
||||
doi = {10.1145/2818000.2818011},
|
||||
booktitle = {Proceedings of the 31st Annual Computer Security Applications Conference},
|
||||
pages = {211–220},
|
||||
numpages = {10},
|
||||
location = {Los Angeles, CA, USA},
|
||||
series = {ACSAC '15},
|
||||
}
|
||||
@inproceedings{ostia,
|
||||
title={Ostia: A Delegating Architecture for Secure System Call Interposition},
|
||||
author={Garfinkel, Tal and Pfaff, Ben and Rosenblum, Mendel},
|
||||
booktitle={NDSS},
|
||||
year={2004},
|
||||
}
|
||||
@inproceedings{fraser2000,
|
||||
author={Fraser, T. and Badger, L. and Feldman, M.},
|
||||
booktitle={Proceedings DARPA Information Survivability Conference and Exposition. DISCEX'00},
|
||||
title={Hardening COTS software with generic software wrappers},
|
||||
year={2000},
|
||||
volume={2},
|
||||
number={},
|
||||
pages={323-337 vol.2},
|
||||
doi={10.1109/DISCEX.2000.821530},
|
||||
}
|
||||
|
||||
50
thesis/src/performance/perf-5.csv
Normal file
50
thesis/src/performance/perf-5.csv
Normal file
@@ -0,0 +1,50 @@
|
||||
13622572;13051468;13095925;12945342;13356884;13055206;13531465;12814286;13043964;13449695;13303249;13379327;13261578;12912337;13658542;13114171;13320623;13093931;13274123;13263783;13845597;7108521;13084774;13711175;13856729;13002533;13144190;13722588;13259404;13010249
|
||||
16613354;16087649;16349369;16448322;16951474;16161683;16759850;17038243;16348257;16186121;16572935;16076177;17043172;16433073;16303239;16394117;16342025;16325623;16898380;16467069;16134580;16353007;16034335;16669093;16057050;16616671;16293972;16396452;16764238;16569779
|
||||
19543979;19540142;19332557;19761473;19466227;19659454;20171953;19865025;19956213;19851187;20080635;19905864;19906455;19330492;20089001;19812322;19788546;19644405;19375620;19543017;20151493;20259615;20920313;20331795;19522507;20520493;19888952;19599377;20488341;20161844
|
||||
23351694;22687969;23798736;24163918;23657740;23144059;24094823;22596651;22802954;22975089;23150061;24120904;23301927;22581883;23355091;22843523;23997994;25033915;23114522;22966653;23550432;23033193;22654815;22695705;22496827;22431981;23032192;22928489;23051779;22992263
|
||||
26870686;26306627;27097198;29707237;29526635;26295204;25770812;26097518;28083541;26116356;25892148;26067420;26521605;25895455;26176472;26373206;26755451;26284223;25707728;26317739;27324963;27794618;26280546;26676458;27129872;28031470;28134300;26546925;26967886;26809357
|
||||
29423715;29693120;29487019;29498080;30052441;30800640;29841179;29501476;30368688;30126937;31832943;29197754;29224236;29767325;29153608;29752627;31028455;29415038;31336906;29932277;29605429;29829045;29993065;30032553;28966664;29247272;27118901;30263793;29791823;29220429
|
||||
32154760;32377876;32456349;32697129;32624687;32348118;32394559;32440648;33043744;32638855;33242282;32647472;33406491;33213506;32719242;33230729;32715194;32781453;32804297;32791363;32737657;33708551;33284845;32071218;32525113;32679524;33029647;32795671;32742157;35060077
|
||||
35908410;35699864;35456199;35468814;35612163;35918350;36259325;37486659;37110876;36433865;35661750;35718160;35715194;35530884;36183588;35310024;36098412;36426141;36063463;36291429;36015760;35730454;35991844;35875848;37427093;38957868;36243435;35673884;35977526;36490747
|
||||
39887491;38749521;39013376;41040829;42470287;38850609;39364641;39382897;38519223;39022394;39441571;38973618;39442954;38556035;39533049;39608597;39357137;39313071;39459085;39436020;38932198;38690166;39261630;39553189;39560484;38410121;39260899;39549292;40444167;40023797
|
||||
42495977;42392576;43299654;42350003;43178990;42396624;42713372;42383328;43491079;42075759;50776695;42882141;42590863;42496569;44734243;41930024;44205502;45305667;46179952;42146526;42726518;44367338;42857092;42262242;43367347;42079646;42190753;47466241;42376095;44373659
|
||||
45209670;46375914;44762358;46361667;45386796;45456561;45515396;46019529;46207687;51697202;45591154;45390393;44571375;46397016;45072844;45933852;45355294;45640169;45693914;45210532;45971546;46628106;45825451;45673695;44643306;45714515;45256041;44902652;45441944;47710527
|
||||
49131619;48472103;48002867;49753581;49407586;48379111;48826995;49280408;48883124;48036523;47718033;48691631;49595393;50638838;49418298;48805132;48495008;48945045;48087623;49033217;49800904;48636854;50098384;49632816;49330146;48655420;49330216;48638899;49051483;50294237
|
||||
52102673;52218920;51817426;51940897;56952962;52235732;51092643;51247816;51817858;51696812;53100309;51730858;52053327;52131539;58700088;51483496;52005734;52825984;52364504;52558041;51209802;51120168;51558462;53913013;51902493;51513435;53206045;53969233;52276723;52180535
|
||||
56340307;56302053;57469629;57441254;56964154;55476032;55860702;56343354;55847536;56911632;55529135;57125539;55692885;54537732;55492103;56742191;58799383;55275381;58614442;56168041;55204783;55724988;55895461;55553593;57900340;54928193;56165447;54856363;54548042;55989644
|
||||
58416727;58021075;59125489;58419382;58065822;57638239;61770868;58849651;58022909;58013019;63528826;58296833;58351941;58324768;58793642;58091994;58092725;65033000;60926472;60141331;58682615;59088547;59666454;59446866;59219382;58433921;57496182;58591388;58603261;58332233
|
||||
63359325;62200486;61418672;61952733;61899089;66339678;61818862;61597089;61452588;62784084;60525930;61276835;63110511;61023080;62080392;61757031;62227128;61163725;62200497;63064160;62153675;62183694;61428381;61516703;61574586;62177722;65392311;61451607;62512746;64735901
|
||||
64595277;64688368;67218793;64104780;64015385;63743235;70296224;65548616;64350089;63767383;64632640;64848490;64755459;66148726;65864151;65544738;64251116;64891084;67764046;64807742;66133406;65804886;65352043;66721554;63754206;64693539;68620175;64597993;64414094;65552164
|
||||
69482478;68437319;67282397;68094491;67174497;73166462;68094150;72845636;68290343;68379507;69109631;67913479;67018262;68402613;69541954;67852660;69393394;66816840;71185268;67980378;69014946;68014465;67559378;67556542;68388154;67908930;70011720;67924470;68491094;69310223
|
||||
70962565;72069403;70761362;72807913;72102918;72510824;71001050;72387683;71291096;76940472;73221020;75844946;70801281;75598105;73752796;71933258;71207192;71717076;72183105;75151675;70339460;70909091;70903961;70861418;70642351;70678652;70322427;70942396;73165531;71584138
|
||||
75287299;76363047;74328279;75408305;74937016;77055046;75074243;77561123;75502659;74046199;73559510;79007093;74409107;75272881;77523500;79125614;75529922;74208966;73590941;75724942;74825740;74084544;74140684;78166394;74697058;74627894;76464074;75280165;76801392;78086247
|
||||
78075938;78202354;80179870;77770633;78085276;79019869;76740132;77986593;79956795;85945634;79989359;78808847;79465588;77416431;78372837;81247734;80383037;77953279;79203187;80481368;76737959;78187296;77754872;77405311;77425389;77714132;77583457;77173308;79439617;77923742
|
||||
80595051;82478844;80352297;81944312;83944503;79530024;78634217;80353600;80111658;82518251;83887661;85427255;84292511;80011542;80534703;84993148;80681920;80899655;81112461;80480979;80136987;81782738;80960313;81036372;85660580;84079376;80473965;81226853;81093723;82220321
|
||||
83207205;84334945;84309265;85290869;84986405;83760585;85174452;89507142;84073335;86404030;88646032;84994151;85152589;86792707;84141277;83681871;88791435;84548301;84161738;86718032;83356868;83518924;84969934;83348161;83251633;83074707;89510819;84071430;83805463;87259017
|
||||
86102682;90399562;88043367;87659559;95273376;86947590;87377719;89403690;89406485;86845130;86830231;87054508;85889446;88021584;86052425;88607026;89547481;88715218;89702242;90340678;88616355;86842806;91853107;87246363;89122993;86954674;90312623;88085309;89511611;88692133
|
||||
90385034;98742042;91701321;92086412;90949875;91055682;89904617;90849440;89790575;90257897;91355878;89506641;92341049;89808360;91614803;90710860;91856143;89910038;90222598;91273788;90803290;90570876;91336831;90940738;90940588;89852676;93210284;90712133;98174996;90303966
|
||||
94368974;96012619;94343163;95231036;94494839;92740879;92988722;98712384;93113295;93990596;94426617;93774104;95812490;94728635;94153043;94244411;93048829;92587500;96120741;95144126;93932744;96425275;96126772;94617048;93431435;95364346;93929137;94206488;93588262;94536722
|
||||
99565027;96761580;99778524;99509980;98232569;96573905;97757923;96543886;97465172;98553535;97904289;97475262;96739137;96349186;96883337;97443430;99263159;98907565;96850534;96076495;100650574;96284079;97891103;97623662;96056997;96474591;99497175;95579035;99146401;96503027
|
||||
98925471;99786260;99730882;99494791;100633822;106028232;101593454;102457639;101029193;102119690;100458861;100264462;102238692;100390709;101232600;100047509;103263461;103730883;99476275;100176992;100330521;101192583;103271998;101887808;99734809;100616640;104505313;99457399;101667569;101743526
|
||||
103457950;107902848;103541694;109332156;103724680;104202983;104820378;106967815;103042420;103787153;104232751;103801280;104136043;103123930;102208294;107328018;104725392;103034715;104831780;103532035;103097147;105236569;102391360;101480204;103106816;105860907;106394587;103641920;103507477;102790209
|
||||
104360020;108875606;106381872;105480234;108378045;109550301;105815419;106254895;105864514;109186853;105822282;111819377;106187344;106318219;106780490;106094713;105785269;105865316;105853893;107582694;107813104;105775611;106040908;107545502;105959650;108734040;106328118;107414447;108061208;107897970
|
||||
111100595;109640538;109355593;111930273;109515955;108271909;110745814;115038906;109038323;109628405;109584078;108943559;110770492;110034387;110386263;109001161;109164349;109439145;109601423;111516396;111959400;111495165;109237282;109777135;109593156;110132979;110975652;108438585;109254486;110293602
|
||||
116521488;113936457;111686399;118259758;115161235;118658636;112544572;114400311;117431603;113817855;113687922;116080829;112527298;116100036;112718361;111368349;111679374;112850609;112959992;112877412;112958309;117635430;116568740;112470337;113503964;115166906;116037464;124832226;114424228;112868965
|
||||
115790863;123623629;119068616;117349383;114768900;120919104;115155414;115693814;115516558;115230250;115509274;115747669;118800082;117084055;116734394;119117330;114972066;118168020;117552359;116338291;115609159;115908973;117256312;115595843;116720887;115481420;118908594;116418438;116493083;117063756
|
||||
118715628;119089506;120132801;119821594;125412869;120587087;126841755;125893766;118296129;121295128;121081993;121617537;122328022;127671944;119616554;122593120;120835973;121521420;119362238;120039329;121203239;122855982;128858829;120832435;120286571;119812797;118786296;121083996;119443187;119582247
|
||||
122549514;121650922;122158532;124755707;121931339;123748082;123891733;123546138;121951028;122857796;123285861;128906842;121921399;121791206;122674278;124775115;122093435;125159605;122667996;124489378;123111691;121821075;121936839;120237386;122086382;121078556;121713945;121382469;127094248;122033478
|
||||
127438439;132396559;127836916;127429222;125552471;125640152;126525980;129088568;130422749;124874710;127222679;128725269;130088958;127439902;130325981;124842347;131700230;125130879;130072145;126328845;127516582;125014693;124744365;127598691;126233660;125541340;124598080;128946450;124748985;131733375
|
||||
132295662;129646826;133344488;134021718;129049932;128337674;128586007;134367483;130575097;130241065;137711745;131617930;133627790;128750349;128082926;128718416;130622800;128696493;131363554;131397070;129904889;129926552;127895020;129087206;127150458;139230497;130987581;130077947;128448890;133216648
|
||||
134171601;130918797;132368284;131637950;135933306;134696695;135686204;133726353;145815649;130583393;130815005;136295903;132883369;130769836;132543546;132233612;133652980;135041607;132505302;134761802;133519870;137561752;131030816;131950359;134052088;133335391;131993343;130931171;135141313;132628252
|
||||
135541052;136128136;135548527;135027120;138316385;136399666;138643673;137125462;138266878;134244744;135800017;135507126;136452609;135274572;137218283;136780520;140624336;140127887;140079884;134515622;135889381;134850686;140391441;135982112;136180589;135916805;133680263;134973585;139314410;133918999
|
||||
138986712;142403285;136345391;141014136;142132968;138336083;138282929;143684313;142643473;138306556;137962003;137474834;138780440;139353307;138125803;140626470;137669964;136825477;141730403;138491196;139834355;137730742;138574970;127215035;140933028;139617893;137024746;139184378;140716455;138911696
|
||||
141531165;141613555;140548418;140228233;142061659;141065205;141599278;141352285;143772806;153580583;144616762;139724070;141148047;141291337;145657002;144605249;143885055;145189800;142350853;145952537;143419207;145123471;143594268;143710745;140689814;149554402;145406893;141377755;141331716;146599999
|
||||
147503772;145770622;145375232;158056542;149419137;143973859;148110837;155944995;144314202;143831922;144102940;143864254;145018606;147169245;150113545;147784544;146858680;145973526;143527928;155422244;147389816;147246036;145717538;145839355;146014747;145418425;145575181;145108942;145763899;145884033
|
||||
151411509;148403135;147849315;151406520;150073051;150873211;149887570;148307630;146098945;157760067;145892252;148016333;149132549;151615229;147483625;148831123;148091361;153088252;147631425;151973289;150891981;151121900;147934647;147601187;146474130;150304998;147221217;148939958;149797800;147234724
|
||||
153451774;151637227;150783492;152830363;156110749;151563424;153166128;154282946;157617206;150539969;150632019;151966220;153188133;159235271;156361269;150838092;151260185;150743118;150064706;152044966;153287549;159403261;151105545;153375230;151452823;151781283;151591644;152311377;151741416;150639709
|
||||
153076329;155566784;156124471;154405842;158103200;156951595;155082591;154198859;155552649;155615271;153550987;154061051;155091671;154024380;156497862;154408830;159849166;152754907;154893285;154991947;154392900;153815215;160860870;150805777;170084061;146224858;153299159;158595214;155664471;163205442
|
||||
143852183;162824250;159635073;159650794;159174064;156748195;163199933;156500723;159362533;157486645;158547975;157957203;164252366;159573495;156461097;161633301;156021782;155265988;157401532;158051649;159042521;165826047;157148239;157825970;165535200;156797155;157607795;158665026;157471751;158782887
|
||||
159714273;161728470;159700717;160074216;161652793;160270709;162664145;161454216;160341017;165961535;161094095;161452825;165691689;159136329;162627475;161829430;160766648;159780315;160582178;160890099;163931108;162110800;159825224;165406334;162609071;166525377;163241986;161031908;160006949;161035375
|
||||
165221115;163162842;164451185;165014864;164883458;165847727;162739669;165497706;165598383;163909731;164345581;164160871;163782944;166123047;163264313;163883731;165573065;172214453;167402311;162743629;165347956;162457622;164043194;164251719;164065908;163486278;162498974;164038775;168172084;164464486
|
||||
167690276;167102249;167820870;170278973;166506028;169813566;166558290;170883853;167968420;167029950;169331367;166428718;168518943;167480669;170254036;166923864;166964083;169504746;168660700;170289206;167027727;168448598;166166889;165999363;172418838;167987449;167806757;169921030;166448109;166777391
|
||||
175653105;175399992;170659521;170181248;171324087;170480933;171005285;172378843;168423813;172148535;171628211;172161791;171806919;169181761;170259052;175676985;170281425;173142765;172841778;171032801;172025507;173463501;170760621;178233481;173665114;173743948;174209616;173827752;182049953;169462681
|
||||
|
50
thesis/src/performance/perf-6.csv
Normal file
50
thesis/src/performance/perf-6.csv
Normal file
@@ -0,0 +1,50 @@
|
||||
13293759;13073590;13025155;13588724;13167112;13142995;13018222;13109019;13565248;13188594;13648711;12835836;12977393;13006980;13709780;13444583;12784937;13380027;13146031;13330591;12959748;12918337;13025606;13138246;13195668;13021929;13187071;13241047;13024504;13162062
|
||||
16148395;16131542;16831116;16291344;16491484;16145670;16149788;16425656;15707686;16767342;16787281;16416588;16403542;16345469;16765980;16113126;16750459;16893087;16471555;16487496;16441607;16785447;17140019;16287897;16157834;15812962;16461516;16313618;16211348;16807069
|
||||
19626377;19756991;19101002;20034572;19044322;19132805;19942282;19454511;19192741;19429092;20142714;24682736;21195046;23255884;20784956;19152643;18901854;18906803;17534689;18262227;18373785;18459402;18829513;18348045;18638551;18627861;18208722;18276625;18422891;17911123
|
||||
21262898;21222348;21340369;20944638;22235675;20914929;20799083;21237148;21593131;21065483;21344818;21218491;21290181;21394856;22507104;21978253;20528216;22313957;23055403;20541161;20505311;22567282;20486444;22184736;21402801;21259421;21876345;21410406;21345158;20846146
|
||||
24295572;23761019;24330560;24656405;24476314;24689349;24155509;24346641;24221928;24933886;23540639;26004855;24097346;25580417;24590436;26893909;23447668;24148375;23645434;24209113;23874871;24287516;24393252;25745820;24096744;24814073;23524809;24309659;24581509;24174486
|
||||
28027789;27688508;28249873;27167853;27626516;27385136;26914608;26068709;27384856;27766149;26997490;27609683;29858389;27315129;28071856;27578773;29230434;27659632;26648961;26673108;27258830;27533065;27351832;28318176;27111292;28970127;27470944;26388072;27385858;27610196
|
||||
30281634;30429643;29110761;30304839;30107885;29666464;32222378;30598863;30499389;30419503;30060393;30385166;30474060;29429373;29415265;30128165;31564355;30116182;28798072;31405436;29987230;29989134;31356701;29375227;31264872;31532885;32014524;30829152;31997601;31448109
|
||||
35611777;35519107;36007790;36264641;34842808;35099930;36548494;35746941;36093717;35402069;35977141;39007258;35527243;36086624;35046506;34579865;35054301;36300340;34387240;35082436;34396979;35520340;34909850;35257958;36317093;35433691;36040284;36032769;35644011;35843850
|
||||
39350779;38404123;37870172;40214964;39559326;38772422;39016177;40246345;38809664;39245043;37711973;39334738;38118757;40042979;38847458;42125670;42408020;38935990;38782391;39061555;38674731;42649511;39108838;39020365;39102215;38866745;39800536;38237258;38567312;39375107
|
||||
41531312;40708076;42343756;41869079;41300050;41977261;42531652;39708557;44147984;42911222;43987220;41776649;45570067;42464101;42106132;40295963;42991539;43447318;42582211;43409514;41747513;42494029;42862136;40535670;42463279;43102886;42571781;43869301;42479191;42247729
|
||||
47600686;45592631;45196168;44184115;46188804;44817580;46083689;44018571;44496444;45272778;45900462;45933095;45154377;45470784;43960299;46489059;45878509;46201929;45660413;44345339;44073740;45572763;45841397;43608442;42667928;45567763;42609214;42717686;41828392;42524950
|
||||
43563786;45938296;44871214;46492386;45360730;45426477;45594034;46390698;45559557;45551552;47306153;44695001;45329098;44285623;45448341;45609284;45986771;43144548;45226488;44961261;44368725;43526554;46666896;46962313;46744819;45480093;43860725;47584716;48214895;48500943
|
||||
51876847;52351602;52121473;51765740;51446106;51782673;51577302;53319750;52287958;52172823;51799295;50637189;50761863;51222451;51826197;52742955;50060986;52198043;52496745;51270935;49661136;51484993;51942755;50213773;51775689;56577803;54044143;51090934;52220878;50974788
|
||||
56007101;53572423;55100052;55428302;54446728;55902216;53920192;54837129;54498629;55323308;55097326;57179376;53422221;54244594;55463450;55142635;55311946;54227280;55996671;56075214;55892557;55003884;54914361;55079282;57285854;55094842;56376110;55732455;54983224;54548918
|
||||
58086276;58788916;57464894;58395679;57712276;58852630;59480875;58723378;58603324;57987022;57645055;59284693;58990048;57131854;57049945;58061217;57525042;59203474;58010217;58367825;58598685;57547025;58972364;56723187;58052590;59172133;57438152;58986822;59212932;58502738
|
||||
61496596;61318388;60620608;62090103;61874803;64982183;60872288;59946263;60544950;61941404;62539290;60437531;67235457;61244675;60939841;61322808;62307898;62396972;60880064;62853092;62930793;61538699;62307468;66614486;61674344;61189718;59972765;61270074;62523819;60731084
|
||||
66525072;65435959;64664805;66020067;64562285;65748438;63722007;70809426;65789548;64967495;64194638;63566904;65073381;64936154;65035428;65389268;64164921;63533189;64551855;65851519;65077120;65849916;64137667;64821842;65302378;65333218;65043364;65462230;63389138;64501457
|
||||
68721245;68000219;68518830;69621591;68044876;68064355;68146224;68232733;68582325;65887289;66537917;67156945;67799868;68353658;70216722;67899664;68478091;68444216;68134882;69221111;68997604;69060286;67296668;66950292;68544431;68740764;68998457;68488973;68022613;67699614
|
||||
70303451;71210691;72063053;71293652;69977265;70806523;70433255;71952116;70670878;71373418;71468243;71523480;71378257;71813115;71586904;71957637;70457532;71839517;72663854;71916116;70772075;71258804;71483042;70207424;70791143;71032995;70946216;71399329;71212514;70347648
|
||||
73755904;75924563;74807214;74362958;73537127;73446130;72923592;75081640;75377727;75396804;74785602;74108783;74756335;74778158;75339342;73676930;74141757;73418457;74866531;75425089;75777516;74585042;74285658;76561936;74847353;72912610;75724995;76737980;75442694;74902962
|
||||
75745093;78984741;78601554;79022274;76556736;77271190;79856772;77693163;75557778;76010330;76886951;78478834;78797977;75685959;78541477;78016373;75781735;78184711;76347088;75875638;77231903;77108924;78310807;77376916;75233817;79288875;76540776;79163701;77865890;81477743
|
||||
80635471;80493754;80150175;82408588;81550715;81270900;83089927;81260229;82986404;82941768;83453156;85106158;81947109;79782878;81611263;81052013;81400953;80580574;80651593;84468605;81419119;80174462;81113663;81469658;81978499;80759253;80290539;82099215;80827856;81932560
|
||||
86680900;83847605;84087693;84219951;84113103;84260931;83940756;86630933;84677173;82959393;84906760;85400042;85273405;84075039;83192779;81377098;84609912;85326429;82753361;84024791;85075981;83962179;85477754;85282914;83928293;84528763;83795494;83915668;83666051;82509176
|
||||
86362469;87878365;89146378;88575164;87093074;86993971;88384162;86241103;87954434;86768351;87156858;88941920;87520127;88164904;87636264;88411906;86661452;88049669;86988320;88621825;86807517;87048819;86482053;89620203;90826245;87721099;87098375;88143073;87295179;86850531
|
||||
90577831;90340447;91342150;91517663;90168922;89460842;91183892;89873397;90700991;90533685;100498746;90051333;90039601;89589463;90487254;90543083;92326881;91068648;90442086;91331941;91203059;91083667;91816766;90710288;90429821;90427708;90534326;91582910;90596166;89989313
|
||||
94242677;95983011;93534998;97282294;94903556;94169195;94465382;93722202;94234993;93216647;94364255;92924968;95835083;93790766;95492155;92556820;93335729;94511933;94489559;96074108;94321832;93646736;94212479;94532143;93414834;95148574;93395896;95009152;95191708;95150097
|
||||
101281313;97084239;98263058;99464861;98710340;97303246;95437318;97199645;96183794;96561981;97047759;98249812;97017810;97503146;97596678;97527915;98117103;98480772;96005536;96710550;97119358;98420755;97767021;97016518;96954797;98825214;96691484;97448540;98861786;97794224
|
||||
99309860;100087587;104834503;102229383;97657738;101879921;98129959;101047418;101325260;99720120;100579405;98560238;100964687;100793723;101338917;101866055;101022900;100503698;99581430;101586460;101515561;100022209;100835926;100681295;98890182;100773614;103146111;101245054;100423441;101263600
|
||||
103176861;101274241;107428121;103315632;103758806;105303118;104288770;102952373;105369597;104304800;103077217;103848381;103882317;103635055;103282106;103593864;102755218;102779326;103354487;103493609;104168034;105559377;104154778;104210748;105059202;104195868;103018753;102406720;104887838;103763987
|
||||
104479031;108352143;107994386;107468270;105887428;107362624;106737465;106180469;107073360;109656307;107228211;107485073;106957936;107216429;106270584;106894421;104872188;106487478;106229875;106874262;108010929;105365509;108020628;106951913;107506385;106372945;107730031;107526634;107081556;106517006
|
||||
111913128;110898731;109714701;111470044;110336785;114364027;112039054;115399778;111663442;111220257;108837601;110860065;110009597;111128649;110467329;110668331;109557956;109770400;110101426;111319591;110246108;110741705;110485394;110736995;108765430;107881757;111064454;109046759;107417291;115020930
|
||||
115090414;115000560;113113690;113325493;116011421;114351473;113767706;114167846;114176883;115255016;113504822;114037933;112493782;114606351;113207954;113978156;112543349;117086577;113520113;111003685;114529240;114800720;110866087;114413505;115105534;117672501;118024858;116668773;114187524;113851669
|
||||
117432001;119698572;116823475;116160332;120375872;118038494;118141736;119408375;115911406;116999829;118967545;115747407;116380461;116169960;114445338;116870145;116178247;116001832;116299863;115127287;115440338;121794198;116453173;114403135;115901918;116042222;118475947;115959711;117076789;116536045
|
||||
120230289;119313601;118434577;119956204;119558699;121880707;122571414;120375612;118963659;119436491;120477401;121968358;119370322;121176724;118761885;119830719;119763899;120230620;123017103;120867121;120443836;121770252;120466239;120362807;119976424;118650519;17400042;121149712;121562848;119045710
|
||||
127147218;122654968;122584781;123604159;125278614;124305776;122124182;123138019;122541687;124211042;123719113;122033115;122846742;121853194;126183599;123281359;124459497;122762347;124541587;122441421;122102941;124382697;123237184;123049808;123715005;123535214;125472422;119224999;126962347;122937077
|
||||
126026062;126820972;125297070;125944924;126879876;125668544;128516569;128245710;125272693;126081410;128558651;125918622;130798128;127379521;126333922;126700948;126907381;125944964;126932790;125233066;128036502;127372016;134243436;124204139;125431002;128345756;130350475;126937420;127124013;127932951
|
||||
133940286;127082152;131642364;128342109;131778720;133685849;129934344;132108533;128611845;130025281;130274387;129941868;130885608;129516700;130055190;131565374;130743772;130530627;132663406;130629118;126012707;128514505;134436804;128782037;130103814;129699125;129852504;131278104;128792137;121975213
|
||||
130958080;132410433;131103764;132495167;136005554;133724435;131782648;143681031;132918684;133946107;138074959;131233367;134548131;134829601;132602808;134151618;132311129;132416835;133380445;132932862;134893545;134673526;134236414;134513354;132922562;134440972;135645191;134135938;134708234;134951839
|
||||
135037687;134701030;136007397;136928243;136591346;136208590;136444600;135512653;137763301;134978170;135173151;138792218;136297514;136765936;136395284;136748643;136671603;136982720;137000935;135700499;136081132;134896331;134871142;136590555;135777159;136830282;135893415;137024181;136295629;135405664
|
||||
139263948;137593771;138042476;140229641;138897374;138958523;139463468;141608710;138312533;139392009;139347361;139674278;140022488;138628409;140630082;139504488;138952361;140332633;138329366;138776819;139001527;138404682;139347261;143028550;147144807;138634391;139868638;140802469;139693827;139574855
|
||||
143216837;141511081;142243779;145327012;142649411;142172801;141026315;140815635;145104298;143876964;144341611;142399113;142555858;143299278;144109238;132331590;148986499;146170818;142683237;141685080;142878157;142640223;141818320;142960367;144204784;142905000;142064410;141939997;141201788;140802409
|
||||
146754757;149508156;147901042;146177161;150913547;145474841;145292345;147100711;146131371;144682155;147425495;146581569;146887256;145882426;148307084;144821387;145410225;145929989;148376129;148017059;147056947;145540950;147119488;146098778;146252798;145682827;145185617;144036406;146517123;146068850
|
||||
149140159;151260865;150753075;150463400;150096263;150159867;149218582;153450294;149410656;148457908;150132274;149196579;150075904;149484901;147550269;149687627;147900702;149873158;149445053;149695652;147867798;149034713;146295993;152552334;148656736;150036857;150884731;148465614;145516623;149787652
|
||||
154687387;153290883;152982722;153173925;154023823;151197923;151075834;151594546;150089922;154414786;153252498;154975669;157253621;152534930;151418822;151178094;151983574;154008312;152977142;153392302;153697487;153203082;154605908;155593534;154681595;152964137;152980699;149385618;153699050;153091775
|
||||
153765660;156015918;152704651;156083861;156804586;155109570;154471917;155995288;153660464;152854052;156349789;152914871;153600968;151276626;154029013;155225646;153973194;153257419;155404986;156189697;155295343;155190949;156987433;154718989;160283911;156710322;154452329;157501104;155282217;160709491
|
||||
160357685;158227210;160072228;160163376;155267959;158169728;158944499;158188626;160437411;153475204;161465375;158253873;159852259;159680354;156678190;156628052;158438592;159686216;157448823;161403275;157802722;159049764;158610258;158004897;160229495;159584197;160321144;160037541;159104030;158764308
|
||||
161526906;163006591;166927397;164468261;161394317;163339821;163058182;162970000;160321115;166133509;162525954;159893379;164348769;161770410;163902098;164906106;166187765;163576612;161331254;163447551;161594567;159776192;163897969;158191762;161851428;163253072;163133127;163424246;161870556;163356484
|
||||
165402193;165676348;167694603;166326224;165327938;165218806;166042602;166459074;165459094;163389899;166995641;165258934;165079263;163165571;167691567;169061529;168578317;164809708;165191632;166095806;165478903;165697438;163092499;163989398;162096778;165990491;164847862;164361454;164459264;165855437
|
||||
166302719;171449445;168446700;170049526;173827253;170562186;168704984;171085947;171160463;167124070;169020680;168600630;167565873;169585902;168732257;167603867;168582475;166624447;169468483;169942748;169498862;171722699;165196032;170458814;168776994;172456721;168030108;170350193;167387796;168873022
|
||||
172249586;172854977;170788097;172906768;172915946;170279554;172401653;172376374;171588688;170625239;173866209;169334281;171883172;177166786;173873403;174937769;172629678;171411763;173121527;170239216;172972156;170475738;171420260;171661269;171306869;173665278;172436591;172686088;173077291;173355323
|
||||
|
50
thesis/src/performance/perf-7.csv
Normal file
50
thesis/src/performance/perf-7.csv
Normal file
@@ -0,0 +1,50 @@
|
||||
17216356;16955417;17116330;17316731;17063448;17122082;16805635;17508706;16852286;17592139;17356259;16894588;17223499;16915630;17074489;16664359;17287775;17252766;16800475;17329266;17173382;17119116;16925368;16969945;16852787;17040584;17339566;16683788;17333795;17653930
|
||||
23794712;23862985;24060801;24371546;24444849;23795733;24303864;23634319;23978861;23562759;24610382;23791736;24009901;23799321;24105698;24221785;23706109;23873575;26407646;24416855;24397186;23775815;24226393;24448667;24329915;23720327;24178219;23862223;23813308;24431523
|
||||
30559812;30788056;30593116;31121687;31389429;31431912;30999669;30909744;30594479;30462602;31829908;31038164;30603146;31046741;30487701;30999139;31045579;31297750;31217193;31039617;30594439;30834498;30814107;30605350;30854526;30821221;30938230;31733190;32656410;31472822
|
||||
37320142;37958487;37255877;37484643;38858081;38217552;37863632;38122016;38612051;40952955;37276878;37806471;37992082;37981963;37890875;39330993;37599668;37658722;40429926;37753538;40256678;38064624;37285335;38065496;37701035;37711426;37290124;37628053;37941895;38169970
|
||||
45862577;45620616;48323676;43992582;45198353;45139068;44564227;45449933;44785388;44189907;45677929;45412160;46317886;44943125;44625326;44126193;44510883;44121754;45188945;45570659;44327255;44878500;47583093;44008162;45249273;44445836;44285193;44244964;48182131;41330793
|
||||
50926221;51787770;54909217;51294730;51477787;53681223;51634763;51675041;51594504;50792540;52002930;51898446;52168523;51307395;51298537;52171418;53492856;51311563;54976237;51456235;51555297;50907364;53966158;51791719;51732443;52999393;52085101;51615806;51646857;51435274
|
||||
61338712;59022056;59238308;58122191;61895789;60887143;58939886;58189122;61152019;60553733;58627707;58702804;58892112;58266283;57741009;59228760;58352060;59916380;58301662;57940417;59091091;59026194;57507383;59298806;59619651;58011717;59350688;58856083;59352070;58475822
|
||||
65709445;66250580;64801114;65457575;68168890;65682242;66409380;65733943;65243157;66239007;65141267;65247374;65098905;65668986;66026203;64768912;65709366;64511239;68741978;64764312;66518252;66803358;65328292;65096430;65519706;65603760;65597938;64715978;67647895;66410472
|
||||
71990893;72053765;71700988;72379130;72087101;71774531;71766084;73482701;73950995;72589370;71967357;71708141;71016644;71946857;71617786;72070368;72876530;70810681;72048235;73180753;72697912;72463003;73770403;71450840;71484195;71889385;71929173;73608056;72346827;72323842
|
||||
78834035;80121866;78668663;78062893;78451670;79032402;78406492;78971885;84900744;78418045;78811572;78611602;81212743;77987375;78669836;80508321;78759711;79319533;86634435;79063433;79616372;79106608;79646330;80233675;79172246;79374179;79997334;79920615;80541084;79062401
|
||||
85327196;87119161;86098340;85895233;85591061;85343718;86349901;85628304;85623284;85919982;85596672;85926144;87175820;86457620;86995760;86283231;86241650;86257040;87043232;87570941;86270455;85819216;85225789;86468111;85840668;86206801;86103670;85654966;85237472;86921265
|
||||
92972493;93933327;92611870;94000538;91486316;94488289;92429184;93282869;93139309;92718919;92898089;92781291;94069703;91924180;94036728;92989407;93872228;93911143;92957224;93198013;92051859;91661828;92183896;95554939;92728738;93006430;92936284;92430487;92493901;94113398
|
||||
98808432;95982081;99309660;99810166;100205126;102976820;99400718;100508337;98945390;102426968;99386089;100475643;99261957;106011697;99799044;99485432;99146071;100553426;102147443;100443601;100136964;99621027;101525059;98961632;103117945;98681817;98664041;100996660;99208173;99736803
|
||||
108415124;107416407;108071243;106024202;106472787;107212880;106227438;108647226;114776207;106767562;106040785;106745198;106247227;105411818;106228260;111033650;106252177;105979746;106645334;110791908;107695081;111459580;106116774;113281983;106161120;110456725;106755969;106679832;106653520;106330330
|
||||
115006566;113537592;113166679;114422668;113110329;113667105;113394403;113205475;115630503;113634060;113367610;112763854;112417218;113215605;114902514;113739396;113392800;117462015;113756610;114739657;113718716;114154696;117746328;113401688;112643008;114108736;115438199;112440965;113513846;114074570
|
||||
121230623;119343032;120345287;120657916;121651724;119848618;120345206;118642847;119515739;121551688;124974793;119272955;122770014;120873988;120441915;119663607;119012829;121458507;121330718;118995295;118532101;120907634;119237837;127198779;120001016;127675570;119749595;123089808;121776007;121819181
|
||||
127976526;127916740;126696811;127802237;126718854;125889387;129328783;125831203;128777618;127878876;127564754;126552860;126765856;128530526;128686260;129115758;128049047;128311861;126326679;133265990;125971908;128565244;127321540;126933503;126028038;127990534;125669228;131198569;127154274;126797498
|
||||
133585604;131281832;134820902;133375203;133861301;135041943;135585313;134715687;140205150;134769301;133823708;133372307;134319654;134941127;134995944;133728593;132741087;133526919;133352990;132973571;134814630;133047575;135345746;135913643;133881109;133836413;133426113;136501499;133568851;136396915
|
||||
142422534;141449296;141176605;141492491;140759652;140878334;140365093;141501439;141722359;149706396;142102620;143672392;140621102;139987937;141071400;140148250;141644397;139825841;141974521;141583108;140928401;142551887;141106949;140073765;141477602;142551125;141302691;141624869;139651562;140648316
|
||||
146058985;147107980;146037042;149132728;147791303;147068263;148657040;147084525;148395421;153201031;147888292;147719102;147563599;153780872;148130153;152894152;149100816;146324123;145902250;146578879;147412254;146097180;155828294;150412615;151915865;146673353;148932188;149010651;146766345;152658574
|
||||
156504392;154877390;162629625;156627843;155127447;154439737;156324962;152580972;153456700;158732076;154307569;152876849;153663493;155513691;153125464;153552617;160719461;153664415;153872190;155221451;155197484;154992194;160876879;153037032;156411091;155194859;155014738;155464806;153624227;153268073
|
||||
166231509;163654134;161693320;169244704;162148397;160490154;159765932;164658251;161255868;160475475;160699172;162005158;160076969;160099232;163440227;159432943;177949256;163416099;161810329;161262410;164671227;160026059;161262781;161423845;161191502;162136805;161593916;160859335;163122097;161303701
|
||||
168165981;166961192;168155170;167792813;168696636;168057820;169642771;167504662;167941574;169168125;167838092;167815067;166752876;171815176;171153536;166989598;167674583;171863311;167535862;170248582;169725582;166667159;178263911;170634013;168978366;167622292;169211410;167503439;167623443;171756262
|
||||
176194696;182108457;174906784;174992923;180392541;175300633;172326364;174478369;175972734;173890022;174041147;176428382;180423852;176064482;174756392;174819144;176601510;180225255;182668199;175012782;180580087;175494842;174041218;177072909;175160200;174535682;176954989;173702477;174055595;176303459
|
||||
181792291;182919449;183311894;182993603;183574956;182991830;182997090;186238871;181651787;184508076;182250074;184779496;181863290;182177142;186236948;184266796;183444312;180766542;182181400;185290362;185148155;184057909;182089350;180634023;182168455;180698148;189251936;182302326;180621479;187393653
|
||||
190420966;188207971;187586148;190661044;188213041;193567962;192431486;195171037;188552613;189216027;189143906;187985448;188261335;187351501;188590015;189125841;187668129;193453148;189802710;193398632;192355809;193892956;188948676;190345880;187126011;190774405;188697195;187381740;186797251;189952934
|
||||
195191227;195157021;200918615;195581198;194386318;196075552;194956048;196149226;194682074;194006147;194688797;197438439;200930518;201318445;195973272;195114749;196350308;200200545;203603480;197761559;197081734;199667837;194544026;204422497;196203641;196287786;197774706;196200666;200992430;194112314
|
||||
203626325;201243789;203170196;216353691;201079780;210599020;200784023;202753713;204994814;206152360;200360137;201941971;204829281;203256363;202540928;201566539;203348854;207135658;204589103;205399703;201724126;207400724;205181658;203206877;202338855;201285692;204866303;202536911;202504678;201313236
|
||||
206350186;208478496;208124796;209074138;211361538;209582659;215846953;209799412;208902593;210648568;208100920;213036143;215106500;209165396;208337712;211711400;211050933;210301711;206187148;208964084;211961638;209155667;210463878;212114295;223823246;208584904;211486091;205834842;210055492;209841214
|
||||
219531859;216939213;217121580;213635893;217187819;216707472;219096951;218039018;215550767;214392197;214081983;216964543;216378921;215668637;220105948;215205334;216593309;216791396;211163803;217429631;216092643;216225041;220354474;217242947;218511400;206682546;215852204;219796576;216700038;220144284
|
||||
224334453;223222245;230419649;224972758;221115326;225405162;222765465;226762548;224042655;221702973;226018818;223817456;239499834;222577037;223960885;224680058;223170013;226721648;223363901;223725236;232805962;224692582;221962098;224862203;234124593;220872434;225296029;222678425;225767518;224344233
|
||||
228766275;232841611;230385522;230237133;228574271;234491899;231016613;231687451;228209199;228927800;229747619;231527409;229041632;230113092;233502751;237737739;231152398;229536277;229374401;228683294;229977167;230447854;231426723;228704575;228484055;230935385;228984140;231833065;229190472;228242876
|
||||
239616993;235951175;236028335;236510235;236999269;237228807;235664967;235382806;236519624;236090537;236022775;238406993;240199609;236486950;238887020;236605771;235192336;239328090;236069045;237848575;236126638;239025570;235917630;234010993;238372747;235541256;237601643;241447433;237564572;233562528
|
||||
246775701;241270287;242937899;244740824;248353257;242775571;243190511;243670387;245016581;242893101;241387646;244937067;243869876;244074244;242250078;243181083;245671669;243595731;243808657;243761524;248116175;243105376;242620119;241856280;244429256;244461289;243256119;246257862;242322890;244380261
|
||||
250473622;253263171;255709722;250377325;250582765;251875055;250047021;264639964;248671558;249885085;252361914;254215268;249624617;252395270;250253423;258972764;249201773;249539722;251975020;257798996;248951425;250675095;249266459;254265727;246218666;250901417;245390752;248639907;247636751;248859315
|
||||
257608154;258671377;256549129;257592914;253721486;260842080;257864143;257655767;257541845;260874383;255188686;260049625;259711325;261529179;262650145;259918499;256215409;263509772;257824947;261923058;257001662;262660516;258648452;258400118;256541354;259363747;256265556;255403355;257805258;257578096
|
||||
269925631;265072519;269217621;263715813;268511845;266576511;264468812;263143177;271047088;267667138;264674151;262909581;264530892;264681306;263080004;261604566;264931464;264706074;264508700;272767653;261734420;263671147;265559168;267624194;262471938;265567574;265403884;245022514;250730765;264017382
|
||||
270480895;271188995;273413272;278167502;270542875;270321795;271067908;271997231;278521482;269376941;269807842;269650846;276051927;270113137;270311624;271659522;275126693;269256297;270673520;271245035;271162233;269734169;269907076;270699190;281981770;270622431;273969357;268925112;272507436;270912766
|
||||
287228600;276384346;279519528;279757422;275789806;277128857;277552323;278861130;282206766;277366216;274667300;276407664;278977187;278587185;277941776;277085927;279375993;276744630;277606470;274441497;285700878;281904823;277254743;280619415;278131201;279113378;285021791;278085672;275937361;278571799
|
||||
284038030;289354960;284890913;288323037;285439121;286192591;285211056;286795476;284250352;287925549;285962040;283503434;293772633;286489487;285094456;283733431;284816092;285672062;283982276;284470918;282840107;284911166;287315886;284010890;289943680;284375419;283984948;284704251;282886074;284290804
|
||||
289525894;293200941;302801906;295425960;292762866;293959259;293372864;294221049;292820015;294215638;291715691;289163864;290914999;299175991;288729657;291166719;291085680;268550218;289786055;300172583;290276762;293715808;294119285;303412790;289573719;290961496;294290417;290562697;292302670;291171394
|
||||
297394000;308779054;301249548;304836003;295485887;301829388;299870929;295955051;300056980;307413007;301293612;296488109;296471978;298751233;300836629;301104963;297199826;298990598;301676647;296809353;301678589;300086955;297798782;298214433;307282607;298329686;302456936;302946280;299242355;304207679
|
||||
304529757;303703185;304687854;295212544;309663608;305231534;304533080;306091401;306854679;305949172;307223387;304906178;311615212;304390612;306307500;305280977;305372816;303246129;305676498;306267189;305953738;313665388;306789518;305050206;303455214;306789607;307465004;305132905;305832259;304364977
|
||||
310731984;318297228;322294303;314749789;319081618;309847288;314951563;312006237;315733997;312863770;314527643;315955508;311128634;312452366;311284438;311310408;315152531;319490301;284197801;311612927;308025631;313926037;316462704;315623367;316428347;314539633;313468144;310795781;313906167;310813815
|
||||
316206874;320897361;318837082;319544922;321507129;326771315;320785521;318668542;313862178;323956234;320043413;316580720;317638182;319876005;318109640;317089040;321779066;324665114;324802842;319344036;20802600;324898428;317720740;317982670;318701832;316367701;316664781;318140918;318531149;316584211
|
||||
326440543;324808129;326115920;327239481;325586778;333262557;335536371;326355435;326906299;318384149;297674420;325392156;330073385;331814130;325338471;328055228;326759932;328850208;340636494;326368949;325323389;327610450;327192795;325701105;327120173;323259603;329155362;324615708;327008413;327013814
|
||||
332268081;330538458;332114180;336987444;331628151;341172164;332086555;331755359;331128497;331396909;330442277;333994114;332746390;331942662;337795547;330347902;329199262;333050061;332865331;331670751;334731831;334783131;334845121;330055069;334228999;332304666;330725766;335912041;333701068;333142549
|
||||
334635961;343115718;335572066;341129073;335530174;338042834;346284808;339413226;339443375;339655588;341441070;340253003;341316086;336155041;339596943;339331946;342168888;341901296;340653893;340873671;340809446;345654434;339413303;340871597;340234213;341966572;341418092;335932794;337646115;346991540
|
||||
350134319;345312185;348360769;344785146;346156681;343593923;353763385;345554776;346614623;345096493;347288116;351547653;349451224;347118284;347055200;349498215;339113523;345837225;345319445;344136939;348025542;343649086;348462694;369445143;347215751;344617886;349206634;346095877;350053485;349356064
|
||||
354332249;355884145;355950635;356160324;349996864;355103272;357894734;357087832;354300435;355912579;350221951;352601341;355234325;352979177;356330182;353996110;355329640;351454965;349794306;358937796;360477148;356239995;351716413;354844012;352884160;352274802;354124779;352987992;350130809;353125209
|
||||
|
50
thesis/src/performance/perf-8.csv
Normal file
50
thesis/src/performance/perf-8.csv
Normal file
@@ -0,0 +1,50 @@
|
||||
15890167;15247295;15576857;15468806;15231023;15375524;15391145;15516609;15416153;15887994;15829860;15639409;15374953;15447464;15403739;15105588;15476682;15602187;15150826;15891209;16475920;15653807;16096571;15555885;15207126;15419470;16043276;15674127;15522731;15577839
|
||||
20582869;20760525;20847295;20951267;23177759;21412617;20556057;21038818;21312572;21152470;21205052;20733953;20946468;20503964;21436513;21057334;21336028;21145756;21249238;20829590;20984802;21204861;20907262;20824671;21090860;20681912;20770455;20950265;20536859;21494316
|
||||
26235492;25985354;26497072;25739775;26261552;26337020;25981066;26144184;26367689;26029269;26208239;26380615;26352019;26528634;26640191;26018308;26606856;25885179;26021073;26532881;26106641;25663757;27053106;26323042;26182398;25878997;30120398;26676311;26025532;26636864
|
||||
31593050;31131539;32291191;31419391;32308124;31227306;31982499;31483355;31993250;31929064;31665541;30864649;33171527;32038417;34752681;30946148;31957109;30996095;31359403;31860711;32207898;31308915;32370476;31400143;33603229;34934084;32627206;30765175;33653758;34008649
|
||||
36945947;36229972;36815113;39786557;37750176;36488957;36564063;37724355;36359254;37058877;36695238;37111661;40659800;39072284;36917462;37548001;37479909;36942731;36920147;36245993;41423660;36772750;37630893;37459969;37197098;36520318;38167599;37147450;36975535;37077263
|
||||
42900950;41934726;44029400;41798490;41681211;45518234;41679017;41414060;43873096;42640752;41225863;41572950;42986917;42415333;41681682;42123904;43223990;41904266;41485860;42735697;42124706;42099467;42069448;42602337;42480019;41987348;41397258;42008319;42502673;47869298
|
||||
47271012;47562861;48077113;47221575;47066042;48079949;46725918;48215023;46390565;47521780;50017938;47571497;47605834;47550066;48917352;47382389;47785134;47272714;48673747;47241113;46985805;47270681;47954364;47451443;46895038;46805794;49968332;46717962;48607908;47805894
|
||||
53702082;54610273;52199722;52380826;53161107;53713193;52502723;52522762;54071432;52468827;53012838;52852826;54036334;52293014;52723984;52108535;52965275;52415653;51818238;53292272;53534365;55922472;52979823;54430232;52728323;52812828;52370916;51935406;54533001;52685029
|
||||
57656463;57173941;58150917;57938362;57483355;59007848;57772449;57343773;58694607;58643307;60396586;58868365;57322211;57202888;58292252;57956047;58263737;65261513;59545757;57529024;58435041;57913333;58501541;57584983;59579302;57198169;60099146;58216535;57834450;58671011
|
||||
65259298;62488435;62701690;62363391;67199822;62744294;63297412;61997798;64057866;63502272;62592237;63191606;64035021;66413379;62723012;63729274;64179552;63079908;64519606;63373059;63507712;63306449;63867483;64211425;65111519;63032305;63444449;62838658;63766787;63240882
|
||||
68919876;69193259;70826524;68740306;69778019;71533332;68496210;68208619;67840591;68499335;71127300;68554964;68226173;67961567;69137440;70194271;68980073;76521529;70594522;68642364;72895749;67364803;75714666;72664839;69087352;68068425;69848577;69245771;67927019;67353080
|
||||
73972448;73754303;76863115;75558311;75089697;73803308;73677123;72718442;75520837;72045550;74166987;74288384;76468997;75952098;73259738;76945916;73732190;73390453;74017125;74222846;75343181;72775353;73912250;73373049;68088775;75334874;75823898;72825351;75097522;77213017
|
||||
79762699;77878926;80164993;81274166;78694325;79084756;78439989;78918723;80086640;79026774;95463586;79147559;78080118;78359041;80911218;79188369;79527690;79143200;79611183;83418067;82852474;78387256;79851251;78653405;78245760;79194661;83885107;78424208;79537689;78836773
|
||||
85009730;85473444;85956937;84388278;86443365;85862153;84265348;85429628;86014680;85769852;89528521;83798247;84900086;83645399;83724564;84732238;86617716;86403948;89213437;84923943;85831061;84933291;84383097;85123912;85040389;87202446;84542990;86277511;84407004;84534723
|
||||
89043004;88957708;91141757;88937108;89904244;90388499;89876630;88909283;90389771;88805652;90795361;90223246;89943760;88436882;90979901;91892581;92363208;88862712;91621733;90346266;95711558;95609909;90941456;90869846;89604720;90098181;90776254;89312349;89494464;89957217
|
||||
97622744;93073162;97798668;95487821;95344712;97940453;95485277;94426422;94521757;93376404;105940785;94329653;95249667;94660257;95542548;95769701;96886298;97089765;94580752;94784470;96648334;95623175;98211462;96310015;95511978;94606923;94516988;95405710;98110966;96141375
|
||||
99538379;106219207;102047502;100533309;99044767;99294484;102017523;99426702;99187816;102729562;99391192;99114653;100704854;100581263;101548418;101257973;100286398;101165161;99207043;101314763;102471398;99112228;103257702;99267701;99590370;100392655;102240538;99683001;102243394;99586563
|
||||
108446000;107218215;106512789;105822242;105424767;107204267;106829175;107082620;106881047;105749441;105283582;110213936;107114632;104543689;107951353;107941314;108198546;105010519;106523890;108046730;109853683;110561043;109727197;108363046;108066468;106711837;104443303;106555893;107006471;106296938
|
||||
112992283;113802013;112449274;111438804;111124452;110313470;112584258;110853583;114376653;112487780;109370581;111232081;111675826;110875836;112765521;110017262;113644746;111669163;111105504;111553447;112749139;114083020;112898500;111877639;109783506;109590679;111572083;110145522;111907278;114427111
|
||||
117145822;116968988;114544199;117405148;119068741;116050807;114781351;114954238;117523128;117303279;116242600;115774558;116894442;117099602;116850897;116867479;117030156;116942736;115489652;115128999;120948978;114970951;119924670;115673902;117191831;117387423;115034725;117452460;116218373;115414486
|
||||
125029034;123458260;122103198;121454604;121254403;121381671;122437190;121527355;126623032;121407652;121772153;121416941;125018664;120012622;122504231;123195909;121345261;122891485;123504220;123059122;120780348;123136603;121690764;121830998;120884392;120274823;122690012;126826288;121673480;121083379
|
||||
130273289;126015396;125362634;127872689;127446617;126461066;126103478;128155931;125876125;127425396;126539539;134252849;127896856;129008132;124913147;133293278;131231117;125797171;126465114;125427911;129475634;128744298;126316924;126611649;132549458;126666747;128440025;125328778;126337143;129157955
|
||||
130977913;134528486;135474772;130985217;134372663;131311904;134112445;130091404;132622570;131813853;135622981;132561210;132556732;130015877;131944186;131468379;134018682;130834493;132670023;140692496;131594475;130501624;133956992;133911654;138583122;130785668;132287457;132039753;129305301;131168044
|
||||
138703187;136402992;138459962;138110201;138907485;139273649;135870243;137202100;139217520;136774356;139013251;136930950;137330991;136199946;136563123;135134257;139321643;152626286;135275242;135889721;139832128;135135319;138179125;135742964;138884750;139343615;141481775;137789585;145569836;137649211
|
||||
157758714;144817739;145287415;144932322;141337083;141659110;145056645;142644411;143199264;141928656;147904769;141940849;142859831;141732573;142613492;143228501;142206537;142707865;146337072;146235253;139633400;141265803;144639100;144604444;145383041;141881283;144108556;142357151;143904158;145469079
|
||||
154908435;154078768;148582260;146739957;149783161;147902825;149710619;147104097;149709959;146580085;148077615;147352291;152582450;147901853;147428009;146996518;159265341;159492233;146200395;150772000;148488977;148331260;148502203;147438279;154276422;146215424;147306071;146143043;151455883;149158624
|
||||
152545627;151553033;154806997;152103045;153166789;152302975;151579022;151784353;152216165;151492855;157494958;154024150;152117101;152805865;153347582;152788962;153406106;153062165;153783010;150410895;156462956;154721270;154813320;155860181;155526140;157831284;158246865;154628439;151423249;147790606
|
||||
159892323;160597438;160155817;158030893;160764423;157776647;156633920;157110228;163367971;157801185;164307542;157665210;161432085;159785515;165383651;157156869;161291050;160180074;158357841;160893816;160847305;157827046;157946408;161490750;163608168;157727572;161717973;158183831;159913694;157495489
|
||||
163190113;162527240;166101099;162508424;164279508;162556197;175082924;162854839;165045420;163246874;168607256;164883835;164054418;165566097;165647555;167013198;166675840;163608048;164709486;164022957;165184832;162392899;165193870;166696700;164906259;165955376;165799751;165125848;162976897;163790474
|
||||
172999501;171771106;170048396;169801164;174295467;169656162;168504956;171815522;169516589;169851442;174009290;168854428;171084617;168888534;180950474;167160405;169430751;168911389;169016614;170224479;172039147;167701760;169463004;175075668;168280299;168792938;175149923;171342029;169389802;169442965
|
||||
175521448;172736658;173671220;177978439;175093593;176356707;181799079;174298113;174561547;180187116;180608517;173405051;177795963;172833526;177326157;175086109;173743531;184363018;177032995;173947248;173622656;175408447;176787647;173554643;173560034;171794010;175450559;174284225;175985573;178363169
|
||||
183419338;177961094;180376825;182561966;181480698;178212946;180973509;178553840;184472472;177743120;179971675;179578809;183220120;180408948;177989610;181720846;183080326;180777386;178941476;179865107;180801042;182053445;179319003;179684926;180871800;179277351;184680728;179971715;182236201;181876579
|
||||
187544141;182583829;187038124;182875788;183868253;183418666;184249868;192960061;186658223;190364741;187593096;182910596;186482521;186987135;186483372;183564952;183104493;183031121;187521256;184368118;185132548;189092160;191233474;190087570;185057352;187572035;194055247;185326627;182792455;188854415
|
||||
198685826;198021121;190372907;188366825;193295846;187881508;191990160;191543570;189436931;187538089;189385420;188057532;192217203;190059906;189872410;202429255;193528680;187494944;191539191;190026742;191440738;186139131;189142587;189426891;190362817;190250899;188456610;189106287;192983026;189556174
|
||||
196330283;200214517;200742386;193060637;199010228;196527588;197751093;195661318;194000139;192498702;196597964;194671589;196529100;196461077;197674304;194992043;194410640;197482349;198218124;196080355;194030659;199917197;206351433;195486377;193808816;197587634;198172334;194360031;194659986;193426691
|
||||
203906075;201702989;203618685;196858442;200509763;197732998;201722067;202915463;205549960;214283961;199438042;197887780;204746413;200042190;199361282;203909551;210788986;205110353;200403414;199374248;204026098;200354159;202070265;203803565;205303399;200253532;203800799;201959569;202396421;199537506
|
||||
206573155;207800859;210711324;205198585;208522777;205510022;213012191;207097047;208534650;204391581;205578696;207815848;207501535;207133658;206475124;210766392;205997833;213237149;205596871;207521103;209769919;202541574;209401399;207739780;204843733;217217541;205361222;209512927;207465896;207259142
|
||||
214942074;210663922;213624996;211237761;215372513;211603413;222493068;213427882;218473330;210090764;210320692;212578024;216749478;210750170;213604365;216937545;212640946;212376441;214756972;209164378;218417831;212826949;209940631;210484882;214946162;211211600;211009345;212690593;216205517;217811108
|
||||
218866355;216257830;223778464;214618713;224399395;216416859;216760389;214599906;214858170;220415336;221300111;216535230;217211749;216258490;226544478;218110020;214875143;214514420;218174236;213914770;217307536;216781029;217530761;218350299;215268430;217138496;225272117;221900392;217382331;216998403
|
||||
221808432;225871796;223393262;221733396;222789374;219206729;222706393;224694209;235159015;224256977;222539858;220987912;225188593;224246256;221185457;228672797;221718086;223362041;229564967;224034422;226855674;220592862;227720711;223554246;222908507;224037048;222237830;220197823;227818631;222577412
|
||||
222473208;225440435;229414573;230760478;227226176;227174065;231336010;230015355;227901864;227698597;228047828;228551520;228463529;226676234;230252958;231500892;235299028;224898657;233371670;226940349;229167612;228504228;228197761;228154166;228301573;226892596;229658569;227627429;226806057;227103235
|
||||
235098957;234791989;236535438;233017318;236907444;232236666;231999303;232108356;235993452;236829562;234036175;232927112;236446605;236072777;234659480;230891924;236469911;231267666;237144686;230769756;233736872;243189072;233542572;233648880;238122994;231504999;234688046;229358654;234153474;235114868
|
||||
236695280;241124176;246418660;243480992;241827187;238004573;240988682;242348223;241408570;236669790;241346770;236124156;239150808;236091373;242462065;239072816;238628319;238010324;240894127;240272144;236083887;237791618;239672345;237769164;241904678;237859821;242528514;237122122;239636164;242121952
|
||||
244246464;245447266;242180766;241492514;250701691;244651755;241019412;239249581;246849680;240688086;241545728;243602899;245673075;242409522;241004252;250000705;251283526;240953703;239901151;241700620;254444249;239820604;240456214;244728765;244980255;242406075;248421134;238703646;242546960;241113695
|
||||
250358853;252991295;256861241;250744845;249919436;248943874;250532741;246230322;250689958;246086071;249235011;246410173;252435282;246813098;252665671;251135157;245220042;246685780;250476161;246262445;249944184;245767229;253523994;247596415;249122452;247180455;268012546;252839168;250506951;247839560
|
||||
258515678;255127351;258955696;254929936;257120708;255260410;251038578;251595313;260031844;250808930;254935016;251289568;259027632;255518956;252075913;246677056;256439341;249725069;252087416;257319427;259038108;258461814;254816898;263053978;260230594;256285701;250760969;251863198;261576438;255489159
|
||||
259321952;263157220;272091170;260371930;259655502;261236025;263857305;262687715;259170527;258860603;264639611;265202478;256972983;257182030;263181238;256587892;258218211;261507725;270820172;260866925;257210917;258769045;261769726;261496413;253811309;270609021;260821256;256978755;258132254;260367212
|
||||
269766659;276595133;264859481;262269320;273838428;264149377;263233691;263289309;265181649;266004584;268310019;273395936;272923906;262079551;267123386;263578424;265421077;263970278;263576039;264467026;266602721;262467839;261393944;267669901;269241426;264429344;269717555;268683909;267981609;266332845
|
||||
269295882;269933656;270469120;269883778;269199344;267957123;249796162;267844783;269603533;268826979;272428882;275080932;268788032;268638531;274391609;276691945;273982291;269626067;266799235;268074241;269502226;266269533;277943886;275201319;273155099;267433111;273326603;268854473;270295282;273872838
|
||||
274518336;276481394;288608270;272996229;281990727;274486455;273340120;271979287;279091163;281867607;271331644;272972824;279792281;279090092;273962884;272123177;283408151;275907086;270838692;248005141;282220165;270342455;275627731;274080193;283139528;270895374;277110943;276570359;278170059;272635617
|
||||
|
@@ -1,51 +1,51 @@
|
||||
Cycles;Baseline Avg;Baseline SD;Intercept Avg;Intercept SD;Stderr Avg;Stderr SD;File Avg;File SD
|
||||
100;394522;59714;10427113;462988;11575964;253473;11831990;348689
|
||||
200;684480;89390;10728908;272181;14325139;305707;13554674;460807
|
||||
300;1004806;131581;10962041;312386;17027194;323923;15330088;441731
|
||||
400;1304127;83545;11372661;270890;19712621;347909;17249057;900721
|
||||
500;1592256;105898;11709378;273902;22697282;462435;18822538;574087
|
||||
600;1895442;130464;12047917;247568;25117703;456337;20575498;266024
|
||||
700;2213827;104975;12361110;300385;27882492;634943;22382673;573662
|
||||
800;2628305;201520;12754461;245304;30815541;974036;24578416;1370113
|
||||
900;2825817;162314;12993031;356629;33225179;414261;26037719;462749
|
||||
1000;3108772;170260;13431961;307448;35931523;507563;27869838;962124
|
||||
1100;3406111;146170;13777606;306016;38686328;485222;29861891;980317
|
||||
1200;3725777;156594;14126528;277721;41647628;705704;31178678;460041
|
||||
1300;4087469;156785;14358058;280611;44086243;460197;32979343;423141
|
||||
1400;4292505;167374;14846268;296761;46809938;541389;34869115;432616
|
||||
1500;4572214;225571;15114237;287681;49361025;279845;37212031;1781779
|
||||
1600;4923082;174615;15460129;327486;52305548;611924;38625303;1135684
|
||||
1700;5166483;153378;15791758;298803;54938031;513068;40254955;949560
|
||||
1800;5497751;209020;16085585;366356;58477674;1507994;41892868;498818
|
||||
1900;5805956;193667;16427008;257386;60505802;716086;43707906;813608
|
||||
2000;6059830;149468;16976318;415427;63510717;1323394;45371320;371778
|
||||
2100;6377742;190684;17196797;289761;66726951;1794964;47414718;1348167
|
||||
2200;6623121;189853;17470183;303551;68567720;1023095;49269993;1644584
|
||||
2300;6952906;176805;17876859;336883;69392158;10556124;50527003;363668
|
||||
2400;7288966;221144;18215274;381104;73997790;1207150;53676400;2638128
|
||||
2500;7687086;214686;18630693;393414;76931585;1135647;55006778;2629415
|
||||
2600;7632633;363416;18909524;344719;79271877;687461;55975072;345029
|
||||
2700;8174560;181199;19231438;387669;82347089;1557451;57872052;490032
|
||||
2800;8447899;213732;19670216;328248;84893831;1408698;59542864;265835
|
||||
2900;8804464;218130;19956270;431572;87686022;1182234;61601833;981957
|
||||
3000;9010784;248166;20376781;336594;91068853;1782507;63178755;558420
|
||||
3100;9331103;266569;20577490;278614;93221976;1568136;65392427;2128048
|
||||
3200;9778768;280983;20965405;359323;95722907;1632923;67069912;1365944
|
||||
3300;9909117;283939;21283196;422513;98212371;671946;68701884;1196483
|
||||
3400;10253423;272824;21563196;476725;100947909;1262629;70202232;398452
|
||||
3500;10549094;282951;22085786;363989;103828023;1230160;72095327;1412804
|
||||
3600;10932319;280437;22273127;312981;106331558;513011;74155843;1156209
|
||||
3700;11219472;293693;22752743;363381;109179786;1510549;75889598;1338718
|
||||
3800;11514828;307166;22943067;418169;111560051;338207;77553942;1357759
|
||||
3900;11824172;343282;23547573;417688;115156892;1981115;79134316;992767
|
||||
4000;12123878;296372;23814232;375398;117444661;1697465;80847115;834244
|
||||
4100;12526596;347080;24076190;411786;120001747;1042786;83079117;1736204
|
||||
4200;12715912;279629;24341732;416874;122699007;1258274;85512780;2631994
|
||||
4300;13111242;258811;24656266;428479;125560493;1443093;85918169;297761
|
||||
4400;13303073;325634;25067172;387431;127711585;372280;87929683;975369
|
||||
4500;13697463;356756;25683108;375100;130526503;693141;89582972;505995
|
||||
4600;13977464;344027;25925755;460848;133495971;1127336;91597602;1157872
|
||||
4700;14213956;470038;25919071;354324;136075667;1366941;93461991;1220158
|
||||
4800;14576705;375812;26600502;505971;139289408;1414807;94883034;524994
|
||||
4900;14708572;286603;26813061;385730;142436712;2843052;96930580;1047072
|
||||
5000;15199882;359091;27142509;386736;145702391;3939916;98716605;1358384
|
||||
Cycles;Baseline Avg;Baseline SD;Intercept Avg;Intercept SD;Stderr Avg;Stderr SD;File Avg;File SD;Ok Avg;Ok SD;Return Avg;Return SD;PyOk Avg;PyOk SD;PyReturn Avg;PyReturn SD
|
||||
100;394522;59714;10427113;462988;11575964;253473;11831990;348689;13076474;1162271;13177050;232828;17114683;255467;15571675;304178
|
||||
200;684480;89390;10728908;272181;14325139;305707;13554674;460807;16456310;289818;16431464;328445;24131234;520354;21056080;487110
|
||||
300;1004806;131581;10962041;312386;17027194;323923;15330088;441731;19882310;382739;19387692;1501689;31026008;469559;26380650;771419
|
||||
400;1304127;83545;11372661;270890;19712621;347909;17249057;900721;23220259;603311;21422406;658317;38149373;939016;32128353;1107946
|
||||
500;1592256;105898;11709378;273902;22697282;462435;18822538;574087;26851989;1010867;24460937;758839;45071880;1339034;37456301;1244316
|
||||
600;1895442;130464;12047917;247568;25117703;456337;20575498;266024;29783448;831999;27577395;793483;52053112;1097029;42532242;1356564
|
||||
700;2213827;104975;12361110;300385;27882492;634943;22382673;573662;32845440;559622;30507109;895084;59129922;1097927;47687095;863862
|
||||
800;2628305;201520;12754461;245304;30815541;974036;24578416;1370113;36157934;750879;35652768;860188;65820532;998922;53092810;938485
|
||||
900;2825817;162314;12993031;356629;33225179;414261;26037719;462749;39436945;796004;39342039;1201289;72232752;767761;58484564;1533793
|
||||
1000;3108772;170260;13431961;307448;35931523;507563;27869838;962124;43469749;1907452;42401106;1213179;79670603;1840701;63659220;1148797
|
||||
1100;3406111;146170;13777606;306016;38686328;485222;29861891;980317;45853904;1279935;44848600;1390247;86139757;621780;69738219;2240494
|
||||
1200;3725777;156594;14126528;277721;41647628;705704;31178678;460041;49035716;695564;45621733;1325123;93095429;902275;74307838;1794152
|
||||
1300;4087469;156785;14358058;280611;44086243;460197;32979343;423141;52497584;1632619;51856861;1275990;100191141;1814128;80135020;3262696
|
||||
1400;4292505;167374;14846268;296761;46809938;541389;34869115;432616;56190011;1089663;55203609;914387;107766603;2362379;85479265;1389504
|
||||
1500;4572214;225571;15114237;287681;49361025;279845;37212031;1781779;59116185;1689085;58285709;749010;113992447;1269982;90473175;1713998
|
||||
1600;4923082;174615;15460129;327486;52305548;611924;38625303;1135684;62279307;1274413;61953282;1695522;121063828;2245106;96033275;2312777
|
||||
1700;5166483;153378;15791758;298803;54938031;513068;40254955;949560;65382680;1506830;65115356;1331748;127720565;1626984;100748551;1649820
|
||||
1800;5497751;209020;16085585;366356;58477674;1507994;41892868;498818;68688056;1504520;68228749;880714;134391688;1582336;107186154;1589397
|
||||
1900;5805956;193667;16427008;257386;60505802;716086;43707906;813608;72153172;1749906;71204672;639830;141534098;1787621;111845567;1418496
|
||||
2000;6059830;149468;16976318;415427;63510717;1323394;45371320;371778;75689663;1580709;74722980;979545;148737463;2653304;116676154;1474490
|
||||
2100;6377742;190684;17196797;289761;66726951;1794964;47414718;1348167;78754328;1798845;77583191;1497809;155363324;2473707;122408936;1673891
|
||||
2200;6623121;189853;17470183;303551;68567720;1023095;49269993;1644584;81715194;1847263;81630235;1266921;162580027;3575716;127848212;2435339
|
||||
2300;6952906;176805;17876859;336883;69392158;10556124;50527003;363668;85161444;1925442;84283344;1124784;168991977;2334144;132760346;2491277
|
||||
2400;7288966;221144;18215274;381104;73997790;1207150;53676400;2638128;88515266;1956049;87714794;1047669;176316871;2664706;138427180;3428852
|
||||
2500;7687086;214686;18630693;393414;76931585;1135647;55006778;2629415;91372314;2103385;91015096;1907795;183353388;2070291;143987804;3191243
|
||||
2600;7632633;363416;18909524;344719;79271877;687461;55975072;345029;94539841;1303073;94438459;1044190;189836061;2321304;149616169;3588693
|
||||
2700;8174560;181199;19231438;387669;82347089;1557451;57872052;490032;97678038;1347481;97621552;1146042;197259039;2894388;153469866;2291787
|
||||
2800;8447899;213732;19670216;328248;84893831;1408698;59542864;265835;101249601;1661554;100727209;1440325;203936177;3275245;159844758;2318524
|
||||
2900;8804464;218130;19956270;431572;87686022;1182234;61601833;981957;104308050;1786214;103876640;1148094;210448418;3403192;165006808;2449638
|
||||
3000;9010784;248166;20376781;336594;91068853;1782507;63178755;558420;106994264;1560907;106959716;1037735;216539614;2782129;170782294;2861060
|
||||
3100;9331103;266569;20577490;278614;93221976;1568136;65392427;2128048;110128834;1347250;110771591;1790119;225322807;4036079;175905233;2913873
|
||||
3200;9778768;280983;20965405;359323;95722907;1632923;67069912;1365944;114724502;2801907;114345455;1651313;230459357;2103196;180736097;1911002
|
||||
3300;9909117;283939;21283196;422513;98212371;671946;68701884;1196483;116953218;1948013;116975388;1719466;237007031;1793911;186427075;3133767
|
||||
3400;10253423;272824;21563196;476725;100947909;1262629;70202232;398452;121516666;2752272;116900460;18828606;243965577;1742249;190953641;3516285
|
||||
3500;10549094;282951;22085786;363989;103828023;1230160;72095327;1412804;122976733;1810316;123544404;1617207;251422319;3911285;196557186;2842641
|
||||
3600;10932319;280437;22273127;312981;106331558;513011;74155843;1156209;127525307;2349155;127181318;1985368;258570335;2400550;202445599;3652985
|
||||
3700;11219472;293693;22752743;363381;109179786;1510549;75889598;1338718;130899357;2840471;130113483;2428192;264318118;5261600;207869651;2975572
|
||||
3800;11514828;307166;22943067;418169;111560051;338207;77553942;1357759;133639518;2945802;134020974;2403253;271979896;3103527;213578445;3157841
|
||||
3900;11824172;343282;23547573;417688;115156892;1981115;79134316;992767;136624026;1986892;136212234;920525;278799056;3039350;218077995;3368338
|
||||
4000;12123878;296372;23814232;375398;117444661;1697465;80847115;834244;138963968;2892888;139715392;1778420;285639371;2351648;224054024;3285788
|
||||
4100;12526596;347080;24076190;411786;120001747;1042786;83079117;1736204;143419406;2973443;142664064;2611749;292438496;5864424;228461888;2473895
|
||||
4200;12715912;279629;24341732;416874;122699007;1258274;85512780;2631994;147069820;3579741;146571150;1463553;300491237;3464580;234442167;2762145
|
||||
4300;13111242;258811;24656266;428479;125560493;1443093;85918169;297761;149378298;2451718;149485075;1587550;305708071;2985253;239783643;2561444
|
||||
4400;13303073;325634;25067172;387431;127711585;372280;87929683;975369;152833570;2522128;153113653;1656150;313055332;6297144;243740800;3929135
|
||||
4500;13697463;356756;25683108;375100;130526503;693141;89582972;505995;155724988;4075062;155227342;2044938;309578675;54625956;250101014;4378895
|
||||
4600;13977464;344027;25925755;460848;133495971;1127336;91597602;1157872;158610112;3912888;158811576;1730808;326519995;6710607;255335223;3916086
|
||||
4700;14213956;470038;25919071;354324;136075667;1366941;93461991;1220158;161771244;2003348;162846180;1940000;332985345;2558187;261185171;4275170
|
||||
4800;14576705;375812;26600502;505971;139289408;1414807;94883034;524994;164754921;1944789;165493142;1553616;340248426;2999981;266618479;3845083
|
||||
4900;14708572;286603;26813061;385730;142436712;2843052;96930580;1047072;168167032;1638428;169239730;1898011;347728876;4980985;270105550;4902415
|
||||
5000;15199882;359091;27142509;386736;145702391;3939916;98716605;1358384;172570367;2825799;172350252;1561780;354276939;2652007;275452799;6886489
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
\begin{filecontents*}[overwrite]{\jobname.xmpdata}
|
||||
\Author{\authorname} % The author's name in the document properties.
|
||||
\Title{Intercepting and Manipulating System/Function Calls in Linux Systems} % The document's title in the document properties.
|
||||
\Language{de-AT} % The document's language in the document properties. Select 'en-US', 'en-GB', or 'de-AT'.
|
||||
\Language{en-US} % The document's language in the document properties. Select 'en-US', 'en-GB', or 'de-AT'.
|
||||
\Keywords{system call\sep syscall\sep function call\sep intercept\sep hook} % The document's keywords in the document properties (separated by '\sep ').
|
||||
\Publisher{TU Wien} % The document's publisher in the document properties.
|
||||
\Subject{Thesis} % The document's subject in the document properties.
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
% Required data.
|
||||
\setregnumber{12119052}
|
||||
\setdate{25}{08}{2025} % Set date with 3 arguments: {day}{month}{year}.
|
||||
\setdate{04}{09}{2025} % Set date with 3 arguments: {day}{month}{year}.
|
||||
\settitle{\thesistitle}{Abfangen und Manipulieren von\\System-/Funktionsaufrufen in\\Linux-Systemen} % Sets English and German version of the title (both can be English or German). If your title contains commas, enclose it with additional curvy brackets (i.e., {{your title}}) or define it as a macro as done with \thesistitle.
|
||||
%\setsubtitle{Optional Subtitle of the Thesis}{Optionaler Untertitel der Arbeit} % Sets English and German version of the subtitle (both can be English or German).
|
||||
|
||||
@@ -158,20 +158,19 @@
|
||||
% Switch to arabic numbering and start the enumeration of chapters in the table of content.
|
||||
\mainmatter
|
||||
\input{src/01.introduction}
|
||||
\input{src/02.intercept}
|
||||
\input{src/03.manipulate}
|
||||
\input{src/04.related-work}
|
||||
\input{src/02.related-work}
|
||||
\input{src/03.intercept}
|
||||
\input{src/04.manipulate}
|
||||
\input{src/05.evaluation}
|
||||
\input{src/06.conclusion}
|
||||
\backmatter
|
||||
|
||||
% Declare the use of AI tools as mentioned in the statement of originality.
|
||||
% Use either the English aitools or the German kitools.
|
||||
\begin{aitools}
|
||||
No generative AI tools were used in and for this work whatsoever.
|
||||
The only exception was the use of ChatGPT for proofreading and refining of the abstract.
|
||||
\todo{Remove}
|
||||
\end{aitools}
|
||||
%\begin{aitools}
|
||||
% No generative AI tools were used in and for this work whatsoever.
|
||||
% The only exception was the use of ChatGPT for proofreading and refining of the abstract.
|
||||
%\end{aitools}
|
||||
|
||||
%\begin{kitools}
|
||||
%\todo{Ihr Text hier.}
|
||||
|
||||
@@ -408,23 +408,18 @@
|
||||
oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe
|
||||
der Quelle als Entlehnung kenntlich gemacht habe.}]{Statement}%
|
||||
\CreatePolylingual[
|
||||
english={I further declare that I have used generative AI tools only as an aid,
|
||||
and that my own intellectual and creative efforts predominate in this
|
||||
work. In the appendix ``Overview of Generative AI Tools Used'' I have
|
||||
listed all generative AI tools that were used in the creation of this
|
||||
work, and indicated where in the work they were used. If whole passages
|
||||
of text were used without substantial changes, I have indicated the
|
||||
input (prompts) I formulated and the IT application used with its
|
||||
product name and version number/date.},
|
||||
naustrian={Ich erkl\"are weiters, dass ich mich generativer KI-Tools lediglich als
|
||||
Hilfsmittel bedient habe und in der vorliegenden Arbeit mein
|
||||
gestalterischer Einfluss \"uberwiegt. Im Anhang \glqq\"Ubersicht verwendeter
|
||||
Hilfsmittel\grqq\ habe ich alle generativen KI-Tools gelistet, die verwendet
|
||||
wurden, und angegeben, wo und wie sie verwendet wurden. F\"ur
|
||||
Textpassagen, die ohne substantielle \"Anderungen \"ubernommen wurden, haben
|
||||
ich jeweils die von mir formulierten Eingaben (Prompts) und die
|
||||
verwendete IT-Anwendung mit ihrem Produktnamen und Versionsnummer/Datum
|
||||
angegeben.}]{AIStatement}%
|
||||
english={
|
||||
I further declare that I have used generative AI tools only as an aid, and that my own intellectual and creative efforts predominate in this work.
|
||||
%In the appendix ``Overview of Generative AI Tools Used'' I have listed all generative AI tools that were used in the creation of this work, and indicated where in the work they were used.
|
||||
%If whole passages of text were used without substantial changes, I have indicated the input (prompts) I formulated and the IT application used with its product name and version number/date.
|
||||
The only use of a generative AI tool was ChatGPT, which was used for proof reading, for rephrasing single sentences and paragraphs, and to create the abstract.
|
||||
},
|
||||
naustrian={
|
||||
Ich erkl\"are weiters, dass ich mich generativer KI-Tools lediglich als Hilfsmittel bedient habe und in der vorliegenden Arbeit mein gestalterischer Einfluss \"uberwiegt.
|
||||
%Im Anhang \glqq\"Ubersicht verwendeter Hilfsmittel\grqq\ habe ich alle generativen KI-Tools gelistet, die verwendet wurden, und angegeben, wo und wie sie verwendet wurden.
|
||||
%F\"ur Textpassagen, die ohne substantielle \"Anderungen \"ubernommen wurden, haben ich jeweils die von mir formulierten Eingaben (Prompts) und die verwendete IT-Anwendung mit ihrem Produktnamen und Versionsnummer/Datum angegeben.
|
||||
Das einzige verwendete generative KI-Tool war ChatGPT, welches zum Korrekturlesen, bei der Umformulierung einzelner Sätze und Paragraphen, und zum Erstellen der Kurzfassung verwenet wurde.
|
||||
}]{AIStatement}%
|
||||
\CreatePolylingual[
|
||||
english=Overview of Gen. AI Tools Used,
|
||||
naustrian=Übersicht verwendeter Hilfsmittel]{AIToolsChapter}%
|
||||
|
||||
Reference in New Issue
Block a user