diff --git a/pipelines/PAD2 Repetitorium/Praktikum 1/jenkinsfile.groovy b/pipelines/PAD2 Repetitorium/Praktikum 1/jenkinsfile.groovy
index f41144616401da2ba81ea9f6fabe53d5e1671cdc..025f6a06be60d38a14148cfb73aa1b359ac4fbd3 100644
--- a/pipelines/PAD2 Repetitorium/Praktikum 1/jenkinsfile.groovy	
+++ b/pipelines/PAD2 Repetitorium/Praktikum 1/jenkinsfile.groovy	
@@ -31,42 +31,44 @@ node {
                 unHealthy: ''
         )
     }
-    stage('Run valgrind') {
-        runValgrind(
-                childSilentAfterFork: false,
-                excludePattern: '',
-                generateSuppressions: false,
-                ignoreExitCode: false,
-                includePattern: 'binary',
-                outputDirectory: '',
-                outputFileEnding: '.valgrindReport',
-                programOptions: '',
-                removeOldReports: false,
-                suppressionFiles: '',
-                tool: [$class              : 'ValgrindToolMemcheck',
-                       leakCheckLevel      : 'full',
-                       showReachable       : true,
-                       trackOrigins        : true,
-                       undefinedValueErrors: true],
-                traceChildren: false,
-                valgrindExecutable: '',
-                algrindOptions: '',
-                workingDirectory: ''
-        )
-        publishValgrind(
-                failBuildOnInvalidReports: false,
-                failBuildOnMissingReports: false,
-                failThresholdDefinitelyLost: '',
-                failThresholdInvalidReadWrite: '',
-                failThresholdTotal: '',
-                pattern: '*valgrindReport',
-                publishResultsForAbortedBuilds: false,
-                publishResultsForFailedBuilds: false,
-                sourceSubstitutionPaths: '',
-                unstableThresholdDefinitelyLost: '0',
-                unstableThresholdInvalidReadWrite: '0',
-                unstableThresholdTotal: '0'
-        )
+    timeout(time: 20, unit: 'SECONDS') {
+        stage('Run valgrind') {
+            runValgrind(
+                    childSilentAfterFork: false,
+                    excludePattern: '',
+                    generateSuppressions: false,
+                    ignoreExitCode: false,
+                    includePattern: 'binary',
+                    outputDirectory: '',
+                    outputFileEnding: '.valgrindReport',
+                    programOptions: '',
+                    removeOldReports: false,
+                    suppressionFiles: '',
+                    tool: [$class              : 'ValgrindToolMemcheck',
+                           leakCheckLevel      : 'full',
+                           showReachable       : true,
+                           trackOrigins        : true,
+                           undefinedValueErrors: true],
+                    traceChildren: false,
+                    valgrindExecutable: '',
+                    algrindOptions: '',
+                    workingDirectory: ''
+            )
+            publishValgrind(
+                    failBuildOnInvalidReports: false,
+                    failBuildOnMissingReports: false,
+                    failThresholdDefinitelyLost: '',
+                    failThresholdInvalidReadWrite: '',
+                    failThresholdTotal: '',
+                    pattern: '*valgrindReport',
+                    publishResultsForAbortedBuilds: false,
+                    publishResultsForFailedBuilds: false,
+                    sourceSubstitutionPaths: '',
+                    unstableThresholdDefinitelyLost: '0',
+                    unstableThresholdInvalidReadWrite: '0',
+                    unstableThresholdTotal: '0'
+            )
+        }
     }
     stage('Pull and compile cppunit tests') {
         sh(
diff --git a/pipelines/PAD2 Repetitorium/Praktikum 2/jenkinsfile.groovy b/pipelines/PAD2 Repetitorium/Praktikum 2/jenkinsfile.groovy
index 2297f06c8b3e9507d3efa61e97f8f96faccea86c..0a0c29a0fc72ed280de6cf2277b4a0f6153e9f6c 100644
--- a/pipelines/PAD2 Repetitorium/Praktikum 2/jenkinsfile.groovy	
+++ b/pipelines/PAD2 Repetitorium/Praktikum 2/jenkinsfile.groovy	
@@ -31,42 +31,44 @@ node {
                 unHealthy: ''
         )
     }
-    stage('Run valgrind') {
-        runValgrind(
-                childSilentAfterFork: false,
-                excludePattern: '',
-                generateSuppressions: false,
-                ignoreExitCode: false,
-                includePattern: 'binary',
-                outputDirectory: '',
-                outputFileEnding: '.valgrindReport',
-                programOptions: '',
-                removeOldReports: false,
-                suppressionFiles: '',
-                tool: [$class              : 'ValgrindToolMemcheck',
-                       leakCheckLevel      : 'full',
-                       showReachable       : true,
-                       trackOrigins        : true,
-                       undefinedValueErrors: true],
-                traceChildren: false,
-                valgrindExecutable: '',
-                algrindOptions: '',
-                workingDirectory: ''
-        )
-        publishValgrind(
-                failBuildOnInvalidReports: false,
-                failBuildOnMissingReports: false,
-                failThresholdDefinitelyLost: '',
-                failThresholdInvalidReadWrite: '',
-                failThresholdTotal: '',
-                pattern: '*valgrindReport',
-                publishResultsForAbortedBuilds: false,
-                publishResultsForFailedBuilds: false,
-                sourceSubstitutionPaths: '',
-                unstableThresholdDefinitelyLost: '0',
-                unstableThresholdInvalidReadWrite: '0',
-                unstableThresholdTotal: '0'
-        )
+    timeout(time: 20, unit: 'SECONDS') {
+        stage('Run valgrind') {
+            runValgrind(
+                    childSilentAfterFork: false,
+                    excludePattern: '',
+                    generateSuppressions: false,
+                    ignoreExitCode: false,
+                    includePattern: 'binary',
+                    outputDirectory: '',
+                    outputFileEnding: '.valgrindReport',
+                    programOptions: '',
+                    removeOldReports: false,
+                    suppressionFiles: '',
+                    tool: [$class              : 'ValgrindToolMemcheck',
+                           leakCheckLevel      : 'full',
+                           showReachable       : true,
+                           trackOrigins        : true,
+                           undefinedValueErrors: true],
+                    traceChildren: false,
+                    valgrindExecutable: '',
+                    algrindOptions: '',
+                    workingDirectory: ''
+            )
+            publishValgrind(
+                    failBuildOnInvalidReports: false,
+                    failBuildOnMissingReports: false,
+                    failThresholdDefinitelyLost: '',
+                    failThresholdInvalidReadWrite: '',
+                    failThresholdTotal: '',
+                    pattern: '*valgrindReport',
+                    publishResultsForAbortedBuilds: false,
+                    publishResultsForFailedBuilds: false,
+                    sourceSubstitutionPaths: '',
+                    unstableThresholdDefinitelyLost: '0',
+                    unstableThresholdInvalidReadWrite: '0',
+                    unstableThresholdTotal: '0'
+            )
+        }
     }
     stage('Pull and compile cppunit tests') {
         sh(
diff --git a/pipelines/PAD2 Repetitorium/Praktikum 3/jenkinsfile.groovy b/pipelines/PAD2 Repetitorium/Praktikum 3/jenkinsfile.groovy
index 7ff52a98417a56d372fb079ef8cf33f3fcb78697..b6c04945fee593a4944930334d751306ea4e6ed3 100644
--- a/pipelines/PAD2 Repetitorium/Praktikum 3/jenkinsfile.groovy	
+++ b/pipelines/PAD2 Repetitorium/Praktikum 3/jenkinsfile.groovy	
@@ -31,41 +31,43 @@ node {
                 unHealthy: ''
         )
     }
-    stage('Run valgrind') {
-        runValgrind(
-                childSilentAfterFork: false,
-                excludePattern: '',
-                generateSuppressions: false,
-                ignoreExitCode: false,
-                includePattern: 'binary',
-                outputDirectory: '',
-                outputFileEnding: '.valgrindReport',
-                programOptions: '',
-                removeOldReports: false,
-                suppressionFiles: '',
-                tool: [$class              : 'ValgrindToolMemcheck',
-                       leakCheckLevel      : 'full',
-                       showReachable       : true,
-                       trackOrigins        : true,
-                       undefinedValueErrors: true],
-                traceChildren: false,
-                valgrindExecutable: '',
-                algrindOptions: '',
-                workingDirectory: ''
-        )
-        publishValgrind(
-                failBuildOnInvalidReports: false,
-                failBuildOnMissingReports: false,
-                failThresholdDefinitelyLost: '',
-                failThresholdInvalidReadWrite: '',
-                failThresholdTotal: '',
-                pattern: '*valgrindReport',
-                publishResultsForAbortedBuilds: false,
-                publishResultsForFailedBuilds: false,
-                sourceSubstitutionPaths: '',
-                unstableThresholdDefinitelyLost: '0',
-                unstableThresholdInvalidReadWrite: '0',
-                unstableThresholdTotal: '0'
-        )
+    timeout(time: 20, unit: 'SECONDS') {
+        stage('Run valgrind') {
+            runValgrind(
+                    childSilentAfterFork: false,
+                    excludePattern: '',
+                    generateSuppressions: false,
+                    ignoreExitCode: false,
+                    includePattern: 'binary',
+                    outputDirectory: '',
+                    outputFileEnding: '.valgrindReport',
+                    programOptions: '',
+                    removeOldReports: false,
+                    suppressionFiles: '',
+                    tool: [$class              : 'ValgrindToolMemcheck',
+                           leakCheckLevel      : 'full',
+                           showReachable       : true,
+                           trackOrigins        : true,
+                           undefinedValueErrors: true],
+                    traceChildren: false,
+                    valgrindExecutable: '',
+                    algrindOptions: '',
+                    workingDirectory: ''
+            )
+            publishValgrind(
+                    failBuildOnInvalidReports: false,
+                    failBuildOnMissingReports: false,
+                    failThresholdDefinitelyLost: '',
+                    failThresholdInvalidReadWrite: '',
+                    failThresholdTotal: '',
+                    pattern: '*valgrindReport',
+                    publishResultsForAbortedBuilds: false,
+                    publishResultsForFailedBuilds: false,
+                    sourceSubstitutionPaths: '',
+                    unstableThresholdDefinitelyLost: '0',
+                    unstableThresholdInvalidReadWrite: '0',
+                    unstableThresholdTotal: '0'
+            )
+        }
     }
 }
\ No newline at end of file
diff --git a/pipelines/PAD2 Repetitorium/Praktikum 5/jenkinsfile.groovy b/pipelines/PAD2 Repetitorium/Praktikum 5/jenkinsfile.groovy
index c7b43525f99d161680fd721a9849650dbfe0f895..527291d21d8d70ff53ed9c8213cb6e538d9024de 100644
--- a/pipelines/PAD2 Repetitorium/Praktikum 5/jenkinsfile.groovy	
+++ b/pipelines/PAD2 Repetitorium/Praktikum 5/jenkinsfile.groovy	
@@ -34,42 +34,44 @@ node {
                 unHealthy: ''
         )
     }
-    stage('Run valgrind') {
-        runValgrind(
-                childSilentAfterFork: false,
-                excludePattern: '',
-                generateSuppressions: false,
-                ignoreExitCode: false,
-                includePattern: 'binary',
-                outputDirectory: '',
-                outputFileEnding: '.valgrindReport',
-                programOptions: '',
-                removeOldReports: false,
-                suppressionFiles: '',
-                tool: [$class              : 'ValgrindToolMemcheck',
-                       leakCheckLevel      : 'full',
-                       showReachable       : true,
-                       trackOrigins        : true,
-                       undefinedValueErrors: true],
-                traceChildren: false,
-                valgrindExecutable: '',
-                algrindOptions: '',
-                workingDirectory: ''
-        )
-        publishValgrind(
-                failBuildOnInvalidReports: false,
-                failBuildOnMissingReports: false,
-                failThresholdDefinitelyLost: '',
-                failThresholdInvalidReadWrite: '',
-                failThresholdTotal: '',
-                pattern: '*valgrindReport',
-                publishResultsForAbortedBuilds: false,
-                publishResultsForFailedBuilds: false,
-                sourceSubstitutionPaths: '',
-                unstableThresholdDefinitelyLost: '0',
-                unstableThresholdInvalidReadWrite: '0',
-                unstableThresholdTotal: '0'
-        )
+    timeout(time: 20, unit: 'SECONDS') {
+        stage('Run valgrind') {
+            runValgrind(
+                    childSilentAfterFork: false,
+                    excludePattern: '',
+                    generateSuppressions: false,
+                    ignoreExitCode: false,
+                    includePattern: 'binary',
+                    outputDirectory: '',
+                    outputFileEnding: '.valgrindReport',
+                    programOptions: '',
+                    removeOldReports: false,
+                    suppressionFiles: '',
+                    tool: [$class              : 'ValgrindToolMemcheck',
+                           leakCheckLevel      : 'full',
+                           showReachable       : true,
+                           trackOrigins        : true,
+                           undefinedValueErrors: true],
+                    traceChildren: false,
+                    valgrindExecutable: '',
+                    algrindOptions: '',
+                    workingDirectory: ''
+            )
+            publishValgrind(
+                    failBuildOnInvalidReports: false,
+                    failBuildOnMissingReports: false,
+                    failThresholdDefinitelyLost: '',
+                    failThresholdInvalidReadWrite: '',
+                    failThresholdTotal: '',
+                    pattern: '*valgrindReport',
+                    publishResultsForAbortedBuilds: false,
+                    publishResultsForFailedBuilds: false,
+                    sourceSubstitutionPaths: '',
+                    unstableThresholdDefinitelyLost: '0',
+                    unstableThresholdInvalidReadWrite: '0',
+                    unstableThresholdTotal: '0'
+            )
+        }
     }
     stage('Pull and compile cppunit tests') {
         sh(