diff --git a/examples/example_compress_chunk.c b/examples/example_compress_chunk.c
index 900eb0177373f7dc4b87b17b89b3b0f54b8c1b25..4ca542e00b4d5234c6d0b21c4ff4264a6aff4eaa 100644
--- a/examples/example_compress_chunk.c
+++ b/examples/example_compress_chunk.c
@@ -149,7 +149,7 @@ static int demo_comperss_chunk_1d(void)
 	{	/* have a look at the compressed data */
 		uint32_t i;
 
-		printf("Here's the compressed data including the compression entity header (size %d):\n", cmp_size_bytes);
+		printf("Here's the compressed data including the compression entity header (size %u):\n", cmp_size_bytes);
 		for (i = 0; i < cmp_size_bytes; i++) {
 			const uint8_t *p = (uint8_t *)compressed_data; /* the compression entity is big-endian */
 			printf("%02X ", p[i]);
@@ -270,7 +270,7 @@ static int demo_comperss_chunk_model(void)
 	{	/* have a look at the compressed data */
 		uint32_t i;
 
-		printf("Here's the compressed data including the compression entity header (size %d):\n", cmp_size_bytes);
+		printf("Here's the compressed data including the compression entity header (size %u):\n", cmp_size_bytes);
 		for (i = 0; i < cmp_size_bytes; i++) {
 			const uint8_t *p = (uint8_t *)compressed_data; /* the compression entity is big-endian */
 			printf("%02X ", p[i]);
diff --git a/lib/cmp_chunk.h b/lib/cmp_chunk.h
index 2300483ae52b18a03a4a33c3e55f93b0eb16078e..8e1c2c10b85cae30f371d29586d918c5edaca1ca 100644
--- a/lib/cmp_chunk.h
+++ b/lib/cmp_chunk.h
@@ -20,6 +20,9 @@
 #ifndef CMP_CHUNK_H
 #define CMP_CHUNK_H
 
+#include <stddef.h>
+#include <stdint.h>
+
 #include "common/cmp_support.h"
 #include "common/cmp_entity.h"
 #include "common/cmp_error_list.h"
diff --git a/lib/cmp_icu.h b/lib/cmp_icu.h
index 4df2cff7ee24b6504a174961fc2fd0f02616269f..34dad7bfb9ae0e790028245fde2821ba57b003cb 100644
--- a/lib/cmp_icu.h
+++ b/lib/cmp_icu.h
@@ -20,6 +20,8 @@
 #ifndef CMP_ICU_H
 #define CMP_ICU_H
 
+#include <stdint.h>
+
 #include "common/cmp_support.h"
 
 uint32_t compress_like_rdcu(const struct rdcu_cfg *rcfg, struct cmp_info *info);
diff --git a/lib/common/cmp_data_types.c b/lib/common/cmp_data_types.c
index 778195fd6b0816a7e0fe931469092d0cd46689ee..7a4f78f6ea659eff224a3305b54937bf4f8ab537 100644
--- a/lib/common/cmp_data_types.c
+++ b/lib/common/cmp_data_types.c
@@ -17,9 +17,11 @@
  */
 
 
+#include <stddef.h>
 #include <stdint.h>
 #include <limits.h>
 
+#include "compiler.h"
 #include "byteorder.h"
 #include "cmp_debug.h"
 #include "cmp_support.h"
@@ -504,6 +506,7 @@ uint8_t convert_cmp_data_type_to_subservice(enum cmp_data_type data_type)
 		break;
 	default:
 	case DATA_TYPE_UNKNOWN:
+	case DATA_TYPE_CHUNK:
 		debug_print("Error: Unknown compression data type!");
 		sst = (uint8_t)-1;
 	};
@@ -581,6 +584,7 @@ size_t size_of_a_sample(enum cmp_data_type data_type)
 	case DATA_TYPE_F_FX_EFX_NCOB_ECOB:
 		sample_size = sizeof(struct f_fx_efx_ncob_ecob);
 		break;
+	case DATA_TYPE_CHUNK:
 	case DATA_TYPE_UNKNOWN:
 	default:
 		debug_print("Error: Compression data type is not supported.");
@@ -604,7 +608,7 @@ static void be_to_cpus_16(uint16_t *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		uint16_t tmp;
 
 		tmp = be16_to_cpu(get_unaligned(&a[i]));
@@ -617,7 +621,7 @@ static void be_to_cpus_offset(struct offset *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].mean = be32_to_cpu(a[i].mean);
 		a[i].variance = be32_to_cpu(a[i].variance);
 	}
@@ -628,7 +632,7 @@ static void be_to_cpus_background(struct background *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].mean = be32_to_cpu(a[i].mean);
 		a[i].variance = be32_to_cpu(a[i].variance);
 		a[i].outlier_pixels = be16_to_cpu(a[i].outlier_pixels);
@@ -640,7 +644,7 @@ static void be_to_cpus_smearing(struct smearing *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].mean = be32_to_cpu(a[i].mean);
 		a[i].variance_mean = be16_to_cpu(a[i].variance_mean);
 		a[i].outlier_pixels = be16_to_cpu(a[i].outlier_pixels);
@@ -652,7 +656,7 @@ static void be_to_cpus_s_fx(struct s_fx *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i)
+	for (i = 0; i < samples; i++)
 		a[i].fx = be32_to_cpu(a[i].fx);
 }
 
@@ -661,7 +665,7 @@ static void be_to_cpus_s_fx_efx(struct s_fx_efx *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].efx = be32_to_cpu(a[i].efx);
 	}
@@ -672,7 +676,7 @@ static void be_to_cpus_s_fx_ncob(struct s_fx_ncob *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].ncob_x = be32_to_cpu(a[i].ncob_x);
 		a[i].ncob_y = be32_to_cpu(a[i].ncob_y);
@@ -684,7 +688,7 @@ static void be_to_cpus_s_fx_efx_ncob_ecob(struct s_fx_efx_ncob_ecob *a, uint32_t
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].ncob_x = be32_to_cpu(a[i].ncob_x);
 		a[i].ncob_y = be32_to_cpu(a[i].ncob_y);
@@ -699,7 +703,7 @@ static void be_to_cpus_l_fx(struct l_fx *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].exp_flags = be24_to_cpu(a[i].exp_flags);
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].fx_variance = be32_to_cpu(a[i].fx_variance);
@@ -711,7 +715,7 @@ static void be_to_cpus_l_fx_efx(struct l_fx_efx *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].exp_flags = be24_to_cpu(a[i].exp_flags);
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].efx = be32_to_cpu(a[i].efx);
@@ -724,7 +728,7 @@ static void be_to_cpus_l_fx_ncob(struct l_fx_ncob *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].exp_flags = be24_to_cpu(a[i].exp_flags);
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].ncob_x = be32_to_cpu(a[i].ncob_x);
@@ -740,7 +744,7 @@ static void be_to_cpus_l_fx_efx_ncob_ecob(struct l_fx_efx_ncob_ecob *a, uint32_t
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].exp_flags = be24_to_cpu(a[i].exp_flags);
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].ncob_x = be32_to_cpu(a[i].ncob_x);
@@ -759,7 +763,7 @@ static void be_to_cpus_f_fx(struct f_fx *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i)
+	for (i = 0; i < samples; i++)
 		a[i].fx = be32_to_cpu(a[i].fx);
 }
 
@@ -768,7 +772,7 @@ static void be_to_cpus_f_fx_efx(struct f_fx_efx *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].efx = be32_to_cpu(a[i].efx);
 	}
@@ -779,7 +783,7 @@ static void be_to_cpus_f_fx_ncob(struct f_fx_ncob *a, uint32_t samples)
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].ncob_x = be32_to_cpu(a[i].ncob_x);
 		a[i].ncob_y = be32_to_cpu(a[i].ncob_y);
@@ -791,7 +795,7 @@ static void be_to_cpus_f_fx_efx_ncob_ecob(struct f_fx_efx_ncob_ecob *a, uint32_t
 {
 	uint32_t i;
 
-	for (i = 0; i < samples; ++i) {
+	for (i = 0; i < samples; i++) {
 		a[i].fx = be32_to_cpu(a[i].fx);
 		a[i].ncob_x = be32_to_cpu(a[i].ncob_x);
 		a[i].ncob_y = be32_to_cpu(a[i].ncob_y);
diff --git a/lib/common/cmp_data_types.h b/lib/common/cmp_data_types.h
index e63fc84d3dbb6b6748a91b44858a1c83455fd395..9559dd188bed0d5ffe150dbd76667eadb685c6cf 100644
--- a/lib/common/cmp_data_types.h
+++ b/lib/common/cmp_data_types.h
@@ -34,6 +34,7 @@
 #ifndef CMP_DATA_TYPE_H
 #define CMP_DATA_TYPE_H
 
+#include <stddef.h>
 #include <stdint.h>
 
 #include "compiler.h"
diff --git a/lib/common/cmp_debug.c b/lib/common/cmp_debug.c
index 08486ab0af9a2dbf0a9cc3ecd668221202cdff82..db6749c85de86fa95ebb4aa086536ddb6dc474ca 100644
--- a/lib/common/cmp_debug.c
+++ b/lib/common/cmp_debug.c
@@ -21,6 +21,7 @@
 #ifndef ICU_ASW
 #  include <stdio.h>
 #endif
+#include <stddef.h>
 #include <string.h>
 #include <stdarg.h>
 
@@ -44,8 +45,8 @@ static void cmp_debug_puts(const char *str)
 	/* asw_puts(str); */
 	(void)str;
 #else
-	fputs(str, stderr);
-	fputs("\n", stderr);
+	(void)fputs(str, stderr);
+	(void)fputs("\n", stderr);
 #endif
 }
 
diff --git a/lib/common/cmp_debug.h b/lib/common/cmp_debug.h
index 1261289366ad362aef4052852d75f8a3560d618a..281ff531f1005282fdf83f9a4c0af15fa4e743b3 100644
--- a/lib/common/cmp_debug.h
+++ b/lib/common/cmp_debug.h
@@ -33,21 +33,21 @@
 
 #define PRINT_BUFFER_SIZE 256
 
-__extension__
 #if (DEBUGLEVEL > 0)
+__extension__
 #  define debug_print(...) cmp_debug_print_impl(__VA_ARGS__)
 void cmp_debug_print_impl(const char *fmt, ...);
 #else
+__extension__
 #  define debug_print(...) do {} while (0)
 #endif
 
 __extension__
 #define debug_print_level(level, ...)			\
 	do {						\
-		if (level <= DEBUGLEVEL)		\
+		if ((level) <= DEBUGLEVEL)		\
 			debug_print(__VA_ARGS__);	\
 	} while (0)
 
 
-
 #endif /* CMP_DEBUG_H */
diff --git a/lib/common/cmp_entity.c b/lib/common/cmp_entity.c
index b0644bad59ba93272d8a681bc3fa48a5d0d100c9..3813d1c752860373579f663a5b95c0f8163dcd24 100644
--- a/lib/common/cmp_entity.c
+++ b/lib/common/cmp_entity.c
@@ -32,10 +32,10 @@
 #  endif
 #endif
 
+#include "compiler.h"
 #include "byteorder.h"
 #include "cmp_debug.h"
 #include "cmp_support.h"
-#include "cmp_data_types.h"
 #include "cmp_entity.h"
 #include "leon_inttypes.h"
 
@@ -1971,7 +1971,7 @@ uint64_t cmp_ent_create_timestamp(const struct timespec *ts)
 		}
 		now = *ts;
 	} else {
-		clock_gettime(CLOCK_REALTIME, &now);
+		(void)clock_gettime(CLOCK_REALTIME, &now);
 	}
 
 	seconds = ((double)now.tv_sec + 1.0e-9 * (double)now.tv_nsec) -
@@ -2255,6 +2255,7 @@ static void cmp_ent_parese_specific_header(const struct cmp_entity *ent)
 	case DATA_TYPE_CHUNK:
 		cmp_ent_parese_non_imagette_header(ent);
 		break;
+	case DATA_TYPE_UNKNOWN:
 	default:
 		debug_print("For this data product type no parse functions is implemented!");
 		break;
diff --git a/lib/common/cmp_error.h b/lib/common/cmp_error.h
index 333bbc9565e4c8a574540f957c6ba932f3cc6400..64cb59e509159b42ec144752ca421532f1186bae 100644
--- a/lib/common/cmp_error.h
+++ b/lib/common/cmp_error.h
@@ -24,7 +24,6 @@
 
 
 #include <stdint.h>
-#include "cmp_error_list.h"
 
 
 /**
diff --git a/lib/common/cmp_support.c b/lib/common/cmp_support.c
index e438087576da6424251fb2f4a5c4fe0f8fd2f80c..d03a03e567d14e64392bd6269726f059016de6e2 100644
--- a/lib/common/cmp_support.c
+++ b/lib/common/cmp_support.c
@@ -17,11 +17,14 @@
  * @see Data Compression User Manual PLATO-UVIE-PL-UM-0001
  */
 
+#include <stdint.h>
+
 #include "compiler.h"
 
 #include "cmp_support.h"
 #include "cmp_debug.h"
 #include "leon_inttypes.h"
+#include "cmp_cal_up_model.h"
 
 
 /**
@@ -325,12 +328,12 @@ uint32_t cmp_icu_max_spill(unsigned int cmp_par)
 	/* the ICU compressor can generate code words with a length of maximal 32 bits. */
 	unsigned int const max_cw_bits = 32;
 	unsigned int const cutoff = (0x2U << (ilog_2(cmp_par) & 0x1FU)) - cmp_par;
-	unsigned int const max_n_sym_offset = max_cw_bits/2 - 1;
+	unsigned int const max_n_sym_offset = (max_cw_bits/2) - 1;
 
 	if (!cmp_par || cmp_par > MAX_NON_IMA_GOLOMB_PAR)
 		return 0;
 
-	return (max_cw_bits-1-ilog_2(cmp_par))*cmp_par + cutoff
+	return ((max_cw_bits-1-ilog_2(cmp_par))*cmp_par) + cutoff
 		- max_n_sym_offset - 1;
 }
 
diff --git a/lib/common/cmp_support.h b/lib/common/cmp_support.h
index c5043365903eeab356e28cdb4e406a85d931ca9e..ad1d86bd38ffac2196f66dee5d1906d5d6c3c382 100644
--- a/lib/common/cmp_support.h
+++ b/lib/common/cmp_support.h
@@ -22,13 +22,10 @@
 #include <stdint.h>
 #include <stddef.h>
 
-#include "cmp_cal_up_model.h"
 
 #define CMP_COLLECTION_FILD_SIZE 2
 
 
-
-
 #define CMP_LOSSLESS	0
 #define CMP_PAR_UNUNSED	0
 
diff --git a/lib/common/compiler.h b/lib/common/compiler.h
index 5128c0ccf3fc39790f87f43c7a842701ebe9a04d..298a325eca9a64902c5dcfa8d53a16fc660ac028 100644
--- a/lib/common/compiler.h
+++ b/lib/common/compiler.h
@@ -54,7 +54,7 @@
  * will cause a build error
  */
 
-#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
+#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
 
 #define bitsizeof(x)  (CHAR_BIT * sizeof(x))
 
diff --git a/lib/common/vsnprintf.h b/lib/common/vsnprintf.h
index 8afed651ce694c23b995daef1c3f354b80bb999b..ce7dcabfae8ea65ede6457005f2e32e7515c73e5 100644
--- a/lib/common/vsnprintf.h
+++ b/lib/common/vsnprintf.h
@@ -21,6 +21,9 @@
 #define VSNPRINTF_H
 
 #if (DEBUGLEVEL > 0)
+#include <stdarg.h>
+#include <stddef.h>
+
 int my_vsnprintf(char* buffer, size_t count, const char* format, va_list va);
 #endif
 
diff --git a/lib/decmp.h b/lib/decmp.h
index 3cdeb4c53c103b32f20aa9aa3b35e2871721d48f..469490637ec82fb7cc1b5689f043481e6af1643b 100644
--- a/lib/decmp.h
+++ b/lib/decmp.h
@@ -19,6 +19,8 @@
 #ifndef DECMP_H
 #define DECMP_H
 
+#include <stdint.h>
+
 #include "common/cmp_entity.h"
 #include "common/cmp_support.h"
 
diff --git a/lib/decompress/decmp.c b/lib/decompress/decmp.c
index 3baa4f853bd0d3a440d0464f018a3fffdeacf9ca..bd93d8adc3cdc554e27285dba5951a14f78e7087 100644
--- a/lib/decompress/decmp.c
+++ b/lib/decompress/decmp.c
@@ -37,10 +37,11 @@
 #include "../common/cmp_debug.h"
 #include "../common/cmp_support.h"
 #include "../common/cmp_entity.h"
+#include "../common/cmp_cal_up_model.h"
 #include "../common/cmp_max_used_bits.h"
 
 
-#define CORRUPTION_DETECTED -1
+#define CORRUPTION_DETECTED (-1)
 
 
 MAYBE_UNUSED static const char *please_check_str =
@@ -1596,6 +1597,7 @@ static int decompressed_data_internal(const struct cmp_cfg *cfg, enum decmp_type
 		case DATA_TYPE_F_FX_EFX:
 		case DATA_TYPE_F_FX_NCOB:
 		case DATA_TYPE_F_FX_EFX_NCOB_ECOB:
+		case DATA_TYPE_CHUNK:
 		case DATA_TYPE_UNKNOWN:
 		default:
 			err = -1;
diff --git a/lib/icu_compress/cmp_icu.c b/lib/icu_compress/cmp_icu.c
index 5d8fbdbf93b31e0316c9325454f128f09beb7539..1e5e7bc3b5c1144700b85f7129ea046b6e9d6b5d 100644
--- a/lib/icu_compress/cmp_icu.c
+++ b/lib/icu_compress/cmp_icu.c
@@ -23,12 +23,15 @@
 #include <limits.h>
 
 #include "../common/byteorder.h"
+#include "../common/compiler.h"
 #include "../common/cmp_debug.h"
 #include "../common/cmp_data_types.h"
 #include "../common/cmp_support.h"
+#include "../common/cmp_cal_up_model.h"
 #include "../common/cmp_max_used_bits.h"
 #include "../common/cmp_entity.h"
 #include "../common/cmp_error.h"
+#include "../common/cmp_error_list.h"
 #include "../common/leon_inttypes.h"
 #include "cmp_chunk_type.h"
 
@@ -1602,6 +1605,7 @@ static uint32_t compress_data_internal(const struct cmp_cfg *cfg, uint32_t strea
 		case DATA_TYPE_F_FX_EFX:
 		case DATA_TYPE_F_FX_NCOB:
 		case DATA_TYPE_F_FX_EFX_NCOB_ECOB:
+		case DATA_TYPE_CHUNK:
 		case DATA_TYPE_UNKNOWN:
 		default:
 			RETURN_ERROR(INT_DATA_TYPE_UNSUPPORTED, "");
diff --git a/lib/rdcu_compress/cmp_rdcu.c b/lib/rdcu_compress/cmp_rdcu.c
index d1e54e726a27d2e0f1f14799221caabeb2471c49..8a7264be9caf98d523d0000226599c9e627c557d 100644
--- a/lib/rdcu_compress/cmp_rdcu.c
+++ b/lib/rdcu_compress/cmp_rdcu.c
@@ -27,6 +27,7 @@
  */
 
 
+#include <stddef.h>
 #include <stdint.h>
 
 #include "../common/cmp_debug.h"
diff --git a/lib/rdcu_compress/cmp_rdcu_cfg.c b/lib/rdcu_compress/cmp_rdcu_cfg.c
index 9db8354f51fa569accc9ddb995bcea369249ac95..2968004684048839b1486aee0a4c9a2502855510 100644
--- a/lib/rdcu_compress/cmp_rdcu_cfg.c
+++ b/lib/rdcu_compress/cmp_rdcu_cfg.c
@@ -25,6 +25,7 @@
 #include "../common/cmp_support.h"
 #include "../common/leon_inttypes.h"
 #include "../common/compiler.h"
+#include "../common/cmp_cal_up_model.h"
 #include "rdcu_cmd.h"
 #include "cmp_rdcu_cfg.h"
 
diff --git a/lib/rdcu_compress/cmp_rdcu_cfg.h b/lib/rdcu_compress/cmp_rdcu_cfg.h
index e754b4d993f8fea26bc5888589a508018c43d516..06a9c0a717cbe5980fb01dc5cd5563f032e6ea84 100644
--- a/lib/rdcu_compress/cmp_rdcu_cfg.h
+++ b/lib/rdcu_compress/cmp_rdcu_cfg.h
@@ -19,6 +19,8 @@
 #ifndef CMP_RDCU_CFG_H
 #define CMP_RDCU_CFG_H
 
+#include <stdint.h>
+
 #include "../common/cmp_support.h"
 
 
diff --git a/lib/rdcu_compress/cmp_rdcu_testing.h b/lib/rdcu_compress/cmp_rdcu_testing.h
index 644a06bc969b4953eb9736f6334a9288dbbfd3cd..91975fa4ed71acadb44f271735da0d8a4dc2abc7 100644
--- a/lib/rdcu_compress/cmp_rdcu_testing.h
+++ b/lib/rdcu_compress/cmp_rdcu_testing.h
@@ -20,6 +20,8 @@
 #ifndef CMP_RDCU_TESTING_H
 #define CMP_RDCU_TESTING_H
 
+#include <stdint.h>
+
 #include "../common/cmp_support.h"
 
 int rdcu_start_compression(void);
diff --git a/lib/rdcu_compress/rdcu_cmd.c b/lib/rdcu_compress/rdcu_cmd.c
index 79ac6148f034bd44c775c0a341f11717b1f63d2e..6fbc4f7f3c1ab82bf8d88a064406495e3fbf490f 100644
--- a/lib/rdcu_compress/rdcu_cmd.c
+++ b/lib/rdcu_compress/rdcu_cmd.c
@@ -17,6 +17,7 @@
  * @see FPGA Requirement Specification PLATO-IWF-PL-RS-005 Issue 0.7
  */
 
+#include <stdint.h>
 
 #include "rmap.h"
 #include "rdcu_cmd.h"
diff --git a/lib/rdcu_compress/rdcu_ctrl.c b/lib/rdcu_compress/rdcu_ctrl.c
index c5d748e34ceefc27c7c0368df3299f45ec7fd5aa..385b9c8b38ef490a132b930e2546df3b071038d3 100644
--- a/lib/rdcu_compress/rdcu_ctrl.c
+++ b/lib/rdcu_compress/rdcu_ctrl.c
@@ -2517,7 +2517,6 @@ int rdcu_sync_sram_mirror_parallel(uint32_t rx_addr, uint32_t rx_size,
 }
 
 
-
 /**
  * @brief initialise the rdcu control library
  *
diff --git a/lib/rdcu_compress/rdcu_rmap.c b/lib/rdcu_compress/rdcu_rmap.c
index c0b7662c3fb610f99ebb907f2e15c001ff2f1a03..93a307a1bcfedc29138c5a365d522be20f2fa6b3 100644
--- a/lib/rdcu_compress/rdcu_rmap.c
+++ b/lib/rdcu_compress/rdcu_rmap.c
@@ -62,6 +62,7 @@
  */
 
 
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/lib/rdcu_compress/rmap.c b/lib/rdcu_compress/rmap.c
index c713135a30b099c180dea5aaacc1e1bef247b08f..33871bc71faef7724a6dd6bc3b8da96ef01ed978 100644
--- a/lib/rdcu_compress/rmap.c
+++ b/lib/rdcu_compress/rmap.c
@@ -19,7 +19,7 @@
  */
 
 
-
+#include <stdint.h>
 #include <string.h>
 #include <stdlib.h>
 
diff --git a/programs/cmp_guess.c b/programs/cmp_guess.c
index 14b231f32f3a062c60109a9e0578fa9cfa0493b1..c76d1da39660bc2686d307b793deef727e931194 100644
--- a/programs/cmp_guess.c
+++ b/programs/cmp_guess.c
@@ -146,7 +146,7 @@ static uint32_t pre_cal_method(struct rdcu_cfg *rcfg)
 	rcfg->golomb_par = golomb_par_best;
 	rcfg->spill = spill_best;
 
-	return (uint32_t)cmp_size_best;
+	return cmp_size_best;
 }
 
 
@@ -203,7 +203,7 @@ static uint32_t brute_force(struct rdcu_cfg *rcfg)
 	rcfg->golomb_par = golomb_par_best;
 	rcfg->spill = spill_best;
 
-	return (uint32_t)cmp_size_best;
+	return cmp_size_best;
 }
 
 
diff --git a/programs/cmp_tool.c b/programs/cmp_tool.c
index 5a9f5de9e36870855c640e36e0f2fd033cf0a390..ab1d8e375c9bb2343ae45f2e265ccd195b9967f5 100644
--- a/programs/cmp_tool.c
+++ b/programs/cmp_tool.c
@@ -745,8 +745,7 @@ static int compression_of_chunk(const void *chunk, uint32_t size, void *model,
 		goto cmp_chunk_fail;
 
 	printf("DONE\nWrite compressed data to file %s.cmp ... ", output_prefix);
-	error = write_data_to_file(cmp_data, (uint32_t)cmp_size, output_prefix,
-				   ".cmp", io_flags);
+	error = write_data_to_file(cmp_data, cmp_size, output_prefix, ".cmp", io_flags);
 
 cmp_chunk_fail:
 	free(cmp_data);
diff --git a/test/bench/benchfn.c b/test/bench/benchfn.c
index d9a746bb9c581187bf266213522fd209ad65e093..5f768c33c79daca1dad916e5a17889c9bb95d6a0 100644
--- a/test/bench/benchfn.c
+++ b/test/bench/benchfn.c
@@ -37,9 +37,9 @@
 /* *************************************
 *  Debug errors
 ***************************************/
-__extension__
 #if defined(DEBUGLEVEL) && (DEBUGLEVEL >= 1)
 #  include <stdio.h> /* fprintf */
+   __extension__
 #  define DISPLAY(...) fprintf(stderr, __VA_ARGS__)
 #  define DEBUGOUTPUT(...)                    \
 	{                                     \
diff --git a/test/cmp_decmp/test_cmp_decmp.c b/test/cmp_decmp/test_cmp_decmp.c
index b1d12411a6757903cf2675fdccdd178600d4c3f2..b89320c6ef55dd9860d6880d6500d676998f6685 100644
--- a/test/cmp_decmp/test_cmp_decmp.c
+++ b/test/cmp_decmp/test_cmp_decmp.c
@@ -27,6 +27,7 @@
 #include <unity.h>
 #include "../test_common/test_common.h"
 #include "../test_common/chunk_round_trip.h"
+#include "cmp_support.h"
 
 #include <cmp_icu.h>
 #include <cmp_chunk.h>
@@ -37,6 +38,7 @@
 #include <byteorder.h>
 #include <cmp_error.h>
 #include <cmp_max_used_bits.h>
+#include <cmp_cal_up_model.h>
 
 #if defined __has_include
 #  if __has_include(<time.h>)
@@ -580,6 +582,8 @@ size_t generate_random_collection(struct collection_hdr *col, enum cmp_data_type
 		size += gen_fc_background_data(science_data, samples,
 					       gen_data_f, extra);
 		break;
+	case DATA_TYPE_CHUNK:
+	case DATA_TYPE_UNKNOWN:
 	default:
 		TEST_FAIL();
 	}
@@ -940,7 +944,7 @@ void test_random_collection_round_trip(void)
 	enum cmp_data_type data_type;
 	enum cmp_mode cmp_mode;
 	enum { MAX_DATA_TO_COMPRESS_SIZE = UINT16_MAX};
-	uint32_t cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1);
+	uint32_t cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1U);
 	int run;
 #ifdef __sparc__
 	void *data          = (void *)0x63000000;
@@ -994,7 +998,7 @@ void test_random_collection_round_trip(void)
 				struct cmp_par par;
 				uint32_t cmp_size, cmp_size2;
 
-				cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1);
+				cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1U);
 
 				generate_random_cmp_par(&par);
 				par.cmp_mode = cmp_mode;
@@ -1411,7 +1415,7 @@ void test_cmp_decmp_chunk_raw(void)
 		dst_capacity = (uint32_t)cmp_size;
 		dst = malloc(dst_capacity); TEST_ASSERT_NOT_NULL(dst);
 		cmp_size = compress_chunk(chunk, chunk_size, NULL, NULL, dst, dst_capacity, &par);
-		TEST_ASSERT_EQUAL_INT(cmp_size_exp, dst_capacity);
+		TEST_ASSERT_EQUAL_INT(cmp_size_exp, cmp_size);
 	}
 
 	/* check results */
@@ -1495,7 +1499,7 @@ void test_cmp_decmp_chunk_worst_case(void)
 		uint16_t s;
 		uint8_t *p, i;
 
-		chunk = malloc(chunk_size); TEST_ASSERT_NOT_NULL(chunk);
+		chunk = calloc(1, chunk_size); TEST_ASSERT_NOT_NULL(chunk);
 		generate_random_collection_hdr(chunk, DATA_TYPE_S_FX, 2);
 		p = chunk;
 		p += COLLECTION_HDR_SIZE;
diff --git a/test/cmp_icu/test_cmp_icu.c b/test/cmp_icu/test_cmp_icu.c
index f2cadf617fefee3ba39ecb568a1da3cd12d3adef..7aef7eadf8b3eb8ebf431673a126488f81b88a88 100644
--- a/test/cmp_icu/test_cmp_icu.c
+++ b/test/cmp_icu/test_cmp_icu.c
@@ -1993,7 +1993,7 @@ void test_compress_chunk_error_cases(void)
 	uint8_t updated_chunk_model[CHUNK_SIZE];
 	uint32_t dst[COMPRESS_CHUNK_BOUND(CHUNK_SIZE, 2)/sizeof(uint32_t)];
 	uint32_t dst_capacity = sizeof(dst);
-	struct cmp_par cmp_par;
+	struct cmp_par cmp_par = {0};
 	uint32_t cmp_size;
 	struct collection_hdr *col2;
 
@@ -2582,6 +2582,7 @@ void test_buffer_overlaps(void)
 	TEST_ASSERT_TRUE(overlap);
 
 	overlap = buffer_overlaps(&buf_a[0], 2, &buf_a[1], 2);
+	TEST_ASSERT_TRUE(overlap);
 	overlap = buffer_overlaps(&buf_a[1], 2, &buf_a[0], 2);
 	TEST_ASSERT_TRUE(overlap);
 }
diff --git a/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c b/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c
index 06d524f0738633297575577b311bc1ca5e2f9774..c23b3cc625034bd5fabc8c9bfc5fe447b06da021 100644
--- a/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c
+++ b/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c
@@ -21,6 +21,7 @@
 #include <unity.h>
 #include <cmp_rdcu_cfg.h>
 #include <rdcu_cmd.h>
+#include <cmp_cal_up_model.h>
 
 
 /**
@@ -247,6 +248,7 @@ void test_rdcu_cfg_buffers_model(void)
 	/* test a RAW mode buffer configuration */
 	error = rdcu_cfg_create(&rcfg, CMP_MODE_MODEL_MULTI, MAX_MODEL_VALUE,
 				CMP_LOSSLESS);
+	TEST_ASSERT_FALSE(error);
 
 	rdcu_data_adr = 0x0;
 	rdcu_model_adr = 0x8;
diff --git a/test/decmp/test_decmp.c b/test/decmp/test_decmp.c
index 44048ea215e2ac86ede3ed55e3af6539b5226f7c..93d3952683932a435123cc408258c5d9384076b5 100644
--- a/test/decmp/test_decmp.c
+++ b/test/decmp/test_decmp.c
@@ -40,14 +40,14 @@
 
 void test_bitstream(void)
 {
-	uint8_t i, data[12];
+	uint8_t data[12];
 	struct bit_decoder dec;
-	size_t ret;
+	size_t i, ret;
 	int status;
 	uint32_t read_bits;
 
 	for (i = 0; i < sizeof(data); ++i)
-		data[i] = i;
+		data[i] = (uint8_t)i;
 
 	ret = bit_init_decoder(&dec, data, sizeof(data));
 	TEST_ASSERT_EQUAL_size_t(sizeof(data), ret);
@@ -856,7 +856,7 @@ void test_multi_refill_needed(void)
 {
 	uint32_t decoded_value = ~0U;
 	uint8_t cmp_data[] = {0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x00};
-	uint32_t cmp_data2[2];
+	uint32_t cmp_data2[2] = {0};
 	struct bit_decoder dec = {0};
 	struct decoder_setup setup = {0};
 	uint32_t spillover = 16;
@@ -1061,7 +1061,7 @@ void test_decompress_imagette_chunk_raw(void)
 	uint8_t *decompressed_data;
 	struct cmp_entity *ent;
 	uint32_t ent_size;
-	uint32_t chunk_size = 2*(COLLECTION_HDR_SIZE + sizeof(data));
+	uint32_t const chunk_size = 2*(COLLECTION_HDR_SIZE + sizeof(data));
 	uint8_t *chunk = calloc(1, chunk_size); TEST_ASSERT_TRUE(chunk);
 
 	for (i = 0; i < 2; i++) {