diff --git a/sefht.geany b/sefht.geany
index 2c9723dfb85983583541373c8911e3bd807a3944..1fbf4553a143b5757e0fef05a04dbd1df73a8896 100644
--- a/sefht.geany
+++ b/sefht.geany
@@ -28,7 +28,7 @@ long_line_behaviour=1
 long_line_column=72
 
 [files]
-current_page=34
+current_page=17
 FILE_NAME_0=139;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2FREADME;0;8
 FILE_NAME_1=134;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2F.gitignore;0;8
 FILE_NAME_2=1751;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fconfigure.ac;0;8
@@ -45,9 +45,9 @@ FILE_NAME_12=2022;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
 FILE_NAME_13=2558;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ffragment_class.c;0;8
 FILE_NAME_14=20340;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fnode_fragment.c;0;8
 FILE_NAME_15=6811;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fnode_fragment.h;0;8
-FILE_NAME_16=4906;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.c;0;8
-FILE_NAME_17=2956;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.h;0;8
-FILE_NAME_18=3711;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr_static.c;0;8
+FILE_NAME_16=4590;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.c;0;8
+FILE_NAME_17=2828;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr.h;0;8
+FILE_NAME_18=3893;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr_static.c;0;8
 FILE_NAME_19=1116;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fattr_data.h;0;8
 FILE_NAME_20=25820;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.c;0;8
 FILE_NAME_21=904;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Ftext.h;0;8
@@ -55,7 +55,7 @@ FILE_NAME_22=1779;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
 FILE_NAME_23=919;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator.h;0;8
 FILE_NAME_24=14237;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_tag.c;0;8
 FILE_NAME_25=859;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fvalidator_tag.h;0;8
-FILE_NAME_26=4735;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fstatus.h;0;8
+FILE_NAME_26=4105;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fstatus.h;0;8
 FILE_NAME_27=901;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Flog.h;0;4
 FILE_NAME_28=907;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fmacro.h;0;8
 FILE_NAME_29=1078;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fsefht.h;0;8
diff --git a/src/lib/sefht/attr.c b/src/lib/sefht/attr.c
index 9bbd3db371b3a56a074f8894ccb5f677cec4b859..7f32fb4b150aa4fe4b92cc0a1a676b34196f0792 100644
--- a/src/lib/sefht/attr.c
+++ b/src/lib/sefht/attr.c
@@ -133,7 +133,9 @@ SH_Attr_free (/*@only@*/ struct SH_Attr * attr)
 char *
 SH_Attr_get_name (const struct SH_Attr * attr,
                   /*@null@*/ /*@out@*/ struct SH_Status * status)
-	/*@*/
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/
 {
 	char * name;
 
@@ -153,6 +155,9 @@ SH_Attr_set_name (struct SH_Attr * attr,
                   const char * name,
                   /*@null@*/ /*@out@*/ struct SH_Status * status)
 	/*@modifies attr->name@*/
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/
 {
 	char * name_copy;
 
@@ -190,7 +195,9 @@ SH_Attr_raw_set_name (struct SH_Attr * attr, /*@only@*/ char * name)
 char *
 SH_Attr_get_value (const struct SH_Attr * attr,
                    /*@null@*/ /*@out@*/ struct SH_Status * status)
-	/*@*/
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/
 {
 	char * value;
 
@@ -216,6 +223,9 @@ SH_Attr_set_value (struct SH_Attr * attr,
                    /*@null@*/ const char * value,
                    /*@null@*/ /*@out@*/ struct SH_Status * status)
 	/*@modifies attr->value@*/
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/
 {
 	char * value_copy;
 
diff --git a/src/lib/sefht/attr.h b/src/lib/sefht/attr.h
index f4123d3ffed03a50e8718f981cae5c15e374b6d8..e9dee058361cd6ee6eebca97da5d0910321509a0 100644
--- a/src/lib/sefht/attr.h
+++ b/src/lib/sefht/attr.h
@@ -76,13 +76,18 @@ SH_Attr_free (/*@only@*/ SH_Attr * attr)
 char *
 SH_Attr_get_name (const SH_Attr * attr,
                   /*@null@*/ /*@out@*/ struct SH_Status * status)
-	/*@*/;
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/;
 
 bool
 SH_Attr_set_name (SH_Attr * attr,
                   const char * name,
                   /*@null@*/ /*@out@*/ struct SH_Status * status)
-	/*@modifies attr@*/;
+	/*@modifies attr@*/
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/;
 
 /*@observer@*/
 const char *
@@ -98,13 +103,18 @@ SH_Attr_raw_set_name (SH_Attr * attr, /*@only@*/ char * name)
 char *
 SH_Attr_get_value (const SH_Attr * attr,
                    /*@null@*/ /*@out@*/ struct SH_Status * status)
-	/*@*/;
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/;
 
 bool
 SH_Attr_set_value (SH_Attr * attr,
-                   const char * value,
+                   /*@null@*/ const char * value,
                    /*@null@*/ /*@out@*/ struct SH_Status * status)
-	/*@modifies attr@*/;
+	/*@modifies attr@*/
+	/*@globals fileSystem@*/
+	/*@modifies fileSystem@*/
+	/*@modifies status@*/;
 
 /*@null@*/
 /*@observer@*/
diff --git a/src/lib/sefht/attr_static.c b/src/lib/sefht/attr_static.c
index 9cc3634fd5fb36a5efe77d06f00dfce79156dc66..2cbbcef1d1033ed32189067b2c4a6ee8682de02a 100644
--- a/src/lib/sefht/attr_static.c
+++ b/src/lib/sefht/attr_static.c
@@ -34,10 +34,14 @@
 
 static inline
 bool
-Attr_init (struct SH_Attr * attr,
+Attr_init (/*@special@*/ struct SH_Attr * attr,
            const char * name,
            /*@null@*/ const char * value,
            /*@null@*/ /*@out@*/ struct SH_Status * status)
+	/*@defines attr->name,
+	           attr->value@*/
+	/*@modifies attr->name@*/
+	/*@modifies attr->value@*/
 	/*@globals fileSystem@*/
 	/*@modifies fileSystem@*/
 	/*@modifies status@*/
@@ -70,12 +74,13 @@ Attr_init (struct SH_Attr * attr,
 
 static inline
 void
-Attr_raw_init (struct SH_Attr * attr,
+Attr_raw_init (/*@special@*/ struct SH_Attr * attr,
                /*@only@*/ char * name,
                /*@null@*/ /*@only@*/ char * value)
-	/*@globals fileSystem@*/
-	/*@modifies fileSystem@*/
-	/*@modifies status@*/
+	/*@defines attr->name,
+	           attr->value@*/
+	/*@modifies attr->name@*/
+	/*@modifies attr->value@*/
 {
 	attr->name = name;
 	attr->value = value;
@@ -84,9 +89,13 @@ Attr_raw_init (struct SH_Attr * attr,
 
 static inline
 bool
-Attr_copy (struct SH_Attr * copy,
+Attr_copy (/*@special@*/ struct SH_Attr * copy,
            const struct SH_Attr * attr,
            /*@null@*/ /*@out@*/ struct SH_Status * status)
+	/*@defines copy->name,
+	           copy->value@*/
+	/*@modifies copy->name@*/
+	/*@modifies copy->value@*/
 	/*@globals fileSystem@*/
 	/*@modifies fileSystem@*/
 	/*@modifies status@*/
@@ -120,11 +129,11 @@ Attr_copy (struct SH_Attr * copy,
 
 static inline
 void
-Attr_free (struct SH_Attr * attr)
+Attr_free (/*@special@*/ struct SH_Attr * attr)
 	/*@modifies attr->name@*/
 	/*@modifies attr->value@*/
-	/*@releases attr->name@*/
-	/*@releases attr->value@*/
+	/*@releases attr->name,
+	            attr->value@*/
 {
 	free (attr->name);
 	if (NULL != attr->value) free (attr->value);
@@ -135,9 +144,10 @@ static inline
 void
 Attr_move (struct SH_Attr * dest,
            struct SH_Attr * src)
-	/*@globals fileSystem@*/
-	/*@modifies fileSystem@*/
-	/*@modifies status@*/
+	/*@defines dest->name,
+	           dest->value@*/
+	/*@modifies dest->name@*/
+	/*@modifies dest->value@*/
 {
 
 	dest->name = src->name;
@@ -156,7 +166,7 @@ Attr_get_name (const struct SH_Attr * attr)
 
 static inline
 void
-Attr_set_name (struct SH_Attr * attr, char * name)
+Attr_set_name (struct SH_Attr * attr, /*@only@*/ char * name)
 	/*@modifies attr->name@*/
 {
 	free (attr->name);
@@ -176,6 +186,7 @@ Attr_get_value (const struct SH_Attr * attr)
 static inline
 void
 Attr_set_value (struct SH_Attr * attr, /*@null@*/ /*@only@*/ char * value)
+	/*@modifies attr->value@*/
 {
 	if (NULL != attr->value)
 	{
diff --git a/src/lib/sefht/status.h b/src/lib/sefht/status.h
index 8ee1a364449c950c09bde844073b6ddbd8d69d90..eb19c36a83f4e9c77662d15d83c1cbd83eb08dbe 100644
--- a/src/lib/sefht/status.h
+++ b/src/lib/sefht/status.h
@@ -45,6 +45,7 @@
 
 #define unknown(STATUS) ((STATUS) == NULL)
 
+/*@notfunction@*/
 #define set_status(STATUS, ERROR, OFFSET, MESSAGE)                     \
 do                                                                     \
 {                                                                      \
@@ -65,6 +66,7 @@ do                                                                     \
 }                                                                      \
 while (FALSE)
 
+/*@notfunction@*/
 #define set_status_(STATUS, ERROR, OFFSET, LENGTH, MESSAGE, ...)       \
 do                                                                     \
 {                                                                      \
@@ -89,8 +91,10 @@ do                                                                     \
 }                                                                      \
 while (FALSE)
 
+/*@notfunction@*/
 #define set_success(STATUS) set_status(STATUS, SUCCESS, 0, NULL)
 
+/*@notfunction@*/
 #define _status_preinit(STATUS)                                        \
 do {                                                                   \
 	(STATUS).status = UNDEFINED;                                   \