diff --git a/test/suite/ch07/7.2/S7.2_A1.1_T1.js b/test/suite/ch07/7.2/S7.2_A1.1_T1.js
index 7ba8756ef2e591962012488a9f06083b40394af0..1c8e5a9ca60bf955f1869a03f9cef34592f7e68a 100644
--- a/test/suite/ch07/7.2/S7.2_A1.1_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * HORIZONTAL TAB (U+0009) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.1_T1.js
+ * @path ch07/7.2/S7.2_A1.1_T1.js
  * @description Insert HORIZONTAL TAB(\u0009 and \t) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.1_T2.js b/test/suite/ch07/7.2/S7.2_A1.1_T2.js
index c2c31b410712b63883ec48dd1f97935693d80623..081c60ef366bd59e9a8826be6eddf522338d6c92 100644
--- a/test/suite/ch07/7.2/S7.2_A1.1_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * HORIZONTAL TAB (U+0009) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.1_T2.js
+ * @path ch07/7.2/S7.2_A1.1_T2.js
  * @description Insert real HORIZONTAL TAB between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.2_T1.js b/test/suite/ch07/7.2/S7.2_A1.2_T1.js
index d6baa9ff4c300c638787af722a0812f0f85a9b2b..19be1c7e2fc8d942a7b2f3e383d68034ca519f27 100644
--- a/test/suite/ch07/7.2/S7.2_A1.2_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * VERTICAL TAB (U+000B) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.2_T1.js
+ * @path ch07/7.2/S7.2_A1.2_T1.js
  * @description Insert VERTICAL TAB(\u000B and \v) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.2_T2.js b/test/suite/ch07/7.2/S7.2_A1.2_T2.js
index d5748451cebf5f47f280b82c5043768977fc7927..f5ab425f544b523db6206c5f98acab7d77272643 100644
--- a/test/suite/ch07/7.2/S7.2_A1.2_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * VERTICAL TAB (U+000B) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.2_T2.js
+ * @path ch07/7.2/S7.2_A1.2_T2.js
  * @description Insert real VERTICAL TAB between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.3_T1.js b/test/suite/ch07/7.2/S7.2_A1.3_T1.js
index 27de9ca48d2f59bee9cf9c83e5669657bb31def9..eb8c2f85c2abca1ebc03c5da4f868606130f672a 100644
--- a/test/suite/ch07/7.2/S7.2_A1.3_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * FORM FEED (U+000C) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.3_T1.js
+ * @path ch07/7.2/S7.2_A1.3_T1.js
  * @description Insert FORM FEED(\u000C and \f) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.3_T2.js b/test/suite/ch07/7.2/S7.2_A1.3_T2.js
index 9238b2539aa22eadf3055e3e63be3296bd5d28f8..90fe95742e2da83e12d5a31752918dfeb8e124dc 100644
--- a/test/suite/ch07/7.2/S7.2_A1.3_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A1.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * FORM FEED (U+000C) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.3_T2.js
+ * @path ch07/7.2/S7.2_A1.3_T2.js
  * @description Insert real FORM FEED between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.4_T1.js b/test/suite/ch07/7.2/S7.2_A1.4_T1.js
index c75dcc8db0de8ba1f0ff3119e66f09bd4d1c8164..1f10f91664916c38e982f4ca12a7b154f2a14152 100644
--- a/test/suite/ch07/7.2/S7.2_A1.4_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A1.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * SPACE (U+0020) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.4_T1.js
+ * @path ch07/7.2/S7.2_A1.4_T1.js
  * @description Insert SPACE(\u0020) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.4_T2.js b/test/suite/ch07/7.2/S7.2_A1.4_T2.js
index 9f7e3a7c3a99f104343a87236c0d5207f83b106a..67c9c96c10e0079b8ddf17d6001834480a1198bf 100644
--- a/test/suite/ch07/7.2/S7.2_A1.4_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A1.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * SPACE (U+0020) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.4_T2.js
+ * @path ch07/7.2/S7.2_A1.4_T2.js
  * @description Insert real SPACE between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.5_T1.js b/test/suite/ch07/7.2/S7.2_A1.5_T1.js
index 8ebea3ef6553079a5f089cf1881bd28b6c3867cd..59339116e430c3e52430882270e08e7ad859f694 100644
--- a/test/suite/ch07/7.2/S7.2_A1.5_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * NO-BREAK SPACE (U+00A0) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.5_T1.js
+ * @path ch07/7.2/S7.2_A1.5_T1.js
  * @description Insert NO-BREAK SPACE(\u00A0) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A1.5_T2.js b/test/suite/ch07/7.2/S7.2_A1.5_T2.js
index 1cb05ba169e09f8583a91a941283e255bd62f837..e4635e697102d852999b959e5589627361784fa9 100644
--- a/test/suite/ch07/7.2/S7.2_A1.5_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A1.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * NO-BREAK SPACE (U+00A0) between any two tokens is allowed
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A1.5_T2.js
+ * @path ch07/7.2/S7.2_A1.5_T2.js
  * @description Insert real NO-BREAK SPACE between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.1_T1.js b/test/suite/ch07/7.2/S7.2_A2.1_T1.js
index 7e06a1b58a661600ed34c53a589013e314720211..c7fdaaf3e0b8c088a6b5832e6a6352ed0787877a 100644
--- a/test/suite/ch07/7.2/S7.2_A2.1_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * HORIZONTAL TAB (U+0009) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.1_T1.js
+ * @path ch07/7.2/S7.2_A2.1_T1.js
  * @description Use HORIZONTAL TAB(\u0009 and \t)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.1_T2.js b/test/suite/ch07/7.2/S7.2_A2.1_T2.js
index 4a0f4446043d6aa3bcfe545ccc6286c86b6569c2..7a89875baba9e7dacafbac23dff6916495d436f9 100644
--- a/test/suite/ch07/7.2/S7.2_A2.1_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * HORIZONTAL TAB (U+0009) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.1_T2.js
+ * @path ch07/7.2/S7.2_A2.1_T2.js
  * @description Use real HORIZONTAL TAB
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.2_T1.js b/test/suite/ch07/7.2/S7.2_A2.2_T1.js
index fd2bee053371f909e4bbcd092e0b9978dd08ea7a..69c8de8ffbb237f25a6584f5d902f645df82250a 100644
--- a/test/suite/ch07/7.2/S7.2_A2.2_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * VERTICAL TAB (U+000B) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.2_T1.js
+ * @path ch07/7.2/S7.2_A2.2_T1.js
  * @description Use VERTICAL TAB(\u000B and \v)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.2_T2.js b/test/suite/ch07/7.2/S7.2_A2.2_T2.js
index 6f9bb05c5d4c0d080144859854a04e736c560959..f7b4159728594963987d1f4ea79c65019f7d4568 100644
--- a/test/suite/ch07/7.2/S7.2_A2.2_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * VERTICAL TAB (U+000B) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.2_T2.js
+ * @path ch07/7.2/S7.2_A2.2_T2.js
  * @description Use real VERTICAL TAB
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.3_T1.js b/test/suite/ch07/7.2/S7.2_A2.3_T1.js
index 6474b83d0504a4d72ae2f33b50c1bbeeb866ba9f..9b30396fc5aaa0ed1fe34675d696d0e77734c1fe 100644
--- a/test/suite/ch07/7.2/S7.2_A2.3_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * FORM FEED (U+000C) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.3_T1.js
+ * @path ch07/7.2/S7.2_A2.3_T1.js
  * @description Use FORM FEED(\u000C and \f)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.3_T2.js b/test/suite/ch07/7.2/S7.2_A2.3_T2.js
index c6ec19e09953a3da0042b7119aefd3b089742a59..a575f8a0d69c9855cdf5e6e0c8327159f5dc427b 100644
--- a/test/suite/ch07/7.2/S7.2_A2.3_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A2.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * FORM FEED (U+000C) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.3_T2.js
+ * @path ch07/7.2/S7.2_A2.3_T2.js
  * @description Use real FORM FEED
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.4_T1.js b/test/suite/ch07/7.2/S7.2_A2.4_T1.js
index a185d0af5321906dc00b10e631db2fd954951395..4b41932c708e9e988c24d6ec8ae5f48065050d09 100644
--- a/test/suite/ch07/7.2/S7.2_A2.4_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * SPACE (U+0020) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.4_T1.js
+ * @path ch07/7.2/S7.2_A2.4_T1.js
  * @description Use SPACE(\u0020)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.4_T2.js b/test/suite/ch07/7.2/S7.2_A2.4_T2.js
index cae8401e06eb730b2edb31ee3e62e67be8234be2..b61d2313d7ea0d0164c8fbfd0754d8c145f893bd 100644
--- a/test/suite/ch07/7.2/S7.2_A2.4_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * SPACE (U+0020) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.4_T2.js
+ * @path ch07/7.2/S7.2_A2.4_T2.js
  * @description Use real SPACE
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.5_T1.js b/test/suite/ch07/7.2/S7.2_A2.5_T1.js
index aba48ad0a45246db633ad9a54a63b706f5e06876..60fb7f358356967f335ec9ca3782d40f2eccb078 100644
--- a/test/suite/ch07/7.2/S7.2_A2.5_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A2.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * NO-BREAK SPACE (U+00A0) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.5_T1.js
+ * @path ch07/7.2/S7.2_A2.5_T1.js
  * @description Use NO-BREAK SPACE(\u00A0)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A2.5_T2.js b/test/suite/ch07/7.2/S7.2_A2.5_T2.js
index 8ddaf366eff34f126db2a051dea18615ca971af1..0cf26e5961094969c045a1b99fb85901688b4131 100644
--- a/test/suite/ch07/7.2/S7.2_A2.5_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A2.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * NO-BREAK SPACE (U+00A0) may occur within strings
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A2.5_T2.js
+ * @path ch07/7.2/S7.2_A2.5_T2.js
  * @description Use real NO-BREAK SPACE
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.1_T1.js b/test/suite/ch07/7.2/S7.2_A3.1_T1.js
index b8afea7de851b8c9c7d8f12413b5b00cbd5ca4e0..c8eae5be20429339dffa981faeb99ad9fe2e8300 100644
--- a/test/suite/ch07/7.2/S7.2_A3.1_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain HORIZONTAL TAB (U+0009)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.1_T1.js
+ * @path ch07/7.2/S7.2_A3.1_T1.js
  * @description Use HORIZONTAL TAB(\u0009)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.1_T2.js b/test/suite/ch07/7.2/S7.2_A3.1_T2.js
index 36c9b983472ae2a0ddefcedb804aab038d83f559..b5b4792409b113e77de5f52749fb463c7efeab9b 100644
--- a/test/suite/ch07/7.2/S7.2_A3.1_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain HORIZONTAL TAB (U+0009)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.1_T2.js
+ * @path ch07/7.2/S7.2_A3.1_T2.js
  * @description Use real HORIZONTAL TAB
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.2_T1.js b/test/suite/ch07/7.2/S7.2_A3.2_T1.js
index a8e2e0cb2ad2758b2ef2910ff67c6ed6d58b3a86..435a2493fc789a5c6e14c64797b492689d6b09e1 100644
--- a/test/suite/ch07/7.2/S7.2_A3.2_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain VERTICAL TAB (U+000B)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.2_T1.js
+ * @path ch07/7.2/S7.2_A3.2_T1.js
  * @description Use VERTICAL TAB(\u000B)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.2_T2.js b/test/suite/ch07/7.2/S7.2_A3.2_T2.js
index 2f0c2f3150bb52e60a6e1478c9e73391c2e97200..cfdd6bc0a5b369ac33d0f0eb9569b45d1f49e9fa 100644
--- a/test/suite/ch07/7.2/S7.2_A3.2_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain VERTICAL TAB (U+000B)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.2_T2.js
+ * @path ch07/7.2/S7.2_A3.2_T2.js
  * @description Use real VERTICAL TAB
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.3_T1.js b/test/suite/ch07/7.2/S7.2_A3.3_T1.js
index b1b6c31c963a763cca9d0236c2698e3a1c7200a3..260d070735682ff248dd94705d8e7daa5e2dc6a7 100644
--- a/test/suite/ch07/7.2/S7.2_A3.3_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A3.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain FORM FEED (U+000C)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.3_T1.js
+ * @path ch07/7.2/S7.2_A3.3_T1.js
  * @description Use FORM FEED(\u000C)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.3_T2.js b/test/suite/ch07/7.2/S7.2_A3.3_T2.js
index 2d48b1e69c7f546583abf931dc26094410f15756..f1ce32510cb4ec3104333b9e9cc878a9ea8c9436 100644
--- a/test/suite/ch07/7.2/S7.2_A3.3_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A3.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain FORM FEED (U+000C)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.3_T2.js
+ * @path ch07/7.2/S7.2_A3.3_T2.js
  * @description Use real FORM FEED
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.4_T1.js b/test/suite/ch07/7.2/S7.2_A3.4_T1.js
index f527027cd1104911e0eafa013cb46ae7157840cb..41264606b0c907c7c7594951d0d4b78bf9158fde 100644
--- a/test/suite/ch07/7.2/S7.2_A3.4_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A3.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain SPACE (U+0020)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.4_T1.js
+ * @path ch07/7.2/S7.2_A3.4_T1.js
  * @description Use SPACE(\u0020)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.4_T2.js b/test/suite/ch07/7.2/S7.2_A3.4_T2.js
index 4ddfda944abd25a194c1b069f9fa5b28c2c35cff..bfc4650fe0c105d690971131cf5fcda149dba6a5 100644
--- a/test/suite/ch07/7.2/S7.2_A3.4_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A3.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain SPACE (U+0020)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.4_T2.js
+ * @path ch07/7.2/S7.2_A3.4_T2.js
  * @description Use real SPACE
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.5_T1.js b/test/suite/ch07/7.2/S7.2_A3.5_T1.js
index 574e9226f80a09de537a8869a0fe1a48a2cb87ea..6d12abddf46308ee2bb21157b3502ce2bdb29167 100644
--- a/test/suite/ch07/7.2/S7.2_A3.5_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A3.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain NO-BREAK SPACE (U+00A0)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.5_T1.js
+ * @path ch07/7.2/S7.2_A3.5_T1.js
  * @description Use NO-BREAK SPACE(\u00A0)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A3.5_T2.js b/test/suite/ch07/7.2/S7.2_A3.5_T2.js
index 286519a19c9c69185e71559086d1ac2b0e57fe62..2085a3b3883abb21d4402ae34ef6f6d579ec8b43 100644
--- a/test/suite/ch07/7.2/S7.2_A3.5_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A3.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comment can contain NO-BREAK SPACE (U+00A0)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A3.5_T2.js
+ * @path ch07/7.2/S7.2_A3.5_T2.js
  * @description Use real NO-BREAK SPACE
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.1_T1.js b/test/suite/ch07/7.2/S7.2_A4.1_T1.js
index 174a136a186e0c08cffce82479df4902bf3fae5a..6881a144fc73bd3c94a93e9e21baba4d39fda348 100644
--- a/test/suite/ch07/7.2/S7.2_A4.1_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain HORIZONTAL TAB (U+0009)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.1_T1.js
+ * @path ch07/7.2/S7.2_A4.1_T1.js
  * @description Use HORIZONTAL TAB(\u0009)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.1_T2.js b/test/suite/ch07/7.2/S7.2_A4.1_T2.js
index 856738bfe49c3da60258827d25bcf79279029ff2..a7d7cb758965bfca602e48f43341baa86ac83fba 100644
--- a/test/suite/ch07/7.2/S7.2_A4.1_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain HORIZONTAL TAB (U+0009)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.1_T2.js
+ * @path ch07/7.2/S7.2_A4.1_T2.js
  * @description Use real HORIZONTAL TAB
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.2_T1.js b/test/suite/ch07/7.2/S7.2_A4.2_T1.js
index e4599f93162d5101a41e12bbafe455c67e2146f8..a3361d47c8e8f62c64f8cf2b8f15cd9646fedc37 100644
--- a/test/suite/ch07/7.2/S7.2_A4.2_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A4.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain VERTICAL TAB (U+000B)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.2_T1.js
+ * @path ch07/7.2/S7.2_A4.2_T1.js
  * @description Use VERTICAL TAB(\u000B)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.2_T2.js b/test/suite/ch07/7.2/S7.2_A4.2_T2.js
index 0c2f60ddf165efc312847123ab38b26e095ea9fa..87ef32235024c32ce8f4d7aa3cea7b65b7d8e451 100644
--- a/test/suite/ch07/7.2/S7.2_A4.2_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A4.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain VERTICAL TAB (U+000B)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.2_T2.js
+ * @path ch07/7.2/S7.2_A4.2_T2.js
  * @description Use real VERTICAL TAB
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.3_T1.js b/test/suite/ch07/7.2/S7.2_A4.3_T1.js
index 4dff7b67532c0a19ada6e8cd47a8f4d0e46db733..689d287902c19afd5ae5b1d6910e713f2e78f94c 100644
--- a/test/suite/ch07/7.2/S7.2_A4.3_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A4.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain FORM FEED (U+000C)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.3_T1.js
+ * @path ch07/7.2/S7.2_A4.3_T1.js
  * @description Use FORM FEED(\u000C)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.3_T2.js b/test/suite/ch07/7.2/S7.2_A4.3_T2.js
index 62a40c958191a8ece77dad7f17fe8ccbed640067..f6f4043729d116b8315fac2ecdf0098b37e8de00 100644
--- a/test/suite/ch07/7.2/S7.2_A4.3_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A4.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain FORM FEED (U+000C)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.3_T2.js
+ * @path ch07/7.2/S7.2_A4.3_T2.js
  * @description Use real FORM FEED
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.4_T1.js b/test/suite/ch07/7.2/S7.2_A4.4_T1.js
index 1cc647c6514680ef92797e0a6b9e1b10a7f8c4c0..9f5908e176c4f832cb9816c59695501bab935dc0 100644
--- a/test/suite/ch07/7.2/S7.2_A4.4_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A4.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain SPACE (U+0020)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.4_T1.js
+ * @path ch07/7.2/S7.2_A4.4_T1.js
  * @description Use SPACE(\u0020)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.4_T2.js b/test/suite/ch07/7.2/S7.2_A4.4_T2.js
index 07fb8d7aed4e02a2162d6f156f0dccb176fcc1c8..ce446861ed306ade0dfd3b4c5cf296f623e182b7 100644
--- a/test/suite/ch07/7.2/S7.2_A4.4_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A4.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain SPACE (U+0020)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.4_T2.js
+ * @path ch07/7.2/S7.2_A4.4_T2.js
  * @description Use real SPACE
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.5_T1.js b/test/suite/ch07/7.2/S7.2_A4.5_T1.js
index a43206e4b5de4d9da849ac8493cfaeeb1f30745c..cef5216e33a6e671fc9f69c4f33cef9e0ade18cd 100644
--- a/test/suite/ch07/7.2/S7.2_A4.5_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A4.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain NO-BREAK SPACE (U+00A0)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.5_T1.js
+ * @path ch07/7.2/S7.2_A4.5_T1.js
  * @description Use NO-BREAK SPACE(\u00A0)
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A4.5_T2.js b/test/suite/ch07/7.2/S7.2_A4.5_T2.js
index 9dcd614c5b7143bb385ec76dc3fbbbd073c8a551..c4457c432e87fe3fbee24b01df0c21eaa48b3d69 100644
--- a/test/suite/ch07/7.2/S7.2_A4.5_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A4.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain NO-BREAK SPACE (U+00A0)
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A4.5_T2.js
+ * @path ch07/7.2/S7.2_A4.5_T2.js
  * @description Use real NO-BREAK SPACE
  */
 
diff --git a/test/suite/ch07/7.2/S7.2_A5_T1.js b/test/suite/ch07/7.2/S7.2_A5_T1.js
index d5fe1c01563fdf03effeadfa630866b7bda7a098..6fb19c55d84920bd06f0bfcc64b677464b858c4b 100644
--- a/test/suite/ch07/7.2/S7.2_A5_T1.js
+++ b/test/suite/ch07/7.2/S7.2_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T1.js
+ * @path ch07/7.2/S7.2_A5_T1.js
  * @description Use TAB (U+0009)
  * @negative
  */
diff --git a/test/suite/ch07/7.2/S7.2_A5_T2.js b/test/suite/ch07/7.2/S7.2_A5_T2.js
index 0dd6e0b2451d95bf16fd6dd5367c4e4dfe7b30e3..1036b4ffa7554eec67705e103d9f9c3063029f77 100644
--- a/test/suite/ch07/7.2/S7.2_A5_T2.js
+++ b/test/suite/ch07/7.2/S7.2_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T2.js
+ * @path ch07/7.2/S7.2_A5_T2.js
  * @description Use VERTICAL TAB (U+000B)
  * @negative
  */
diff --git a/test/suite/ch07/7.2/S7.2_A5_T3.js b/test/suite/ch07/7.2/S7.2_A5_T3.js
index 7cb5858261c994584c5430dc00bd3ff4c3bb26dc..4eb8212cd7474fff3c896231243ce1b5874275b5 100644
--- a/test/suite/ch07/7.2/S7.2_A5_T3.js
+++ b/test/suite/ch07/7.2/S7.2_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T3.js
+ * @path ch07/7.2/S7.2_A5_T3.js
  * @description Use FORM FEED (U+000C)
  * @negative
  */
diff --git a/test/suite/ch07/7.2/S7.2_A5_T4.js b/test/suite/ch07/7.2/S7.2_A5_T4.js
index 04d7455af2d9e65df3c4d43f032c8722a5b336a3..9a47a618d1519bc6ec45154615ec951104db1ea5 100644
--- a/test/suite/ch07/7.2/S7.2_A5_T4.js
+++ b/test/suite/ch07/7.2/S7.2_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T4.js
+ * @path ch07/7.2/S7.2_A5_T4.js
  * @description Use SPACE (U+0020)
  * @negative
  */
diff --git a/test/suite/ch07/7.2/S7.2_A5_T5.js b/test/suite/ch07/7.2/S7.2_A5_T5.js
index 863468bbe0aada81d131bd9e7fab97308b88ebe2..5076c3b24c4334b22219db14edd4db69383ee775 100644
--- a/test/suite/ch07/7.2/S7.2_A5_T5.js
+++ b/test/suite/ch07/7.2/S7.2_A5_T5.js
@@ -4,7 +4,7 @@
 /**
  * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T5.js
+ * @path ch07/7.2/S7.2_A5_T5.js
  * @description Use NO-BREAK SPACE (U+00A0)
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A1.1_T1.js b/test/suite/ch07/7.3/S7.3_A1.1_T1.js
index b4fe6b51e7f45f2d035c23623a69df8b0260d415..b5814c2e054aa74da4a61640f0544cf128eda627 100644
--- a/test/suite/ch07/7.3/S7.3_A1.1_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * LINE FEED (U+000A) may occur between any two tokens
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A1.1_T1.js
+ * @path ch07/7.3/S7.3_A1.1_T1.js
  * @description Insert LINE FEED (\u000A and \n) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A1.1_T2.js b/test/suite/ch07/7.3/S7.3_A1.1_T2.js
index 42ff2f353832596dfda8a3e8db399b7be79727b6..b4780361ba7b62794a97020367c05407f3fdc0a6 100644
--- a/test/suite/ch07/7.3/S7.3_A1.1_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * LINE FEED (U+000A) may occur between any two tokens
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A1.1_T2.js
+ * @path ch07/7.3/S7.3_A1.1_T2.js
  * @description Insert real LINE FEED between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A1.2_T1.js b/test/suite/ch07/7.3/S7.3_A1.2_T1.js
index bd762cffe8df58aa641db88adb93ef1e984c3426..bb11122f71a97c2d501fa73ca15a49d948e8ec9f 100644
--- a/test/suite/ch07/7.3/S7.3_A1.2_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * CARRIAGE RETURN (U+000D) may occur between any two tokens
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A1.2_T1.js
+ * @path ch07/7.3/S7.3_A1.2_T1.js
  * @description Insert CARRIAGE RETURN (\u000D and \r) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A1.2_T2.js b/test/suite/ch07/7.3/S7.3_A1.2_T2.js
index b42a3c2ed16a7820f504f09ebfeaac6e1747c613..52fb9b52a9d3fe9a117a04fc454255fc019243b3 100644
--- a/test/suite/ch07/7.3/S7.3_A1.2_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * CARRIAGE RETURN (U+000D) may occur between any two tokens
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A1.2_T2.js
+ * @path ch07/7.3/S7.3_A1.2_T2.js
  * @description Insert real CARRIAGE RETURN between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A1.3.js b/test/suite/ch07/7.3/S7.3_A1.3.js
index e8ef7957e42a49beb143aa11c93790ce05d69102..bf828193701fc32daa07e6ec177320be794c22e2 100644
--- a/test/suite/ch07/7.3/S7.3_A1.3.js
+++ b/test/suite/ch07/7.3/S7.3_A1.3.js
@@ -4,7 +4,7 @@
 /**
  * LINE SEPARATOR (U+2028) may occur between any two tokens
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A1.3.js
+ * @path ch07/7.3/S7.3_A1.3.js
  * @description Insert LINE SEPARATOR (\u2028) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A1.4.js b/test/suite/ch07/7.3/S7.3_A1.4.js
index 9704e4270641335e63c0d5c401242791c4befd4a..f761d0376776a35ec2668203c592e97b45b0693d 100644
--- a/test/suite/ch07/7.3/S7.3_A1.4.js
+++ b/test/suite/ch07/7.3/S7.3_A1.4.js
@@ -4,7 +4,7 @@
 /**
  * PARAGRAPH SEPARATOR (U+2029) may occur between any two tokens
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A1.4.js
+ * @path ch07/7.3/S7.3_A1.4.js
  * @description Insert PARAGRAPH SEPARATOR (\u2029) between tokens of var x=1
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A2.1_T1.js b/test/suite/ch07/7.3/S7.3_A2.1_T1.js
index 97587062ac85bcb9bba32240d3ec2afd4763f40c..16cb25e696861a936d03ef193d41c2944f2aff48 100644
--- a/test/suite/ch07/7.3/S7.3_A2.1_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * LINE FEED (U+000A) within strings is not allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.1_T1.js
+ * @path ch07/7.3/S7.3_A2.1_T1.js
  * @description Insert LINE FEED (\u000A) into string
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A2.1_T2.js b/test/suite/ch07/7.3/S7.3_A2.1_T2.js
index d79cf71ea667513a30e63daed4521bc18c8d4616..f587ec97eed0e034fe5d87b95d8d2474023a9c20 100644
--- a/test/suite/ch07/7.3/S7.3_A2.1_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * LINE FEED (U+000A) within strings is not allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.1_T2.js
+ * @path ch07/7.3/S7.3_A2.1_T2.js
  * @description Use real LINE FEED into string
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A2.2_T1.js b/test/suite/ch07/7.3/S7.3_A2.2_T1.js
index b38f7bc6c4cd3b0c56aca34d27cc9a51a6b05c5f..b58d20227e31f09b944f032ab890d5266e1ccdb4 100644
--- a/test/suite/ch07/7.3/S7.3_A2.2_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * CARRIAGE RETURN (U+000D) within strings is not allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.2_T1.js
+ * @path ch07/7.3/S7.3_A2.2_T1.js
  * @description Insert CARRIAGE RETURN (\u000D) into string
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A2.2_T2.js b/test/suite/ch07/7.3/S7.3_A2.2_T2.js
index 9b5977f5156567cbe01f42e253544a063267a903..9e8c5e30dfeb12057d1e1f3bfe0e98f75bee376e 100644
--- a/test/suite/ch07/7.3/S7.3_A2.2_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * CARRIAGE RETURN (U+000D) within strings is not allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.2_T2.js
+ * @path ch07/7.3/S7.3_A2.2_T2.js
  * @description Insert real CARRIAGE RETURN into string
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A2.3.js b/test/suite/ch07/7.3/S7.3_A2.3.js
index 24cd9e7658457b4897ef36983204173591bc0eb7..645dfaaf39f42adf90f981df2b896cc6a7810976 100644
--- a/test/suite/ch07/7.3/S7.3_A2.3.js
+++ b/test/suite/ch07/7.3/S7.3_A2.3.js
@@ -4,7 +4,7 @@
 /**
  * LINE SEPARATOR (U+2028) within strings is not allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.3.js
+ * @path ch07/7.3/S7.3_A2.3.js
  * @description Insert LINE SEPARATOR (\u2028) into string
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A2.4.js b/test/suite/ch07/7.3/S7.3_A2.4.js
index 660a3e98dae4ec669af36c28b784608dd94b2ffe..00e185037294769344aa2feae9dcae605456f38a 100644
--- a/test/suite/ch07/7.3/S7.3_A2.4.js
+++ b/test/suite/ch07/7.3/S7.3_A2.4.js
@@ -4,7 +4,7 @@
 /**
  * PARAGRAPH SEPARATOR (U+2029) within strings is not allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A2.4.js
+ * @path ch07/7.3/S7.3_A2.4.js
  * @description Insert PARAGRAPH SEPARATOR (\u2029) into string
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.1_T1.js b/test/suite/ch07/7.3/S7.3_A3.1_T1.js
index fa20ac98c8f96e3a86b7a1feef7bd97c49b06bd8..f44c153cf2c4b2b8e546c9c95e2a1cf2228695ba 100644
--- a/test/suite/ch07/7.3/S7.3_A3.1_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain LINE FEED (U+000A) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T1.js
+ * @path ch07/7.3/S7.3_A3.1_T1.js
  * @description Insert LINE FEED (\u000A) into single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.1_T2.js b/test/suite/ch07/7.3/S7.3_A3.1_T2.js
index 0fc97e8be1ec295b06bf5e24bc0f7bbc35c5c79e..cb808a87ac0e55674f1c4f0659e1917281953d03 100644
--- a/test/suite/ch07/7.3/S7.3_A3.1_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain LINE FEED (U+000A) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T2.js
+ * @path ch07/7.3/S7.3_A3.1_T2.js
  * @description Insert LINE FEED (\u000A) into begin of single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.1_T3.js b/test/suite/ch07/7.3/S7.3_A3.1_T3.js
index e0891982c6dae52f2463ca0772738fd6e395844a..6394c939c64ae83b89710ef9db056c3cb2fa78c7 100644
--- a/test/suite/ch07/7.3/S7.3_A3.1_T3.js
+++ b/test/suite/ch07/7.3/S7.3_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain LINE FEED (U+000A) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T3.js
+ * @path ch07/7.3/S7.3_A3.1_T3.js
  * @description Insert real LINE FEED into single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.2_T1.js b/test/suite/ch07/7.3/S7.3_A3.2_T1.js
index d01fd46af13de85ffaf3bdc16cb1b80613295bbd..2fa2706933a681dcf991999552e65c04aa9f5dc5 100644
--- a/test/suite/ch07/7.3/S7.3_A3.2_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain CARRIAGE RETURN (U+000D) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T1.js
+ * @path ch07/7.3/S7.3_A3.2_T1.js
  * @description Insert CARRIAGE RETURN (\u000D) into single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.2_T2.js b/test/suite/ch07/7.3/S7.3_A3.2_T2.js
index 067df85b1fad7c0d656af181866c4470d754cd31..9ffdc5cf925ae8cec29761388069e184881820ac 100644
--- a/test/suite/ch07/7.3/S7.3_A3.2_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain CARRIAGE RETURN (U+000D) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T2.js
+ * @path ch07/7.3/S7.3_A3.2_T2.js
  * @description Insert CARRIAGE RETURN (\u000D) into begin of single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.2_T3.js b/test/suite/ch07/7.3/S7.3_A3.2_T3.js
index 2e1021cbb53182f17241bef343cc365352746927..d16ee33bebdf62e5f3a10606ba9f562995b662dd 100644
--- a/test/suite/ch07/7.3/S7.3_A3.2_T3.js
+++ b/test/suite/ch07/7.3/S7.3_A3.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain CARRIAGE RETURN (U+000D) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T3.js
+ * @path ch07/7.3/S7.3_A3.2_T3.js
  * @description Insert real CARRIAGE RETURN into single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.3_T1.js b/test/suite/ch07/7.3/S7.3_A3.3_T1.js
index ccd6d2fc6b531e5cf681395cd9e2d988798b455f..ae926c456993dcc99f0c03d659fff910174b6853 100644
--- a/test/suite/ch07/7.3/S7.3_A3.3_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A3.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain LINE SEPARATOR (U+2028) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.3_T1.js
+ * @path ch07/7.3/S7.3_A3.3_T1.js
  * @description Insert LINE SEPARATOR (\u2028) into single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.3_T2.js b/test/suite/ch07/7.3/S7.3_A3.3_T2.js
index 0229e23d4c226b28fb571304c0cc37025cec4e69..43ff458434c11b197803269e7e63217d6d3b2734 100644
--- a/test/suite/ch07/7.3/S7.3_A3.3_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A3.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain LINE SEPARATOR (U+2028) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.3_T2.js
+ * @path ch07/7.3/S7.3_A3.3_T2.js
  * @description Insert LINE SEPARATOR (\u2028) into begin of single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.4_T1.js b/test/suite/ch07/7.3/S7.3_A3.4_T1.js
index 61628b02f7b7312b5bae497e2e15ead3c3058b8f..1a8fae53f5dac3eb769d12b5944b835c56953710 100644
--- a/test/suite/ch07/7.3/S7.3_A3.4_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A3.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.4_T1.js
+ * @path ch07/7.3/S7.3_A3.4_T1.js
  * @description Insert PARAGRAPH SEPARATOR (\u2029) into single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A3.4_T2.js b/test/suite/ch07/7.3/S7.3_A3.4_T2.js
index caa42e2bbc9a7f810e0ea9ffb143fbee6ed7b4cf..8a6c59d8d1b7ef4da1292d1a7dc2359963c415a3 100644
--- a/test/suite/ch07/7.3/S7.3_A3.4_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A3.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.4_T2.js
+ * @path ch07/7.3/S7.3_A3.4_T2.js
  * @description Insert PARAGRAPH SEPARATOR (\u2029) into begin of single line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A4_T1.js b/test/suite/ch07/7.3/S7.3_A4_T1.js
index 49d4468679de5a4b343a914dd1622c14dc886846..df523f9a30746425bbd4d2e447993b43a5ce39cb 100644
--- a/test/suite/ch07/7.3/S7.3_A4_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can contain Line Terminator at the end of line
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A4_T1.js
+ * @path ch07/7.3/S7.3_A4_T1.js
  * @description Insert LINE FEED (U+000A) into the end of single line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A4_T2.js b/test/suite/ch07/7.3/S7.3_A4_T2.js
index 2cd8da58e4a7311689a1bc19e6b67ec422bfea17..d99dc7dc162d2094f02033f09761baaab3a817df 100644
--- a/test/suite/ch07/7.3/S7.3_A4_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can contain Line Terminator at the end of line
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A4_T2.js
+ * @path ch07/7.3/S7.3_A4_T2.js
  * @description Insert CARRIAGE RETURN (U+000D) into the end of single line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A4_T3.js b/test/suite/ch07/7.3/S7.3_A4_T3.js
index 8f703843aa0647e2956105c651edd8898ac155f9..5677bc0cdb55cd59957c626a436245778bb894d7 100644
--- a/test/suite/ch07/7.3/S7.3_A4_T3.js
+++ b/test/suite/ch07/7.3/S7.3_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can contain Line Terminator at the end of line
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A4_T3.js
+ * @path ch07/7.3/S7.3_A4_T3.js
  * @description Insert LINE SEPARATOR (U+2028) into the end of single line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A4_T4.js b/test/suite/ch07/7.3/S7.3_A4_T4.js
index 140d21ad4380f8ac386260471694c547e68f5dfa..c34f0e15ee6e79006cfbd551f73118c7f9a56471 100644
--- a/test/suite/ch07/7.3/S7.3_A4_T4.js
+++ b/test/suite/ch07/7.3/S7.3_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can contain Line Terminator at the end of line
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A4_T4.js
+ * @path ch07/7.3/S7.3_A4_T4.js
  * @description Insert PARAGRAPH SEPARATOR (U+2029) into the end of single line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A5.1_T1.js b/test/suite/ch07/7.3/S7.3_A5.1_T1.js
index 26a09dd576efe0e31babdf1953941e8fba9a6fa1..fe8d7173ea4baa740558d87ff26a713d730b2584 100644
--- a/test/suite/ch07/7.3/S7.3_A5.1_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain LINE FEED (U+000A)
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A5.1_T1.js
+ * @path ch07/7.3/S7.3_A5.1_T1.js
  * @description Insert LINE FEED (U+000A) into multi line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A5.1_T2.js b/test/suite/ch07/7.3/S7.3_A5.1_T2.js
index c0f5e7fe2b26087f309e9ec6b60e6a3f65dfef76..661df860e13f125ec64e827f8fea0ba14451e984 100644
--- a/test/suite/ch07/7.3/S7.3_A5.1_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A5.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain LINE FEED (U+000A)
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A5.1_T2.js
+ * @path ch07/7.3/S7.3_A5.1_T2.js
  * @description Insert real LINE FEED into multi line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A5.2_T1.js b/test/suite/ch07/7.3/S7.3_A5.2_T1.js
index df2dcca3c2f35b5227de414ba387c1185fef17df..20c5dd1943c240dd6864f5898100f19525771a66 100644
--- a/test/suite/ch07/7.3/S7.3_A5.2_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A5.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain CARRIAGE RETURN (U+000D)
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A5.2_T1.js
+ * @path ch07/7.3/S7.3_A5.2_T1.js
  * @description Insert CARRIAGE RETURN (U+000D) into multi line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A5.2_T2.js b/test/suite/ch07/7.3/S7.3_A5.2_T2.js
index 7e3f61268e23d72f4ba301c34eeea2ac2d104dda..a83a2be2dfa95bb41913a2950eb5bc722fc9f2f6 100644
--- a/test/suite/ch07/7.3/S7.3_A5.2_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A5.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain CARRIAGE RETURN (U+000D)
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A5.2_T2.js
+ * @path ch07/7.3/S7.3_A5.2_T2.js
  * @description Insert real CARRIAGE RETURN into multi line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A5.3.js b/test/suite/ch07/7.3/S7.3_A5.3.js
index a28e3fb536f0c557bf018e76c5f5b0a575ec6260..501392bc0c8d867c8bde35c811c48d0f6cde84f1 100644
--- a/test/suite/ch07/7.3/S7.3_A5.3.js
+++ b/test/suite/ch07/7.3/S7.3_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain LINE SEPARATOR (U+2028)
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A5.3.js
+ * @path ch07/7.3/S7.3_A5.3.js
  * @description Insert LINE SEPARATOR (U+2028) into multi line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A5.4.js b/test/suite/ch07/7.3/S7.3_A5.4.js
index f718a74f55cbf6636fa6cba1d720904fe433af64..8f85974777eeed00e6abfb3a99d23d62933b7280 100644
--- a/test/suite/ch07/7.3/S7.3_A5.4.js
+++ b/test/suite/ch07/7.3/S7.3_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comment can contain LINE SEPARATOR (U+2029)
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A5.4.js
+ * @path ch07/7.3/S7.3_A5.4.js
  * @description Insert PARAGRAPH SEPARATOR (U+2029) into multi line comment
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A6_T1.js b/test/suite/ch07/7.3/S7.3_A6_T1.js
index d9436bc05b94a5e9682676325b159a23c746222f..89b3751f62cff29855df4ba8e37369ad8e1ad969 100644
--- a/test/suite/ch07/7.3/S7.3_A6_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T1.js
+ * @path ch07/7.3/S7.3_A6_T1.js
  * @description Insert LINE FEED (U+000A) in var x
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A6_T2.js b/test/suite/ch07/7.3/S7.3_A6_T2.js
index 7351e1f4f20d851975fc3e6e821ce7bd40503e4b..3dc52d206d96eaa1b357d479823506c377cb48aa 100644
--- a/test/suite/ch07/7.3/S7.3_A6_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T2.js
+ * @path ch07/7.3/S7.3_A6_T2.js
  * @description Insert CARRIAGE RETURN (U+000D) in var x
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A6_T3.js b/test/suite/ch07/7.3/S7.3_A6_T3.js
index b4083651a77ffc51864494092de10e54445b98a3..62d6ef10fd74679e84597ef57cef8ccd1b33e050 100644
--- a/test/suite/ch07/7.3/S7.3_A6_T3.js
+++ b/test/suite/ch07/7.3/S7.3_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T3.js
+ * @path ch07/7.3/S7.3_A6_T3.js
  * @description Insert LINE SEPARATOR (U+2028) in var x
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A6_T4.js b/test/suite/ch07/7.3/S7.3_A6_T4.js
index c9f62ba847bb2c2009e5b663273b1b7a8434736e..cd5d2d40a2ae9c4696cabbbca2c6c5cb64b90839 100644
--- a/test/suite/ch07/7.3/S7.3_A6_T4.js
+++ b/test/suite/ch07/7.3/S7.3_A6_T4.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T4.js
+ * @path ch07/7.3/S7.3_A6_T4.js
  * @description Insert PARAGRAPH SEPARATOR (U+2029) in var x
  * @negative
  */
diff --git a/test/suite/ch07/7.3/S7.3_A7_T1.js b/test/suite/ch07/7.3/S7.3_A7_T1.js
index 06ab09782f7f1f9e0141bd8eb1a29bccd5e129bb..861b737e4359188222fceec9ac7b54dbd9de9f4e 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T1.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T1.js
+ * @path ch07/7.3/S7.3_A7_T1.js
  * @description Insert Line Terminator in var x=y+z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T2.js b/test/suite/ch07/7.3/S7.3_A7_T2.js
index e2191a773a5e6ff630774cc2bb04a94c64245307..cdc5801c91526f032ac4f0742154e3326a9d10ff 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T2.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T2.js
+ * @path ch07/7.3/S7.3_A7_T2.js
  * @description Insert Line Terminator in var x=y-z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T3.js b/test/suite/ch07/7.3/S7.3_A7_T3.js
index c27d9926a7e6ed8d225691356f25dbbd218ce0dd..1c83956da39a8bd34e0cff6700377d07bde4f188 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T3.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T3.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T3.js
+ * @path ch07/7.3/S7.3_A7_T3.js
  * @description Insert Line Terminator in var x=y*z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T4.js b/test/suite/ch07/7.3/S7.3_A7_T4.js
index fc24556ea487d5203c9b4cdd69567adc6d03fc36..fad60b4cb826ce6c9f129b8b4b71021a1a85d3f7 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T4.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T4.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T4.js
+ * @path ch07/7.3/S7.3_A7_T4.js
  * @description Insert Line Terminator in var x=y/z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T5.js b/test/suite/ch07/7.3/S7.3_A7_T5.js
index 7e211c5ba9b13b292be26a7126bce285c48ca01a..f7aff01220569fc1032403a5bdb11289c2c04807 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T5.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T5.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T5.js
+ * @path ch07/7.3/S7.3_A7_T5.js
  * @description Insert Line Terminator in var x=y%z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T6.js b/test/suite/ch07/7.3/S7.3_A7_T6.js
index 45499bb14945ea844ddba990acec6ec9af13640f..9dc8c0141206cc2101754db484b214e83b61b694 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T6.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T6.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T6.js
+ * @path ch07/7.3/S7.3_A7_T6.js
  * @description Insert Line Terminator in var x=y>>z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T7.js b/test/suite/ch07/7.3/S7.3_A7_T7.js
index 7e3123fd208faaa9e2a2b714c7202b1b4964d03f..510b958c42d89c0b03248f7309639a5c167a6386 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T7.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T7.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T7.js
+ * @path ch07/7.3/S7.3_A7_T7.js
  * @description Insert Line Terminator in var x=y<<z
  */
 
diff --git a/test/suite/ch07/7.3/S7.3_A7_T8.js b/test/suite/ch07/7.3/S7.3_A7_T8.js
index 3d85a3dff956da890f692f4c63a2a03d5d366466..1b55b96ceab83242c3e02c1780ae7b3c6dd0f4d6 100644
--- a/test/suite/ch07/7.3/S7.3_A7_T8.js
+++ b/test/suite/ch07/7.3/S7.3_A7_T8.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminators between operators are allowed
  *
- * @path 07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A7_T8.js
+ * @path ch07/7.3/S7.3_A7_T8.js
  * @description Insert Line Terminator in var x=y<z
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A1_T1.js b/test/suite/ch07/7.4/S7.4_A1_T1.js
index 00df6dc4aa30c860df77776abcb693750d7464dc..87bb8ce1a12d46c5c906df72e23bf2ada8e705c1 100644
--- a/test/suite/ch07/7.4/S7.4_A1_T1.js
+++ b/test/suite/ch07/7.4/S7.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of single line comments
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A1_T1.js
+ * @path ch07/7.4/S7.4_A1_T1.js
  * @description Create comments with any code
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A1_T2.js b/test/suite/ch07/7.4/S7.4_A1_T2.js
index 12a1ee6f7c49c7df8202bdb661a4cf2c18f5ca41..4d8d8af43058baaa43ab453c9955378e4f20aa3d 100644
--- a/test/suite/ch07/7.4/S7.4_A1_T2.js
+++ b/test/suite/ch07/7.4/S7.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of single line comments
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A1_T2.js
+ * @path ch07/7.4/S7.4_A1_T2.js
  * @description Simple test, create empty comment: ///
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A2_T1.js b/test/suite/ch07/7.4/S7.4_A2_T1.js
index 184837ba563d1f6c083cda9f0f0fd117e595f018..97b8e626887e1689f5d0ebfae9119435eecee34d 100644
--- a/test/suite/ch07/7.4/S7.4_A2_T1.js
+++ b/test/suite/ch07/7.4/S7.4_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of multi line comments
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A2_T1.js
+ * @path ch07/7.4/S7.4_A2_T1.js
  * @description Create comments with any code
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A2_T2.js b/test/suite/ch07/7.4/S7.4_A2_T2.js
index 51ea03fa405244141fe06105e14707ca10ed9990..feb4c9c2bf33144ecb15af53d57f31c37fac09f4 100644
--- a/test/suite/ch07/7.4/S7.4_A2_T2.js
+++ b/test/suite/ch07/7.4/S7.4_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of multi line comments
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A2_T2.js
+ * @path ch07/7.4/S7.4_A2_T2.js
  * @description Try use /*CHECK#1/. This is not closed multi line comment
  * @negative
  */
diff --git a/test/suite/ch07/7.4/S7.4_A3.js b/test/suite/ch07/7.4/S7.4_A3.js
index 20500ee0fe774887eecf11388980bf92e1367f7a..2efc9fab1e113e476823ff765a65a626586aeca1 100644
--- a/test/suite/ch07/7.4/S7.4_A3.js
+++ b/test/suite/ch07/7.4/S7.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * Multi line comments cannot nest
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A3.js
+ * @path ch07/7.4/S7.4_A3.js
  * @description Try use nested comments
  * @negative
  */
diff --git a/test/suite/ch07/7.4/S7.4_A4_T1.js b/test/suite/ch07/7.4/S7.4_A4_T1.js
index 2657938f6dad64a6f46ef19459d8fd239798ee21..87c6ace881f0e245a1f95f11f07ad02d9b5cf520 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T1.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T1.js
+ * @path ch07/7.4/S7.4_A4_T1.js
  * @description Try use 2 close comment tags
  * @negative
  */
diff --git a/test/suite/ch07/7.4/S7.4_A4_T2.js b/test/suite/ch07/7.4/S7.4_A4_T2.js
index 133c81fd5971a2b1c663bdc9ab186935f12f3120..b64b28e0e59eb5ecee8deaaff2924eb1c11d4cfd 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T2.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T2.js
+ * @path ch07/7.4/S7.4_A4_T2.js
  * @description Fist Multi line comment, then Single line comment
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A4_T3.js b/test/suite/ch07/7.4/S7.4_A4_T3.js
index dbd5f1ebe378e242b8c68b4a5cd25fffaaf8f750..3e39f693a5d11c5cae3f6b03744fc9b5644e8b87 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T3.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T3.js
+ * @path ch07/7.4/S7.4_A4_T3.js
  * @description Insert Single line comment into Multi line comment
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A4_T4.js b/test/suite/ch07/7.4/S7.4_A4_T4.js
index acbcb48a52db1c259497ed8b12df2cf355e5aa82..1b565766378aedac6eff8a827227c26972ba6226 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T4.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T4.js
+ * @path ch07/7.4/S7.4_A4_T4.js
  * @description Try to open Multi line comment at the end of Single comment
  * @negative
  */
diff --git a/test/suite/ch07/7.4/S7.4_A4_T5.js b/test/suite/ch07/7.4/S7.4_A4_T5.js
index 30898daff73b72b2088168d4ebef2e65cbd29b40..9a01060eeead334167ac99e2c9cca74198dd2c92 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T5.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T5.js
+ * @path ch07/7.4/S7.4_A4_T5.js
  * @description Insert Multi line comment into Single line comment
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A4_T6.js b/test/suite/ch07/7.4/S7.4_A4_T6.js
index b9a9a7e19d65b5ecfd38b7576f9c165287889fb7..08c983d7b0d6f38cb884e6b1a6493eb401f70079 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T6.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T6.js
+ * @path ch07/7.4/S7.4_A4_T6.js
  * @description Insert Multi line comment with two closed tags into Single line comment
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A4_T7.js b/test/suite/ch07/7.4/S7.4_A4_T7.js
index 77927d099aa737ea981ae2750f4a2c041d447644..a58aa7d5dfd555cc68eeb5a320f267c809a432f4 100644
--- a/test/suite/ch07/7.4/S7.4_A4_T7.js
+++ b/test/suite/ch07/7.4/S7.4_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * Single and Multi line comments are used together
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A4_T7.js
+ * @path ch07/7.4/S7.4_A4_T7.js
  * @description Insert Multi line comment into Single line comments
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A5.js b/test/suite/ch07/7.4/S7.4_A5.js
index a38e367896c81b05b758184adfc910b64aef8bbf..bbdba29de3da25b55b826833d85577b6f8733e46 100644
--- a/test/suite/ch07/7.4/S7.4_A5.js
+++ b/test/suite/ch07/7.4/S7.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * Single line comments can contain any Unicode character without Line Terminators
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A5.js
+ * @path ch07/7.4/S7.4_A5.js
  * @description //var " + xx + "yy = -1", insert instead of xx all Unicode characters
  */
 
diff --git a/test/suite/ch07/7.4/S7.4_A6.js b/test/suite/ch07/7.4/S7.4_A6.js
index 14541e10360329e487b2901c07c00d7ce7e8fd13..c51790aebeb35bb07a5e147a01f2e175ada100c5 100644
--- a/test/suite/ch07/7.4/S7.4_A6.js
+++ b/test/suite/ch07/7.4/S7.4_A6.js
@@ -4,7 +4,7 @@
 /**
  * If multi line comments csn not nest, they can contain any Unicode character
  *
- * @path 07_Lexical_Conventions/7.4_Comments/S7.4_A6.js
+ * @path ch07/7.4/S7.4_A6.js
  * @description "var"+ yy+ "xx = 1", insert instead of yy all Unicode characters
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js
index a32a9bb8abd3a7ff3da6e60c07981c81151cad00..89653b5cdcef6fc3b3ea01b372127db3cf08d440 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * The "break" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.1.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js
  * @description Checking if execution of "break=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js
index 4ad0afab5a7f426a82222fadac88b08f635246b1..0511807b6c1547cf2bfc869299ceb3dc4211200b 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js
@@ -4,7 +4,7 @@
 /**
  * The "for" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.10.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js
  * @description Checking if execution of "for=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js
index 7edd400585123615be4cf418f1afa0aa94eee9bf..39d4b7efab20b9dda9464783cd7dc0c86fb4a791 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js
@@ -4,7 +4,7 @@
 /**
  * The "function" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.11.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js
  * @description Checking if execution of "function=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js
index b8a6deaf6ea89e2dbb7922439de2f8e575943fd1..43433a6b52f71446dcadd767b168296173ea62ea 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js
@@ -4,7 +4,7 @@
 /**
  * The "if" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.12.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js
  * @description Checking if execution of "if=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js
index 4e26583cfdde8065759087505a427deb80189f74..2e52df961b9c5fa5446c45f0c3f0fd51153e9250 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js
@@ -4,7 +4,7 @@
 /**
  * The "in" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.13.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js
  * @description Checking if execution of "in=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js
index 0278f03e6eb4e19ba72ab249b7bc070da136b740..5867436c7379f2f827be66c5097717a6f7e73a8c 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js
@@ -4,7 +4,7 @@
 /**
  * The "instanceof" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.14.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js
  * @description Checking if execution of "instanceof=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js
index 162f8a7d23e73df92007c0242dd39b1aaf29c5c1..56ec3af72b58020b352b288bcc7fd0cb3a6ad969 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js
@@ -4,7 +4,7 @@
 /**
  * The "new" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.15.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js
  * @description Checking if execution of "new=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js
index e5e1c66bb99abaf3b801a9ceebbf311936157e28..7f6a21a7c83d796e546a3604bb0bdc2bfec3effc 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js
@@ -4,7 +4,7 @@
 /**
  * The "return" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.16.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js
  * @description Checking if execution of "return=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js
index 7c24187fecb9a4e3c82e08eaefa0ab531a11a939..34024b4d4d12db33d7d07083063a7d168adc79eb 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js
@@ -4,7 +4,7 @@
 /**
  * The "switch" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.17.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js
  * @description Checking if execution of "switch=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js
index 08787ba1915ceacde95d15c84557e5836c51204f..6068789b662276344fd0f8cc3102821073014e09 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js
@@ -4,7 +4,7 @@
 /**
  * The "this" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.18.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js
  * @description Checking if execution of "this=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js
index 171d957b83f505504f65a569ad3e08db90f8a11e..bb5ce8b7dceb895480f9e3611f8138852e9efcab 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js
@@ -4,7 +4,7 @@
 /**
  * The "throw" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.19.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js
  * @description Checking if execution of "throw=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js
index fa3194be51b5ce2cbce65d69c68c247a467c615b..fa0b3a8fdfce0e1732fe1a9ae7e70d0e557a29ab 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * The "case" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.2.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js
  * @description Checking if execution of "case=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js
index b3867070dc817e7c575dd68f7644411971a547cd..62ce326f6d7e3e627c97f5787d31f323c1abc301 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js
@@ -4,7 +4,7 @@
 /**
  * The "try" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.20.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js
  * @description Checking if execution of "try=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js
index 0bbe0ff23f5b9e37b1bca2585011d20e6a27c346..d2aeca3fca8dfe16defcfe5cf59b3f8dab89bcc1 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js
@@ -4,7 +4,7 @@
 /**
  * The "typeof" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.21.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js
  * @description Checking if execution of "typeof=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js
index 66f3a5c5e5f43074d8685115ba764e9e0fe7dc78..2530ab8e746cdd112f076ba2746a45b611300f0c 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js
@@ -4,7 +4,7 @@
 /**
  * The "var" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.22.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js
  * @description Checking if execution of "var=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js
index f148f1aea8b85aa0839f6c59f87a7cab3f1be641..61f99bce17ffd6181762cb53e84b66f48ecf8d9f 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js
@@ -4,7 +4,7 @@
 /**
  * The "void" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.23.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js
  * @description Checking if execution of "void=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js
index f58c255b7e3c206eeeed1a76560bf5ee24cb16d8..8c6c2816d6f5feb2f50ad55ce133cf3f239ecbc1 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js
@@ -4,7 +4,7 @@
 /**
  * The "while" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.24.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js
  * @description Checking if execution of "while=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js
index 8d0ffc79ee12228bdd87781b0e3de6ede35f1ec9..15a7745b1cdfe5a946e9d534dd3935b288bb8541 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js
@@ -4,7 +4,7 @@
 /**
  * The "with" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.25.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js
  * @description Checking if execution of "with=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js
index ac916ba826eb9fd5c0a007ffc89b2abf705dba6a..f69193845f203aabb84c08f3d02e9386cca1436e 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js
@@ -4,7 +4,7 @@
 /**
  * The "catch" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.3.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js
  * @description Checking if execution of "catch=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js
index 1024a2dee186df327b8172bc8f5edf09ba63532d..86c02078d4812b6c8140c4354bfff53d15928b50 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js
@@ -4,7 +4,7 @@
 /**
  * The "continue" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.4.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js
  * @description Checking if execution of "contunue=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js
index 8efc05459feaff98143faff807c34294a64b6462..52ad11b46c3b55a3cf2feb1f8406c860f200601f 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js
@@ -4,7 +4,7 @@
 /**
  * The "default" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.5.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js
  * @description Checking if execution of "default=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js
index 399084ee59ca67d6893354a1ead382ed2a8fcf02..b6c24d8bfeb0a7369e75b8aad22076d3759b1684 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js
@@ -4,7 +4,7 @@
 /**
  * The "delete" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.6.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js
  * @description Checking if execution of "delete=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js
index efb95802d8cc3cb0cfd7e98c44c9e3b918c08648..bce1d54ec4aafb20a30a91ed318fe1c8ba3f3b30 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js
@@ -4,7 +4,7 @@
 /**
  * The "do" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.7.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js
  * @description Checking if execution of "do=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js
index e3f6a4f3f61c7463ab18477d37764ef2b68e5e0b..b51909070fcf618ff541831b2277d2332af08979 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js
@@ -4,7 +4,7 @@
 /**
  * The "else" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.8.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js
  * @description Checking if execution of "else=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js
index 3764f83585fea3259293bcfc25fe9df57125ba15..cea582656c3573842e2f0666f27e8f9ec5abdf35 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js
@@ -4,7 +4,7 @@
 /**
  * The "finally" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.2_Keywords/S7.5.2_A1.9.js
+ * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js
  * @description Checking if execution of "finally=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js
index 5fac41379a93b613ff8b638334857220e268fcdf..4b7573d26ec134e6286d416d850b3ab11fefa9e0 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * The "abstract" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js
  * @description Checking if execution of "abstract=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js
index da4ff0ae7a037d82995b743876537d6cc3d3282c..d255891bbe8a7abce22e57c209aa4b6d7e319433 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js
@@ -4,7 +4,7 @@
 /**
  * The "export" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.10.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js
  * @description Checking if execution of "export=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js
index a676d797f67da4e3a6225ca8aca03579e6e17d49..f95dbf77edc9dd2477cb6ef388de135ddfa93ac1 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js
@@ -4,7 +4,7 @@
 /**
  * The "extends" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.11.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js
  * @description Checking if execution of "extends=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js
index 6cacdbc6aeec2b731bd27f67f57675c7af1790a3..41d1a2aa37dfe6e0e2f3494aedad2ca5c4017407 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js
@@ -4,7 +4,7 @@
 /**
  * The "final" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js
  * @description Checking if execution of "final=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js
index 970b66b133d5abd9063825e1d924a5e896a8e875..fcea14220ed08bb770b9c318cd823d7daf31d5d1 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js
@@ -4,7 +4,7 @@
 /**
  * The "float" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js
  * @description Checking if execution of "float=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js
index 05823c54d7588be5eb5a6b323e478fd7b8769782..a8c81aef6141ab4bbd707e7eb1b7ac046597db9b 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js
@@ -4,7 +4,7 @@
 /**
  * The "goto" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js
  * @description Checking if execution of "goto=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js
index 1ec28813554579e2d99adfafb756dc928ceb2d19..b1d3adb8a357533f7ba195005dec0095c3bc4941 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js
@@ -4,7 +4,7 @@
 /**
  * The "implements" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js
  * @description Checking if execution of "implements=1" fails in strict code
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js
index 832800293fc49987e8c2bad6e9361dd24d518ce6..845f7914adf9155e2ab5e32e811c9dbd3a76f1cd 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js
@@ -4,7 +4,7 @@
 /**
  * The "implements" token can be used as identifier in non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js
  * @description Checking if execution of "implements=1" succeeds in non-strict code
  * @noStrict
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js
index 42aa8283c91a73c878401234fc27578ead290ded..0e28098f09a051b6fd304ee25fee60ea80ec7d85 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js
@@ -4,7 +4,7 @@
 /**
  * The "import" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.16.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js
  * @description Checking if execution of "import=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js
index 089409237cf534e2a682c4288e3bb62cf9315b99..97bd273422a1ff5565cd39db66fbee632fb07514 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js
@@ -4,7 +4,7 @@
 /**
  * The "int" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js
  * @description Checking if execution of "int=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js
index 244e44aa2fe2048c1dc0027dc43047223ae5de5d..e8dd1ff425af4f50b025bfbf4abcea54ef2c21b0 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js
@@ -4,7 +4,7 @@
 /**
  * The "interface" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js
  * @description Checking if execution of "interface = 1" fails in
  *               strict code
  * @onlyStrict
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js
index 9571b75a0e87cbc74bc85b75bfbd90129fa14e3c..878a7cd424d8c46619e28c9b54cbebae3fe21683 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js
@@ -5,7 +5,7 @@
  * The "interface" token can be used as identifier in
  * non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js
  * @description Checking if execution of "interface = 1" succeeds in
  * non-strict code
  * @noStrict
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js
index 6655dc8ae4c5a3f03d03b27526f29b75244fb8b0..d4905b5aab69f93d50a15ce068f2a636fd503b12 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js
@@ -4,7 +4,7 @@
 /**
  * The "long" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js
  * @description Checking if execution of "long=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js
index f22557f24ad38c85413fcbb8223c9a7794afb6a2..16f86cd48147274271a28a719326179319e6e452 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * The "boolean" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js
  * @description Checking if execution of "boolean=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js
index 7c3dbd13f66c4d4c58af3878c075bf1028802a38..1646a5a8f95e2d7cfd238473a4f8fd0b6ed2ef32 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js
@@ -4,7 +4,7 @@
 /**
  * The "native" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js
  * @description Checking if execution of "native=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js
index 294aaa5953b3c0d1514f3b3c78e22a68a8371876..ef2d1daccc50b029b671681f9a1d6a41cf17ec3d 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js
@@ -4,7 +4,7 @@
 /**
  * The "package" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js
  * @description Checking if execution of "package=1" fails in strict code
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js
index 708504eee98ed4dbc64dd3f1d150a73a95104655..3a33532fee0d5b3815f1a0ec051b10b0105777e8 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js
@@ -4,7 +4,7 @@
 /**
  * The "package" token can be used as identifier in non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js
  * @description Checking if execution of "package=1" succeeds in non-strict code
  * @noStrict
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js
index 1d37a4628d2538ede301b9c83c311a82e8f1ed1d..45fc83f29b01c8f0ede9623de6bae8a06634a647 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js
@@ -4,7 +4,7 @@
 /**
  * The "private" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js
  * @description Checking if execution of "private=1" fails in strict code
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js
index 53ff32ef55466348f929ee7bcc21a7299f245aae..0562ca843a506d0230aa4fc336ff1249b156a57a 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js
@@ -4,7 +4,7 @@
 /**
  * The "private" token can be used as identifier in non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js
  * @description Checking if execution of "private=1" succeeds in non-strict code
  * @noStrict
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js
index cfbf511fba22940a4fbdd717fa0f962239cecb0f..c04b1317206d10ce3d562114100a0700bbbc0ca6 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js
@@ -4,7 +4,7 @@
 /**
  * The "protected" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js
  * @description Checking if execution of "protected=1" fails in
  * strict code
  * @onlyStrict
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js
index d4f636d2e5277f6b7af8eb5982234b6607e596c5..499512d5b085af9ebb1a8882f5269b35e789e29a 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js
@@ -4,7 +4,7 @@
 /**
  * The "protected" token can be used as identifier in non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js
  * @description Checking if execution of "protected=1" succeeds in non-strict code
  * @noStrict
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js
index 004b1654bf6d835cd381b675d35669ca0f8e4c7f..55f99e8fdfd9bf1c355f3d2972bdf6e2f9c0e1a3 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js
@@ -4,7 +4,7 @@
 /**
  * The "public" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js
  * @description Checking if execution of "public=1" fails in strict code
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js
index 2da519367ca3d340e729ff5557b79fb14fa3f922..7090147cd85d2bc9c311b73a254643f993831921 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js
@@ -4,7 +4,7 @@
 /**
  * The "public" token can be used as identifier in non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js
  * @description Checking if execution of "public=1" succeeds in non-strict code
  * @noStrict
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js
index 4298757c92287a1d3234df4b246f440ebe447f8d..0c11e3cf3d0792a26eb40b9debd907e0c7cefdc8 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js
@@ -4,7 +4,7 @@
 /**
  * The "short" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js
  * @description Checking if execution of "short=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js
index ba6453a5602e5501bd208d14d6d617323b400949..a1f3369357d25113cee70c0caddb8c6c7d403275 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js
@@ -4,7 +4,7 @@
 /**
  * The "static" token can not be used as identifier in strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js
  * @description Checking if execution of "static=1" fails in strict code
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js
index 3111bb8caf85812bae0408eabdd30fd52697b1df..2e7e1f7b7ed1f7bacddfe29c06512e3577d43324 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js
@@ -4,7 +4,7 @@
 /**
  * The "static" token can be used as identifier in non-strict code
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js
  * @description Checking if execution of "static=1" succeeds in non-strict code
  * @noStrict
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js
index 8f9073c1c3812f70efc7d39fdc8ebca6206e88a7..c78862fb93e4b43bf476af188ce35de26af0c659 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js
@@ -4,7 +4,7 @@
 /**
  * The "super" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.27.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js
  * @description Checking if execution of "super=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js
index 9e65d7da8a44c482274edf40eb7be3b290edcce6..515372a7a4980c24ef4a0a19f4d8122b12917deb 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js
@@ -4,7 +4,7 @@
 /**
  * The "synchronized" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js
  * @description Checking if execution of "synchronized=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js
index bea2d261c3cbe9e3abef0408b1a1bc6fcc3ab2e0..54dec615543a213c76ab524022fbed9fe69daa16 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js
@@ -4,7 +4,7 @@
 /**
  * The "throws" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js
  * @description Checking if execution of "throws=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js
index 9a5361d60efc47c200f6eed491f2ea4f7131bbce..50c5d7885f2e87edb1cb073d5c70b93d6b356c32 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js
@@ -4,7 +4,7 @@
 /**
  * The "byte" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js
  * @description Checking if execution of "byte=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js
index 3da7fca627e31d292231e0a74ee6874814b33db4..37128f047dae898abc9caa38dda438759561db2e 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js
@@ -4,7 +4,7 @@
 /**
  * The "transient" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js
  * @description Checking if execution of "transient=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js
index 8fb699120161815823dc1aeee052bf54308bc523..57fb357d8ca52478a03fa58b43d3f62ee9fc1097 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js
@@ -4,7 +4,7 @@
 /**
  * The "volatile" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js
  * @description Checking if execution of "volatile=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js
index 4596567789e140858cacb8a4f3c9d650e5c6ecde..1af1677e43eba531a8ea4ec373f43f1a7f0b7062 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js
@@ -4,7 +4,7 @@
 /**
  * The "char" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js
  * @description Checking if execution of "char=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js
index c33a4d33f5bf9bef78a4e71a31b3dffe750e74ec..b84b44248ccd9fd0bff0b8c56a3e3c571f6c5e23 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js
@@ -4,7 +4,7 @@
 /**
  * The "class" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.5.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js
  * @description Checking if execution of "class=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js
index ed1e4d307279b626500aa97825be2a536467f5ca..da95d7ebfad387a3e44601622dac39059698b390 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js
@@ -4,7 +4,7 @@
 /**
  * The "const" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.6.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js
  * @description Checking if execution of "const=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js
index 27f7fd48dfb1ebbda3fc7f67f4a067b017167a2a..ed4c3f0fcb8719ac9ccdb841ea4506bf878d98c8 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js
@@ -4,7 +4,7 @@
 /**
  * The "debugger" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.7.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js
  * @description Checking if execution of "debugger=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js
index 0a38d9a3154f07f078bab8acd703aa54750a8836..70a0a0a49d42a15ff8833c3cb2ddcb1ef64d0ed4 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js
@@ -4,7 +4,7 @@
 /**
  * The "double" token can be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js
  * @description Checking if execution of "double=1" succeeds
  */
 
diff --git a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js
index 0fb1ffdeee790e9b2334fee943bcc03bf5b07e3a..5294cb0d0453690654a8369f0910e3d086dfeeaa 100644
--- a/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js
+++ b/test/suite/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js
@@ -4,7 +4,7 @@
 /**
  * The "enum" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.9.js
+ * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js
  * @description Checking if execution of "enum=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.1.js b/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.1.js
index b710c06a003b621aacd3a3026aa757ccfe1bb13a..d97c7843ac2c85c2465be3b0f58cfcf7bfe82a0a 100644
--- a/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.1.js
+++ b/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * The "null" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.1_Reserved_Words/S7.5.1_A1.1.js
+ * @path ch07/7.6/7.6.1/S7.6.1_A1.1.js
  * @description Checking if execution of "null = 1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.2.js b/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.2.js
index e03796c44e885d0307b92fb4536ef8ad85ff6a36..2c49731cbafa13d2a002564435b7070127cf779f 100644
--- a/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.2.js
+++ b/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * The "true" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.1_Reserved_Words/S7.5.1_A1.2.js
+ * @path ch07/7.6/7.6.1/S7.6.1_A1.2.js
  * @description Checking if execution of "true=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.3.js b/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.3.js
index 5628002ca18582385a8a14ebc035cb5f762a2a1f..01cf52f7577621738ead19e5a312870de5b074a8 100644
--- a/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.3.js
+++ b/test/suite/ch07/7.6/7.6.1/S7.6.1_A1.3.js
@@ -4,7 +4,7 @@
 /**
  * The "false" token can not be used as identifier
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.1_Reserved_Words/S7.5.1_A1.3.js
+ * @path ch07/7.6/7.6.1/S7.6.1_A1.3.js
  * @description Checking if execution of "false=1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.6/7.6.1/S7.6.1_A2.js b/test/suite/ch07/7.6/7.6.1/S7.6.1_A2.js
index d03746e752f90b15eb823aa12f5a260a77e82f12..e123f067f24182b74da14cb76e9b61ba467d1530 100644
--- a/test/suite/ch07/7.6/7.6.1/S7.6.1_A2.js
+++ b/test/suite/ch07/7.6/7.6.1/S7.6.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * List of words that are not reserved
  *
- * @path 07_Lexical_Conventions/7.5_Tokens/7.5.1_Reserved_Words/S7.5.1_A2.js
+ * @path ch07/7.6/7.6.1/S7.6.1_A2.js
  * @description Try assign 1 for not reserved words
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A1.2_T1.js b/test/suite/ch07/7.6/S7.6_A1.2_T1.js
index 31b447c1e9be6cbb285abb7a73e5e1d350892042..54aee1064f0de55779fc3bf422b853b5a08d6dd6 100644
--- a/test/suite/ch07/7.6/S7.6_A1.2_T1.js
+++ b/test/suite/ch07/7.6/S7.6_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierStart :: $
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A1.2_T1.js
+ * @path ch07/7.6/S7.6_A1.2_T1.js
  * @description Create variable $
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A1.2_T2.js b/test/suite/ch07/7.6/S7.6_A1.2_T2.js
index bb1854e79817f25d8250c0de1a2a36878aa8d572..d6474ac413875ee74a12d567abd26e00de1ce251 100644
--- a/test/suite/ch07/7.6/S7.6_A1.2_T2.js
+++ b/test/suite/ch07/7.6/S7.6_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierStart :: $
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A1.2_T2.js
+ * @path ch07/7.6/S7.6_A1.2_T2.js
  * @description The $ as unicode character \u0024
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A1.2_T3.js b/test/suite/ch07/7.6/S7.6_A1.2_T3.js
index 029e9f1d82289e1b83f592ec3d326c488f36a647..571075a7644a6660c9b78adfcca7124bcc77afe0 100644
--- a/test/suite/ch07/7.6/S7.6_A1.2_T3.js
+++ b/test/suite/ch07/7.6/S7.6_A1.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierStart :: $
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A1.2_T3.js
+ * @path ch07/7.6/S7.6_A1.2_T3.js
  * @description The $ as unicode character \u0024
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A1.3_T1.js b/test/suite/ch07/7.6/S7.6_A1.3_T1.js
index 399e2c6cefe9410ff5a3829aeaa4ce8d0a9aba6a..8d1164d2bf32dada19d20b45c8ffe91927abcf30 100644
--- a/test/suite/ch07/7.6/S7.6_A1.3_T1.js
+++ b/test/suite/ch07/7.6/S7.6_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierStart :: _
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A1.3_T1.js
+ * @path ch07/7.6/S7.6_A1.3_T1.js
  * @description Create variable _
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A1.3_T2.js b/test/suite/ch07/7.6/S7.6_A1.3_T2.js
index 2e96d5f763ce134a8be10604af9db528c2925de0..ba300f76dde4851d6c0709f22208ecd4c1c970ad 100644
--- a/test/suite/ch07/7.6/S7.6_A1.3_T2.js
+++ b/test/suite/ch07/7.6/S7.6_A1.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierStart :: _
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A1.3_T2.js
+ * @path ch07/7.6/S7.6_A1.3_T2.js
  * @description The _ as unicode character \u005F
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A1.3_T3.js b/test/suite/ch07/7.6/S7.6_A1.3_T3.js
index 40df0a038d3b55b8c79912b2da4724b8363f8ef0..e3a8361c23c0094cb505b7468dc5d2954738f47e 100644
--- a/test/suite/ch07/7.6/S7.6_A1.3_T3.js
+++ b/test/suite/ch07/7.6/S7.6_A1.3_T3.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierStart :: _
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A1.3_T3.js
+ * @path ch07/7.6/S7.6_A1.3_T3.js
  * @description The _ as unicode character \u005F
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A2.1_T1.js b/test/suite/ch07/7.6/S7.6_A2.1_T1.js
index 7724c547e1a19baadbf3b445b067301d4e3bf828..5ef24abefddf4362e45c7cf24090140d0f96c864 100644
--- a/test/suite/ch07/7.6/S7.6_A2.1_T1.js
+++ b/test/suite/ch07/7.6/S7.6_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierPart :: IdentifierStart
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A2.1_T1.js
+ * @path ch07/7.6/S7.6_A2.1_T1.js
  * @description IdentifierStart :: UnicodeLetter
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A2.1_T2.js b/test/suite/ch07/7.6/S7.6_A2.1_T2.js
index e993307f60995b2663579972a6bd67f1ff3e0c5a..3d595b5662f17f1639faaa4ce06bf64d5446cf84 100644
--- a/test/suite/ch07/7.6/S7.6_A2.1_T2.js
+++ b/test/suite/ch07/7.6/S7.6_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierPart :: IdentifierStart
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A2.1_T2.js
+ * @path ch07/7.6/S7.6_A2.1_T2.js
  * @description IdentifierStart :: $
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A2.1_T3.js b/test/suite/ch07/7.6/S7.6_A2.1_T3.js
index 8a0a725e09671c5030b670226a7b50ef882d5bb2..9c1032169bd901162a721747236c31053c5b8f32 100644
--- a/test/suite/ch07/7.6/S7.6_A2.1_T3.js
+++ b/test/suite/ch07/7.6/S7.6_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierPart :: IdentifierStart
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A2.1_T3.js
+ * @path ch07/7.6/S7.6_A2.1_T3.js
  * @description IdentifierStart :: _
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A2.1_T4.js b/test/suite/ch07/7.6/S7.6_A2.1_T4.js
index c7bf6739b9877dc30254fe4ecea04cabfb60beb9..a031822546cad92614dbd62b072145173b18699c 100644
--- a/test/suite/ch07/7.6/S7.6_A2.1_T4.js
+++ b/test/suite/ch07/7.6/S7.6_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * IdentifierPart :: IdentifierStart
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A2.1_T4.js
+ * @path ch07/7.6/S7.6_A2.1_T4.js
  * @description IdentifierStart :: \UnicodeEscapeSequence
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A4.1_T1.js b/test/suite/ch07/7.6/S7.6_A4.1_T1.js
index 217a9cf9fcf5feca7c24ecf87e2996f9924831b2..1e18ed18d8a1838962e0bef05b1abc53523cde0c 100644
--- a/test/suite/ch07/7.6/S7.6_A4.1_T1.js
+++ b/test/suite/ch07/7.6/S7.6_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of ENGLISH ALPHABET
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A4.1_T1.js
+ * @path ch07/7.6/S7.6_A4.1_T1.js
  * @description Check ENGLISH CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A4.1_T2.js b/test/suite/ch07/7.6/S7.6_A4.1_T2.js
index bb823d9ed19e2013ef488c24f78b3732ea19b2c2..20003197e1c1072c63da0e0bc8a23e07cc880e62 100644
--- a/test/suite/ch07/7.6/S7.6_A4.1_T2.js
+++ b/test/suite/ch07/7.6/S7.6_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of ENGLISH ALPHABET
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A4.1_T2.js
+ * @path ch07/7.6/S7.6_A4.1_T2.js
  * @description Check ENGLISH SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A4.2_T1.js b/test/suite/ch07/7.6/S7.6_A4.2_T1.js
index 8c013c28094f884106c38fa64d872f379dd4a590..e588b8c15780e7917238694fb1dc3b76e7d6e143 100644
--- a/test/suite/ch07/7.6/S7.6_A4.2_T1.js
+++ b/test/suite/ch07/7.6/S7.6_A4.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of RUSSIAN ALPHABET
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A4.2_T1.js
+ * @path ch07/7.6/S7.6_A4.2_T1.js
  * @description Check RUSSIAN CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A4.2_T2.js b/test/suite/ch07/7.6/S7.6_A4.2_T2.js
index 0c860e86e33f5e3917672918745bd48b23f7485e..119b949181c9430be6939160d383f7f820461d82 100644
--- a/test/suite/ch07/7.6/S7.6_A4.2_T2.js
+++ b/test/suite/ch07/7.6/S7.6_A4.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of RUSSIAN ALPHABET
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A4.2_T2.js
+ * @path ch07/7.6/S7.6_A4.2_T2.js
  * @description Check RUSSIAN SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.6/S7.6_A4.3_T1.js b/test/suite/ch07/7.6/S7.6_A4.3_T1.js
index 9204a5b2459b138fca79b3a010fee08cf8e145c7..ab13aa25338687f3048f1ca33468f6af5516249b 100644
--- a/test/suite/ch07/7.6/S7.6_A4.3_T1.js
+++ b/test/suite/ch07/7.6/S7.6_A4.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of DIGITS
  *
- * @path 07_Lexical_Conventions/7.6_Identifiers/S7.6_A4.3_T1.js
+ * @path ch07/7.6/S7.6_A4.3_T1.js
  * @description Identifier is $+ANY_DIGIT
  */
 
diff --git a/test/suite/ch07/7.7/S7.7_A1.js b/test/suite/ch07/7.7/S7.7_A1.js
index d23db395dc769464dfff612607c84de0b9d0eea7..e033e11643b76d3906f660b1a68281f73d785334 100644
--- a/test/suite/ch07/7.7/S7.7_A1.js
+++ b/test/suite/ch07/7.7/S7.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of all punctuators
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A1.js
+ * @path ch07/7.7/S7.7_A1.js
  * @description Using all punctuators
  */
 
diff --git a/test/suite/ch07/7.7/S7.7_A2_T1.js b/test/suite/ch07/7.7/S7.7_A2_T1.js
index 0b39344bf3fda63feaf7dcad32d725db18997acd..1a545639ded09d6624f5b28b5c40d10463919c9f 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T1.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T1.js
+ * @path ch07/7.7/S7.7_A2_T1.js
  * @description Try to use {} as a Unicode \u007B\u007D
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T10.js b/test/suite/ch07/7.7/S7.7_A2_T10.js
index 64c0e0020d0a38521a59fce4411c21088fd0bcb0..6d71a5617fcbb423966c37789e733512df475d27 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T10.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T10.js
+ * @path ch07/7.7/S7.7_A2_T10.js
  * @description Try to use / as a Unicode \u002F
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T2.js b/test/suite/ch07/7.7/S7.7_A2_T2.js
index febf2fd31dfe793f45e90d9e180badf1487fcadd..1a06e190e35fc3064bf8f36f4c6ff47b8b96a78c 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T2.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T2.js
+ * @path ch07/7.7/S7.7_A2_T2.js
  * @description Try to use () as Unicode \u00281\u0029
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T3.js b/test/suite/ch07/7.7/S7.7_A2_T3.js
index e286f67afd48b9b80464ab0a16105fcb2d05f885..1b9b950f4e7ea5ed44c5acb2bce38388af325175 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T3.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T3.js
+ * @path ch07/7.7/S7.7_A2_T3.js
  * @description Try to use [] as a Unicode \u005B\u005D
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T4.js b/test/suite/ch07/7.7/S7.7_A2_T4.js
index 4449c2b1f5ac6f5555e42512ad1140c854f87abd..c877858e273747a6e788beca7aef0d15da87a545 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T4.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T4.js
+ * @path ch07/7.7/S7.7_A2_T4.js
  * @description Try to use ; as a Unicode \u003B
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T5.js b/test/suite/ch07/7.7/S7.7_A2_T5.js
index 07d748c22dcbf0ed9f8ac570ac77bb22e4d1e905..1b92226af52a0ef7e3169bdd345e32b4bd94deb8 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T5.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T5.js
+ * @path ch07/7.7/S7.7_A2_T5.js
  * @description Try to use . as a Unicode \u002E
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T6.js b/test/suite/ch07/7.7/S7.7_A2_T6.js
index 6fc858de1960705f7edc45efcc6caa80c1ee3813..e0cb0382fe2bb50a08dd3fcbc89a4f257a5591ac 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T6.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T6.js
+ * @path ch07/7.7/S7.7_A2_T6.js
  * @description Try to use , as a Unicode \u002C
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T7.js b/test/suite/ch07/7.7/S7.7_A2_T7.js
index b4606a051ef8959a9f0bbbf988d43c0e4623dccc..aff3092a63f53ae2fda82802b6bf9db57cde970e 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T7.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T7.js
+ * @path ch07/7.7/S7.7_A2_T7.js
  * @description Try to use + as a Unicode \u002B
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T8.js b/test/suite/ch07/7.7/S7.7_A2_T8.js
index afa70aede4a2172f36fcc6469905428bef03c8b8..9e9cd1ac4853c92f95cfeedad922cf409fff42d9 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T8.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T8.js
+ * @path ch07/7.7/S7.7_A2_T8.js
  * @description Try to use -  as a Unicode \u002D
  * @negative
  */
diff --git a/test/suite/ch07/7.7/S7.7_A2_T9.js b/test/suite/ch07/7.7/S7.7_A2_T9.js
index a2ead81e9751f184c0a758b5c9916a18108c9395..7ba61f5a955e687402357f25e74fc1b1dfb7d38c 100644
--- a/test/suite/ch07/7.7/S7.7_A2_T9.js
+++ b/test/suite/ch07/7.7/S7.7_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits
  *
- * @path 07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T9.js
+ * @path ch07/7.7/S7.7_A2_T9.js
  * @description Try to use * as a Unicode \u002A
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T1.js b/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T1.js
index 90edc481c9c5d90dde70f81bfac01e30715d32ce..e7b188b6ccdc28a9bb3031fff38cf671cf4b545b 100644
--- a/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T1.js
+++ b/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Literal :: NullLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T1.js
+ * @path ch07/7.8/7.8.1/S7.8.1_A1_T1.js
  * @description Check null === null
  */
 
diff --git a/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T2.js b/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T2.js
index 39fa0d902dda8f281038e781a0b6ff37e190af72..340f8bed42c593dcd811278e850f0bf5b2fecf9f 100644
--- a/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T2.js
+++ b/test/suite/ch07/7.8/7.8.1/S7.8.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Literal :: NullLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T2.js
+ * @path ch07/7.8/7.8.1/S7.8.1_A1_T2.js
  * @description Check RegExp("0").exec("1") === null
  */
 
diff --git a/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T1.js b/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T1.js
index 69cac1674be545edcdc0970323606745020404d7..f2925a291e876ca55e19b201ba917fe8c385da78 100644
--- a/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T1.js
+++ b/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Literal :: BooleanLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T1.js
+ * @path ch07/7.8/7.8.2/S7.8.2_A1_T1.js
  * @description BooleanLiteral :: true
  */
 
diff --git a/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T2.js b/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T2.js
index e3c860c09f49943581f4307dd748dd27f1c3391d..5adaf379d0e1b06b1562b1f86ec71ca3d3489b00 100644
--- a/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T2.js
+++ b/test/suite/ch07/7.8/7.8.2/S7.8.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Literal :: BooleanLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T2.js
+ * @path ch07/7.8/7.8.2/S7.8.2_A1_T2.js
  * @description BooleanLiteral :: false
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js
index bee3c7014bb84fdf44143c1690a0c9e22984eed3..ff82f498e47bd1e8b3557837ed1c0140d5dd0a6b 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js
  * @description DecimalIntegerLiteral :: 0, NoNZeroDigit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js
index 7bd1d79ff70606d450e21d2416e36c37ae62fc82..df2206462decc0957912f2742331cb8ce2eff51c 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js
  * @description DecimalIntegerLiteral :: NoNZeroDigit DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js
index 089c4b533e820c54f6cfa2da7f33aa27b8b8f8a2..50a042d2cc017692e3a6bf93dd65c1a546317e0d 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js
  * @description ExponentPart :: e DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js
index 6f137e86d321143b06e2e5b6ac76589f91406fcf..f2398a460f8b50dc0d273abe06b9e7e614c0bbfb 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js
  * @description ExponentPart :: E DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js
index 6a0536ef9467a74da912307a1b5f5833de782185..352745f8a790d04e419514ccc8b87240562b2e8b 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js
  * @description ExponentPart :: e -DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js
index f632aa608582a7cea910febf3c98ff457452f336..b0f95210ff1e613d016f2d31e7a591c35ecf2786 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js
  * @description ExponentPart :: E -DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js
index 03a51a5512c54f7458d38fe156ea963daa36056e..87c79f63d15d6bf0e1be80d768ec0fcabbb075af 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js
  * @description ExponentPart :: e +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js
index 24ddb1440041b33b1a55b96ece7ed15d84b5c6c6..bdfc65d335b39a902050302718fb20b37d0fee06 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js
  * @description ExponentPart :: E +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js
index 05daa8f1353af4f2c1f3686d6e909d33593f7417..d636e7e6b7dc5700a52f688fba7de9fdcf63b420 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js
  * @description ExponentPart :: e 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js
index d1ac4187fb7ba747889ee4968d254ff751087039..c45e4353d7876dd0c36b7b36183d7193388a659d 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js
  * @description ExponentPart :: E 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js
index 9871dca6e385acf4e23c5c25942736a682eb8101..571cfe65e1806802fa56d7adae5242077e54f681 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js
  * @description Use .DecimalDigit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js
index d5bdd9fcd8fc200793d01312b2bd212e2b77ee2b..88ed6fc02bc3e554342fc2e799812144cb75791a 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js
  * @description Use .DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js
index 29c16c255150cf7900159db414d908d086d70a1d..2b5d47bd12881f52ea140d389ab8840e1409daa3 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js
  * @description Use .DecimalDigits that have at the end zeros
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js
index c663efede14ad6763561fc8306d27dd58e33023a..bd80eb9d7110d685fe85aa21ece8cf00fa5097e9 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js
  * @description ExponentPart :: e DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js
index 1a8ffcb9416e7d8c3b3569f51b1c9bb4a9519ba7..0e6db792569dc786ce6c7177b48c72223ddd86ae 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js
  * @description ExponentPart :: E DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js
index 87d8f686f1e77a251b793c5e80f77a0d09534b0a..513868760ef9911cdb245a73c40fd5c81496b9cd 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js
  * @description ExponentPart :: e +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js
index f4ec45628d5b1fb3fb5f393d4b1fe396e11447a9..88ddf9858694def01ac87fb6cbdf8d3877c298b0 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js
  * @description ExponentPart :: E +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js
index be2d346bbbdbc5e1740432272a16ccec3368e7a6..881511a107b6750d82e5f00b84122b4711448a85 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js
  * @description ExponentPart :: e +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js
index 626099f49fe548b49fd2f2ebd03dca3a584f704b..8b206eee7b5b8068d36df90c0bbde7632f707dc2 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js
  * @description ExponentPart :: E +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js
index 37dbd02661049cd13cd0a7cc582950b6da5aa995..a3701e00c8b7016abb056fc71ad380940ac87551 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js
  * @description ExponentPart :: e 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js
index 9d66ce170f14ab52f8e2a1e1ee4be9b381156687..d8bca29e1a4928f1d527cab7e59571a558171b20 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: .DecimalDigits ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js
  * @description ExponentPart :: E 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js
index cca5dacff5a298bf53217b2749125a34f0f1ac75..0e34b120bec37fcae898709b82dcb6f3d768159e 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral.
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js
  * @description DecimalIntegerLiteral :: 0, NoNZeroDigit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js
index 090939ef12a3daf1c0ea460431ff9e8edd866e63..6dcdd78e38575ab473765c0cde48098917e143f0 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral.
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js
  * @description DecimalIntegerLiteral :: NoNZeroDigit DecimalDigigts
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js
index e9d8ba2d7991d0a1fa7421e97e9b3ec01b063ffa..5c0a5ffa70d4be139c6e356451615cb63830d10b 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js
  * @description After DecimalIntegerLiteral. used ZeroDigit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js
index 4099ad63a68bd6801c7ec94cf50a1385ee178035..110c931e52d637f4fd12db9a2b0c6f169b52b23f 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js
  * @description After DecimalIntegerLiteral. used ZeroDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js
index c4b6f2bfe91735645d6781dc21293560edfaaf44..fe293b95beb883b066d4b7c7c633b6cabad95e8f 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js
  * @description After DecimalIntegerLiteral. used NoNZeroDigit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js
index b2e7e9ade1c72702a97cd9acf1084054fc8d7380..e0a6edba5fca8d7d9d4b3cdd886c615c018d09d1 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js
  * @description ExponentPart :: e DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js
index d33a09583a94e757bea3f43819aa43dcb3a01f2e..034d2c5484fd81bfc23c596fcec603c48a8d7d1b 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js
  * @description ExponentPart :: E DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js
index c828b114826bcae69f8df7aaa869270c68c86608..a60c83d58778325adaa33bf078a7eddbf5aad28c 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js
  * @description ExponentPart :: e -DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js
index d246f4ec06e50a1f38808cfb304cb6c271f96f7c..9dc5be7a2e5e11a7a307b5430c0b121823f445c4 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js
  * @description ExponentPart :: E -DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js
index 222f7a2b999348e8b43c1dac99762cc4636a22c4..9b2e9b820788efb9a259e70f7448fac6a4f8f909 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js
  * @description ExponentPart :: e +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js
index a69bd1d9a17b1fa751761855c979bc82812abe4a..33c8a84c99734b0a1cdeba218b953aefe37ea08e 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js
  * @description ExponentPart :: E +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js
index 0fe88c2c951ca066747ada2e25c61985133873b6..628581d66f90b5c0099bc8dcd7212be5cdde2eac 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js
  * @description ExponentPart :: e 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js
index 117de038ec45ef4cbaa13ef19007af94bf018100..b6f2491243fd0df774246b0d687c9726939410cf 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js
  * @description ExponentPart :: E 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js
index 81372c6f9e52453b2be352f0a41114960114c46e..15ad5b2246a1a4af20be12992af5e170b4ef3d8a 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js
  * @description ExponentPart :: e DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js
index 51d4e0e8d68fdea0c8b5e7d4bb488a1eb4d989a3..a3a67a30ee080688ff7d021f7b0e43facd1941c6 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js
  * @description ExponentPart :: E DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js
index 621465cd4c68b0029c3f4c231c786628155adba3..fef945e4754355dc0e8a80993163a29905f69ee9 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js
  * @description ExponentPart :: e -DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js
index 1aaa63f64ee3643ae3dd12a78fd127f5ddeeda37..f68532fd87d283bbcddba17142e9faa6ebb606f9 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js
  * @description ExponentPart :: E -DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js
index c843a8ce229647b0291b2e2ba89e9aa2824b1776..161105928acb8184633d2f562a658be18a5081b1 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js
  * @description ExponentPart :: e +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js
index 41df03acf93e0f1aee52d743d0ee67e1dfe87a16..5d28f66094f7245f1285d3216d4b8b89a920894f 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js
  * @description ExponentPart :: E +DecimalDigits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js
index bf750af279199be073da6fc66f67de40c94f3b10..b5ebe39d4f3f89bd9728373c91a869add92769cc 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js
  * @description ExponentPart :: e 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js
index 936997fed0f497f45c24a4c96da080b345c400d4..36b643364de2fcb14de4365953119c6e5d899b5d 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js
  * @description ExponentPart :: E 0
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js
index 172511f1fef86f5bbed0a4a5e371c9a07144284f..eaed76725cbd5fa80f3346c80c15736709bb9277 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js
  * @description ExponentPart :: e DecimalDigits
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js
index f118e255cc2112036b3531af7c0ea146d413900a..306ed8ba2c04c12941b664cd499ce942f9f15d44 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js
  * @description ExponentPart :: E DecimalDigits
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js
index 4b1cf70e4c17ae436715b0039a8c614468e90a85..b7c5e5a9fd7605a5e5a6485ce7c973459441c3a2 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js
  * @description ExponentPart :: e DecimalDigits
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js
index c1f8cd3cded4143cf4c313fa58bde579d8e7c8d5..fb21413d4286f57b78efa1bd9e27f88a8dcfc43d 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js
  * @description ExponentPart :: E DecimalDigits
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js
index 542b0866e6d883b39915680e32d0121745654450..89719f0f70f40dbff55ed76739027f4d3271f3c3 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js
  * @description ExponentPart :: e DecimalDigits
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js
index 2a469e7a7de2f5d3651a047c9b3332608eb1fcc7..533e23bc41150dc290f0d402f0e2d22dc2604e31 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js
  * @description ExponentPart :: E DecimalDigits
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js
index 26619aef88446b6aeba2e253354da46ab5a24bce..d6475e50fdbcd41c868b9128ae1b5936f6d58f26 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js
  * @description ExponentPart :: e 0
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js
index 62ab20d033fdcc380f8e25c9b458c3e4c11ea187..89e284f4f8a196d2be83a8331c352488c9b7d3fc 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: ExponentPart is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js
  * @description ExponentPart :: E 0
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js
index 4a21e06891396d46933f4fed98f25df71778af71..a925aaed9ac4364699ca5cfabec6b7d8be99badf 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js
  * @description ExponentIndicator :: e
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js
index 392647cab6609490423babe120a28ab8a70c6fe3..bfc6f4eee1189d29498d9e4b9e6ecc29028eac9e 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js
  * @description ExponentIndicator :: E
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js
index d9b2f7b9775eaeb0d200791170e47575684e1cfd..15f7bf7bd910b502d55ab7830dd83c4b97cbcf9d 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js
  * @description ExponentIndicator :: e
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js
index a4f3e06f3144333f6fd1a30ed2f20cafe254285b..2682b8f0ecaa5a732acfebe239efb73700ad6122 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js
  * @description ExponentIndicator :: E
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js
index 2ed76098f16be9bc69c028055ce004168292e10c..386daa9302db12ebb89cae05c726e52e3e45ff75 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js
  * @description ExponentIndicator :: e
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js
index c29442c114b60e16472c5a45ebd79933b38be8eb..df360f5ea8c66318c123a6113c9b92a8bd9a8c83 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js
  * @description ExponentIndicator :: E
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js
index 278aa4ddc03f10ad90bb7f691fb050f9fa5e1a2d..9fbd8a679c5c802632f9edf0dcaaf8e63fb51850 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js
  * @description ExponentIndicator :: e
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js
index a1b34abc1c1174da45b8272463406f8c3e40efab..2c62351faa187b0173e4933a8e4f007929365fc3 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js
@@ -4,7 +4,7 @@
 /**
  * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js
  * @description ExponentIndicator :: E
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js
index 44c936212a91055f30637c74bf2f7dccaa65e2d8..2e6b786b449ae283bd26a010a9e20ab837bbd4c9 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js
  * @description HexIntegerLiteral :: 0x Digit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js
index b9b99bdfd41d671a0864199047cb4f6c5c2e3783..ca55655e2e8b52dcae8966971b8bc69ccae6d00a 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js
  * @description HexIntegerLiteral :: 0X Digit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js
index c8f90ed27f9b2f4f6db93dcdf45734de0c64e930..089a84112aa6662f221bceb6efd418e562f2a918 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T3.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js
  * @description HexIntegerLiteral :: 0x NonZeroDigit Digits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js
index f6c111b55d447e97adf1dfe7de3e2a4c8d446035..5ddc484a8bb0cf5a43032686515c0dfc00c862a4 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T4.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js
  * @description HexIntegerLiteral :: 0X NonZeroDigit Digits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js
index 3fec372c993016dbfe6c7dba9dcde43e963dabb7..da8e61ed48dd55592ff8e27546a749f6dd09836d 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T5.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js
  * @description HexIntegerLiteral :: 0x0 Digits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js
index be010312e5e8412bcd94ee1e9d7a8410688a6fce..659c7dfbbab671508fa94cbb7ae02208fd5d4a14 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T6.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js
  * @description HexIntegerLiteral :: 0X0 Digits
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js
index e5b29f2c1f372ba808ecf12c490e695184aa7168..7bc52989cda0e029b4f78f1d9d018196ed8f9d80 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T7.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js
  * @description HexIntegerLiteral :: 0x one of a, b, c, d, e, f
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js
index 64f9e0365f41185e6f338bda41b6caab4bf4e3bd..1f95ab586e2de9fa82b354fdd0a207b43ad2dbd7 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalLiteral :: HexIntegerLiteral
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T8.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js
  * @description HexIntegerLiteral :: 0X one of a, b, c, d, e, f
  */
 
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js
index d155704894785237110068680f94f2452f424d85..3be2b908f54bad80113cbb16ddf62ba1887bf5aa 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * HexIntegerLiteral :: 0(x/X) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js
  * @description Checking if execution of "0x" passes
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js
index 351d26de045bde68310b4a37838c3bad3b774423..8b813b81fe2ebaa010187752057fd8296fbb8c14 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * HexIntegerLiteral :: 0(x/X) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js
  * @description Checking if execution of "0X" passes
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js
index 84a8971c35f3a31fe49b50485382ad84a2038381..accd265894ad73bae367e91cf61494e01f5554d2 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * 0xG is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T1.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js
  * @description Checking if execution of "0xG" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js
index 1c94bfef1fc700519b4692455466e362029e09de..7a14fef29eecc084ac886a9c83410694511ccb9a 100644
--- a/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * 0xG is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T2.js
+ * @path ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js
  * @description Checking if execution of "0xg" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js
index c0bec2ec52bac7444ebc073b02ffc52dfaff00a3..02c823418ddf5bd14aab72c0cac7824855a33063 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: "DoubleStringCharacters_opt"
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js
  * @description DoubleStringCharacter :: SourceCharacter but not double-quote " or LineTerminator
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js
index 443feba500f97140c197b0c045765b8f3fb97e07..bedbcea86564ed0f7942b8ba2e400d0604df7e3b 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: "DoubleStringCharacters_opt"
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js
  * @description DoubleStringCharacter :: SourceCharacter but not double-quote " or LineTerminator
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js
index 4f9585d857c29785cbe013db732ae1c3b358912e..964e5be6c432a2058523ed425b4295d66c488ab7 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: 'SingleStringCharacters_opt'
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js
  * @description SingleStringCharacter :: SourceCharacter but not single-quote ' or LineTerminator
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js
index 1587ffcd065e71929322eb87702ed61aa48097b3..82890f5c2752d1184e3aa4ee4157ce669b05c592 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: 'SingleStringCharacters_opt'
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js
  * @description SingleStringCharacter :: SourceCharacter but not single-quote ' or LineTerminator
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js
index e278ddb27917c9277ffe2d7ff140600a1eb3e9ac..9a555b814bd725ab2788ccbe4a698b4594d65ae4 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of ENGLISH ALPHABET
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js
  * @description Check ENGLISH CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js
index 0e52b9a30aed6f0c69efab5e46a2caaa859a721e..f7e8ccfa351f96c986fb917d6b53f520c37bf8e9 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of ENGLISH ALPHABET
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js
  * @description Check ENGLISH SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js
index 3240226c6fc37826e60a19123ea1011d30b86286..cefe28d57017660f665d90cc8e26bba23e5d2308 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of RUSSIAN ALPHABET
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js
  * @description Check RUSSIAN CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js
index 5c31c5689a1d6ce26f362f20ab6bef1f14f7adfa..09fc5877b66ea98286c44b783bcf58a90838738b 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of RUSSIAN ALPHABET
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js
  * @description Check RUSSIAN SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js
index 47f60c8ab49e6b05df116a769e40a0c5256dbb19..30e6133b70b04cde363e63b9272136e97bb1132d 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Correct interpretation of DIGITS
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.3_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js
  * @description Check DIGITS
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js
index 2231dd38aec35d63e8d0b47cf86b40c5b0e5fe36..f25e6538d357dc2a538642b0526fda0172c2c74e 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: "\" or '\' is not correct
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js
  * @description Checking if execution of "\" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js
index 8a46b92f7a7877d90ed231cca3fa3af9e9119417..82cf8717b8c3fbd45bd35ca295b2a2a895892851 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: "\" or '\' is not correct
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js
  * @description Checking if execution of "'\'" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js
index 5be917dee89527fe31a1e1abb4954d8453cb2a6a..54aaf12c67a398f6a6863d58e519a56e5b23eca2 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: "\\\" or '\\\' is not correct
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js
  * @description Checking if execution of "\\\" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js
index 1f9d2e6c1e3ed136b19cb7b90ab02ca1fd9a67f3..a26421e76606a1b7ea60af6f33013d005ab44d82 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * StringLiteral :: "\\\" or '\\\' is not correct
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js
  * @description Checking if execution of '\\\' fails
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js
index 4bab6b0ae0a1c2b9338f3f72b9fc400b98503608..9cac9a2d9317e2f41d2ceeca52cf92d36190e345 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: SingleEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js
  * @description SingleEscapeSequence :: one of b f n r t v
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js
index 275194ae76460c2661e222fb9bc5627dc1c13891..c99f669efbf421d84ee497ce36577ff1365ba0f5 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: SingleEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js
  * @description SingleEscapeSequence :: one of ' " \
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js
index 91e49586e17907612fe99a6423fdea67b3d24de7..8abfdd03187db0f2c6f80070a93720269d2ddb57 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js
  * @description NonEscapeSequence :: ENGLISH CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js
index eaa478f2c612f7d9163ec77cd400a5a89b816644..660d2e62eee5fd53c61e6dea6f46dc8a796d6087 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js
  * @description NonEscapeSequence :: ENGLISH CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js
index 161ac236bcc019ca3eec4761ba0e65af1c7b68cd..39194063ae66d070dd3dc3627af909cb847c6d18 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T3.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js
  * @description NonEscapeSequence :: ENGLISH SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js
index 4074b8062f495d2cb37f4f07667a200f30532bad..19e61c5e14448ab27a75560068d273c73547aa05 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T4.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js
  * @description NonEscapeSequence :: ENGLISH SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js
index edc85d959727ac59132a4b7b444b531ec02c3d33..57c1b8efdc0aeb06fa24442c1525e7d3c1407811 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T5.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js
  * @description NonEscapeSequence :: RUSSIAN CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js
index 22d7f655bcdd5b02b68a4c974c5e602efbb4bf25..86e7ac2cad134770e7008cd1f9a118e22becbe9b 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T6.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js
  * @description NonEscapeSequence :: RUSSIAN CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js
index 349635d1952e4ae8b87c45ac8a113c339eea4d4a..78915dce4f3c33c2da6cbaf2d0e6627ef57efbe3 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T7.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js
  * @description NonEscapeSequence :: RUSSIAN SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js
index c6c33cf674ddbf0bc66e7de565cc691457f9f96c..3ef3f843e607557e1439026f108d554bf7853e90 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscapeSequnce :: NonEscapeSequence
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T8.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js
  * @description NonEscapeSequence :: RUSSIAN SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js
index d18a6782984824aef99e1ee6ce96b4c31ae2d5f6..96c823ee86a5fde991900bc29b6683c37f684881 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * NonEscapeSequence is not EscapeCharacter
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js
  * @description EscapeCharacter :: DecimalDigits :: 1
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js
index 5ca8a01fd179e7b03712049f3816f78b2471efe0..b7f743e49f3052e643adf60955b616c4f27e9261 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * NonEscapeSequence is not EscapeCharacter
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js
  * @description EscapeCharacter :: DecimalDigits :: 7
  * @onlyStrict
  * @negative
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js
index 4307d182523ea43e2ee8f69e09103709ce632861..06393034299a2dfdc9a9a1131b251980be621c81 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js
@@ -4,7 +4,7 @@
 /**
  * NonEscapeSequence is not EscapeCharacter
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T7.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js
  * @description EscapeCharacter :: SingleEscapeCharacter :: one of b f n r t v
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js
index 4eb14f581fef3a49355d89f673a7911e4c0351de..aa0acecb6c831a12ef15ec7abc019fc0e0c3c3b2 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: 0
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js
  * @description String.fromCharCode(0x0000)
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js
index 01708307ab3e8b4cf711ebb3a3faeb734db653d9..06830f080012c096e3b10ae2e2f989c8d132fb62 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: 0
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js
  * @description "\u0000"
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js
index 572fbc1518fc815e680d51fcc19f334856efebcd..f7a1de6ac620e4022e4f5106f0c61753594d1a7a 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: 0
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T3.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js
  * @description "\x00"
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js
index 9ebc52eb37345ea85afa56288800acfc1c2a2e64..ce8f5dae871c97c29be0bb3e35e4eb4997616816 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js
  * @description HexEscapeSequence ::  HexDigit
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js
index 6e5801775f930d4f915a417ce2c396bfd4d3241b..64cdc0ebeaeff978cd062d1ba788cb3303fe322a 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js
  * @description HexEscapeSequence ::  ENGLISH CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js
index 64cb267b7e5877b28f45dbb0ce9dbaaa77e6b042..c3ef6e4d33f0a04873a9b266a92f06119bf5da40 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T3.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js
  * @description HexEscapeSequence ::  ENGLISH SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T4.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T4.js
index 05f5a414cdb17b8c17b2d09d8b2c23eeb3b4f824..dfb4a810c4ad890b9e6190d738d2fa16bb7788e4 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T4.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T4.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T4.js
  * @description HexEscapeSequence :: x0G is incorrect
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T1.js
index 5fb26a00377509e8819a0add245a1a3be2be3964..f5114db653301a6e70c064bdf78296f2942d9ae2 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * HexEscapeSequence :: x HexDigit is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.2_T1.js
  * @description HexDigit :: 1
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T2.js
index b49339b49241f6f0079796d9fcf5feca4fa85ef5..b68220f2cc2bd2094aa6e33563e3467d13ee1e70 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * HexEscapeSequence :: x HexDigit is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.2_T2.js
  * @description HexDigit :: A
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js
index 4e40d005fa08a6cf2ba5e657b4ebdef17df13235..4611ba25a5ec6e974223f71e1dcdebf89802e222 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * \x HexDigit HexDigit SingleStringCharacter
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.3_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js
  * @description Check similar to ('\x01F' === String.fromCharCode('1') + 'F')
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js
index e8f99b144a3b1a3843664cf6f6916cff0837d38e..512de11f22f140424ef6f39f06f57bb0cf9865c6 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js
  * @description Check similar to ("\u0000" === String.fromCharCode("0"))
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js
index d4d406cb9dc04e47edd4bf1206ae18dd2c3d48bd..32c6c345513f0b4bd8e07c2f78a235def1507e89 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js
  * @description UnicodeEscapeSequence ::  ENGLISH CAPITAL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js
index e906c8773698d7652ea4c39f9aac8edb3f5dae4d..7bf3ef85c3c666320c95b8ab42e1fbbe53331c3c 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T3.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js
  * @description UnicodeEscapeSequence ::  ENGLISH SMALL ALPHABET
  */
 
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js
index 1d91782078aac691abc1351abf32d867310331b8..11b4f5620d5ff4df62e0633c0236b0ad14d9f15a 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T4.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js
  * @description UnicodeEscapeSequence :: u000G is incorrect
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js
index 7a797d26a80d6180f96d4134a31fe8209234d1e6..6c3cff0dd1e2a974f3a4531f5cb3c3a8080e7667 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js
  * @description :: HexDigit :: 1
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js
index 993c3df8046b5346bfca5f4ef7bc653c346ba92d..c1918f4141671a8b433b4f348e862ef09234fcee 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T2.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js
  * @description :: HexDigit :: A
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js
index 1de6658fd0259c29643eb86988810c81874935d3..b1eee59236d0cedfb8373197847670bc281461e0 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T3.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js
  * @description :: HexDigit :: 1
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js
index 4549cec106ff7973b6c29657dec4b238182ed281..6fe1c8afe4bf7d64246e25cefd59cbddb56754c6 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T4.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js
  * @description :: HexDigit :: A
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js
index 01c30fa5e34f4d5e7d22a9139ceefa553979467b..f047e5337877b71086f1657fa950542d19c1a89f 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T5.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js
  * @description :: HexDigit :: 1
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js
index 46ee05da96c2b743ee2a7a6f8eddcd05a39639c4..5d28d4a5e79865ad9afdf7c253332fb159fbc42c 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T6.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js
  * @description :: HexDigit :: A
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js
index cc1e111ebf5140db36c2deb18093e8ad583f3686..baaeaae6fa69867fc20910f5101d27ff4bf99f76 100644
--- a/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * \u HexDigit HexDigit HexDigit HexDigit DoubleStringCharacter
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.3_T1.js
+ * @path ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js
  * @description Check similar to ("\u0001F" === String.fromCharCode("1") + "F")
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js
index a5b5c5f665987c23826f9a88793242473d8c11ec..638177170a9141951d3aa2ffcd2c0c85e64452ca 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js
@@ -5,7 +5,7 @@
  * RegularExpressionFirstChar :: NonTerminator but not * or \ or /,
  * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js
  * @description Without eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js
index 83e303a0d212d0da5d46bb1da3d8ccacde70dd6a..e46d2e24dc4637c93a4e46e47256588cf929fd7e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js
@@ -5,7 +5,7 @@
  * RegularExpressionFirstChar :: NonTerminator but not * or \ or /,
  * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js
  * @description Complex test with eval, using syntax pattern
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js
index 823baa63a7e4efdef60ef44e8b50852410fb5bdb..d7013d049b6b004592cc55bf8990cc9036b79d1f 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js
  * @description *
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js
index 2c870388820919f77ea702fc3d3b9bf75eb8dcd9..b050d8c536ea7e1ca940a6840503609dbd0413e6 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js
  * @description \
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js
index 301ac0b747579c7860fd35af3757bc4112bd3372..abd943bac7a43ff475ed2cac6a1c6f8579554e92 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T3.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js
  * @description /
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js
index 5825de41921291d764a71c00ca66176426128768..6d341f99131751842cba47e4115ffc9fe480517b 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T4.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js
  * @description [empty]
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js
index ecfbfd31e912a103b97a8674fb957aaf8cca58dc..4fdba3e4ccc2c6d8be489792370591dbeacf65d5 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js
  * @description Line Feed, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js
index 0122e9f1072102ac4613c9420193f91a94954040..a2ac51235ec4cabe49059eb09449999aeda7ee19 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js
  * @description Line Feed, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js
index 0b0e0f3780979c23d75c6a7327344d2fbed16c53..95d7ebcd6b40cca5f37eaab9603fe99ad954b410 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js
  * @description Carriage Return, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js
index cf23cbc6d03e0f7e30c65297bb231d2eebbf08c5..638eecf69aa3cbcac76b51b2e86cff761584ed0f 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T4.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js
  * @description Carriage Return, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js
index cfa2690931ac80d2a03a9e6af6c8be5b96873d1c..c621df543fe42ab3aa690d923f3fa416615d4b06 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T5.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js
  * @description Line separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js
index 6980c6034b5831c5428175dc7cc44887346e70a8..1ad88db2238d74378aeec13d365e6d22b8373d9e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T6.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js
  * @description Paragraph separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js
index 54ea168e20c2decfa8b9770048e5aa404ee6b964..0c87e0b3df2f87f3833939c33480bb119392b992 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js
@@ -5,7 +5,7 @@
  * RegularExpressionFirstChar :: BackslashSequence :: \NonTerminator,
  * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js
  * @description Check similar to (/\1/.source === "\\1")
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js
index 4d1b6a76a0a7e496c35abdd41dd015089b184822..f17d8332aecafd5b70a83da913a9a4e214fc1b52 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js
@@ -5,7 +5,7 @@
  * RegularExpressionFirstChar :: BackslashSequence :: \NonTerminator,
  * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js
  * @description Complex test with eval, using syntax pattern
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js
index a8fb3e1d04d38e728f092256cd93272b48df7197..94a9734d0a2e58f5157eec91fad6beb2d8d8aabb 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js
  * @description Line Feed, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js
index 4d6e9586a8830b42f0233c9e6fb903cab2ce2cbb..923e3f737ed504e2e43f01b9784e2c59dcbc5479 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js
  * @description Line Feed, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js
index a66220ac9ccae1ff96aef5deffca22efede5964d..3c349c10bd09ecbcfe298948fb0954cb3ec7cb2d 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js
  * @description Carriage Return, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js
index 2ee902868eb246d58e9c9c551b58e38dda75e4f0..e5b89920a763d693722e27d1282632c24bf6cc82 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T4.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js
  * @description Carriage Return, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js
index 9c8548bcabfdb944e08ba7b663bbf02c846b5e29..a9b6d96968aab118632130ff4447f62e1134d55d 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T5.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js
  * @description Line separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js
index d2d61d248fb5455b49a10125f4112f1de09846be..73345ed41a98b28b0e344008631969615f925999 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T6.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js
  * @description Paragraph separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js
index b73438305f3d08c736053daa86fddd2044152038..5b69da20da9f35b374efe06ab59e6e8ddf9aff34 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js
@@ -5,7 +5,7 @@
  * RegularExpressionChar :: NonTerminator but not \ or /,
  * RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js
  * @description Without eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js
index 7199978dac5fc40063e0494b272235b7fb35f44f..b8e66b23ee9e9f946bf026acdfb380403ae9fe1e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js
@@ -5,7 +5,7 @@
  * RegularExpressionChar :: NonTerminator but not \ or /,
  * RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js
  * @description Complex test with eval, using syntax pattern
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js
index 4f7acf44a87c570a4079b7cedbf3334d4b963c93..8231c040768d4c8c2cf0ae896be2b7dd4eadd978 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: \ or / is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js
  * @description \
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js
index 3d805e8862ad122a477c44b6edf0e85e0637b82e..b80f21691d8362765f3fe78062cd677e3e040e1e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: \ or / is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js
  * @description /
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js
index dd9dfc2dbef9ad3a52542360da3e834d42e30d3d..fd42341e0eed0e695cfb7dc29ad6822db7b7c178 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js
  * @description Line Feed, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js
index 7202b568ec59aaabc3bf89b0763edb275ac7c515..8f3523088ba77e130a11b80ccfb007f8e0c2bf12 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js
  * @description Line Feed, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js
index 873ed4e3b547932bb931a42e20beb207065edbdf..c9debb5c53a60195dc668ec0fa5c3f99d73dda84 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js
  * @description Carriage Return, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js
index 9f39add992e67ef72c257b9b1ab0699566238232..4c2dda38487ac313e025e3045a531d1d8430af77 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T4.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js
  * @description Carriage Return, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js
index be06971e3c5b1756ee8b9f46f1efd23057695d1f..85d43801f7578b1212a0eb95aa6768d56f403bf3 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T5.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js
  * @description Line separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js
index 2afbb851d9039e19d8e8a959cffd15be6aadf3eb..abf9833c5f1c7df3b7e5ce7ed30a9545b262a121 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T6.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js
  * @description Paragraph separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js
index 3ce6e7705606e801aba576f7f0e21577c5e9d1e9..8a67dc42aecec1f3fac1a4443160146a7ee528ae 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js
@@ -5,7 +5,7 @@
  * RegularExpressionChar :: BackslashSequence :: \NonTerminator,
  * RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js
  * @description Check similar to (/a\1/.source === "a\\1")
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js
index 399fae81734d7f44795c9d32ee567ac06cea339f..fa26a976bde240778b690ff0232282b320794c32 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js
@@ -5,7 +5,7 @@
  * RegularExpressionChar :: BackslashSequence :: \NonTerminator,
  * RegularExpressionFlags :: [empty]
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js
  * @description Complex test with eval, using syntax pattern
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js
index 011cc58efe7024a440e23d81777762895feb6066..a3d5e5b4e9a3dbfe614d4f2ea1d8dfc836dd6d98 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js
  * @description Line Feed, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js
index 304fbac45c8f45f72bc1e1488f3f30e392ed868e..685ada093ea0183024aa6f889809887a8c01e508 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js
  * @description Line Feed, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js
index ce168d980630a6c01b3e75fdacc39c5b1c738ef4..e858218706d6ac7e34c7dc6e9ad7738b217d168f 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js
  * @description Carriage Return, without eval
  * @negative
  */
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js
index 6b7094baed2f1936a7eea3f4287cf5b5f0560269..5cdea0817ab4d2d1d7a2deec6a2ed5f75166796e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T4.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js
  * @description Carriage Return, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js
index 55f4970c49a2f1f0fd9fdbcce3c37deee68c95c7..acc1f308029826025e4b204d2c1d8539c4a10197 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T5.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js
  * @description Line separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js
index b9c52fa9be0048dc1c8ee69e833de3ed78eef1f0..d330410216ebc3638982d8a1152954d61724451e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T6.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js
  * @description Paragraph separator, with eval
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js
index aa115b9578102b89d4f3ecca9e829f024a58c7e0..14ea4d7eaf8bf4c9204f0ec629371f555c80b4ad 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js
  * @description IdentifierPart :: g
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js
index 8f6e8de89f19a5615800aa8df1c9c8748e78aa9a..f247140d281b35b4be499729530ca2d805b1937e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js
  * @description IdentifierPart :: i
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js
index f7534ad44284639313581bcaebcb6f9064d6d4a3..4f0e6f14d211428d48cd7b2efbe87c5978442626 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T3.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js
  * @description IdentifierPart :: m
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js
index 8550010eeecc47925a8d10389ab036c0911bce7f..fd56ca01cc65b6b5b9441fb6f28d26fb38b23eae 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T4.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js
  * @description IdentifierPart :: gi
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js
index 8ca71b64ce453fb318d8fd743f3c4aec1c0a501f..3b45a94ca8f9d282d6f1d5e351b425b36be32a7c 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T5.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js
  * @description IdentifierPart :: mg
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js
index 98ec37f22d395e584a84116d5ad94dfa48559320..fb188ed6c1f5627c883bdf2884703665c3a633e4 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T6.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js
  * @description IdentifierPart :: mig
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js
index e4c2119787476e10b8d34c8db5ccb9c30731ed1f..b54dc6e7659e4c563f3aba679c46c3d5e05b6e3e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js
  * @description IdentifierPart :: \u0067 (g)
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js
index 56cc96fd56bade60748eaefeea87bf5f281b82d0..bc41d011c559b400bc6b01dd310a0bcc9aa5479e 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js
  * @description IdentifierPart :: \u0069 (i)
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js
index 11f828048e5db2554701ff724eb17329ae430ccc..2f34cac565990aee5b2e7cb848249ad75964b4b8 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js
@@ -4,7 +4,7 @@
 /**
  * RegularExpressionFlags :: IdentifierPart
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js
  * @description IdentifierPart :: \u006D (m)
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.1.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.1.js
index 5d1866e0fef99a2bfafb0484a8f064ec371c672b..d8f33d67df5a6d92e8f67c653138f9c9d725b4c6 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.1.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.1.js
@@ -5,7 +5,7 @@
  * A regular expression literal is an input element that is converted to
  * a RegExp object when it is scanned
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.1.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A4.1.js
  * @description Check ((/(?:)/ instanceof RegExp) === true)
  */
 
diff --git a/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.2.js b/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.2.js
index a1db8e529dfdb879c87645eff89e0305d126fb07..569e4cbd2db71a142448ed9d9377105078a1e6dd 100644
--- a/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.2.js
+++ b/test/suite/ch07/7.8/7.8.5/S7.8.5_A4.2.js
@@ -6,7 +6,7 @@
  * regular expression objects that never compare as === to each other even
  * if the two literals' contents are identical
  *
- * @path 07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.2.js
+ * @path ch07/7.8/7.8.5/S7.8.5_A4.2.js
  * @description Check equality two regular expression literals
  */
 
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T1.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T1.js
index eb36e2125c89300a07e8a98024a30a8c28096585..566fbbf47ae08df13ff0d401df59c333a5614086 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T1.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T1.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T1.js
  * @description { 1 2 } 3 is not a valid sentence in the ECMAScript grammar
  * @negative
  */
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T2.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T2.js
index 43fae8a750505fb43a1b8739ea44159e68136534..565d860a2316bc526fd6bc886fb7f5ce43ede20e 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T2.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T2.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T2.js
  * @description { 1 \n 2 } 3 is a valid sentence in the ECMAScript grammar with automatic semicolon insertion
  */
 
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T3.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T3.js
index 3c7e35718ed7ba7fa9f0f0c20423f392a79eeec5..ab0d0326597b030d9b54cb92f016c5c27a34ef4a 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T3.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T3.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T3.js
  * @description for( a ; b \n ) is not a valid sentence in the ECMAScript grammar
  * @negative
  */
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T4.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T4.js
index e736257376bd6df742f94b6725efaa900b275942..e4c39798a2e6c0cbe42822e1cb6ec04191c11324 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T4.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T4.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T4.js
  * @description return \n a+b is a valid sentence in the ECMAScript grammar
  *  with automatic semicolon insertion, but returned undefined
  */
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T5.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T5.js
index fa5edb8a3c296873e3c4e23d2d8de7e56dca6cd3..3ca074a17d66e3fa43628d5c09b406f02f32f6b0 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T5.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T5.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T5.js
  * @description a=b \n ++c is a valid sentence in the ECMAScript grammar
  *  with automatic semicolon insertion, but a!==b++c
  */
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T6.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T6.js
index 10bd75e9d4d1e338263193e156ed266003f3a05f..8284f932a3b20b5a406cbd2107f5844cd883f100 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T6.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T6.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T6.js
  * @description if(a>b) \n else c=d is not a valid sentence in the ECMAScript grammar
  * @negative
  */
diff --git a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T7.js b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T7.js
index 1d7d058b6c35556e3cb1f6b2752ac571626ffcbe..b2e1697bb0efeeb91948598d1169fad521fd0044 100644
--- a/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T7.js
+++ b/test/suite/ch07/7.9/7.9.2/S7.9.2_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check examples for automatic semicolon insertion from the Standart
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion/S7.9.2_A1_T7.js
+ * @path ch07/7.9/7.9.2/S7.9.2_A1_T7.js
  * @description a=b+c \n (d+e).print() is a valid sentence in the ECMAScript grammar,
  * and automatic semicolon insertion not run
  */
diff --git a/test/suite/ch07/7.9/S7.9_A1.js b/test/suite/ch07/7.9/S7.9_A1.js
index 385b69bf2b30d67172d5a8fa3ef35873da3f001b..47b1453b5e754b54c6324b13e47e4cead721fc5c 100644
--- a/test/suite/ch07/7.9/S7.9_A1.js
+++ b/test/suite/ch07/7.9/S7.9_A1.js
@@ -4,7 +4,7 @@
 /**
  * Check Continue Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A1.js
+ * @path ch07/7.9/S7.9_A1.js
  * @description Try use continue \n Label construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T1.js b/test/suite/ch07/7.9/S7.9_A10_T1.js
index b6405d60241ffecf525018fb45227ca1c1fdf8ba..6b884101eb592c1101971bcbfdf818be6225d628 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T1.js
+ * @path ch07/7.9/S7.9_A10_T1.js
  * @description Checking if execution of "1 * {}" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T10.js b/test/suite/ch07/7.9/S7.9_A10_T10.js
index e8e4d52c0cef753ae7eb5300ee6a8d4d6e9d987a..b1fff1247f27043e68d701e450c71fe6d4f509f6 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T10.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T10.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T10.js
+ * @path ch07/7.9/S7.9_A10_T10.js
  * @description Checking if execution of "{a:1 \n} 3" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T11.js b/test/suite/ch07/7.9/S7.9_A10_T11.js
index 32a61fa52a3a782205d589cf0128a25d4aba706c..0b28b5e11e6d7646ec69745bf40b5f6da1e2162f 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T11.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T11.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T11.js
+ * @path ch07/7.9/S7.9_A10_T11.js
  * @description Checking if execution of "{a:1 \n} \n 3" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T12.js b/test/suite/ch07/7.9/S7.9_A10_T12.js
index 428db4454d594901d8aa6cc300eaa79652b0a1dd..600aaa5ac47e1521b7958ddabe1ea68686150d3f 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T12.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T12.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T12.js
+ * @path ch07/7.9/S7.9_A10_T12.js
  * @description Checking if execution of "{ \n a: \n 1 \n } \n 3" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T2.js b/test/suite/ch07/7.9/S7.9_A10_T2.js
index 929e068b16eea7fa32b021818e044ffc1fa839f7..762a4a91077eacd16dcb07a4154998586c881288 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T2.js
+ * @path ch07/7.9/S7.9_A10_T2.js
  * @description Checking if execution of "{}*1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A10_T3.js b/test/suite/ch07/7.9/S7.9_A10_T3.js
index 7c8e1f8aa8ba1e09045daf029679f7f016f43f2a..9026314819d25d1d76e10f8986b7b43ba51c4f9c 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T3.js
+ * @path ch07/7.9/S7.9_A10_T3.js
  * @description Checking if execution of "({}) * 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T4.js b/test/suite/ch07/7.9/S7.9_A10_T4.js
index d3507078093842085b77d08f4778508008992297..fcd18b66570794a60ba69775ebe98a0709476fc7 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T4.js
+ * @path ch07/7.9/S7.9_A10_T4.js
  * @description Checking if execution of "({};)*1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A10_T5.js b/test/suite/ch07/7.9/S7.9_A10_T5.js
index 1741b0b9e438f137faf3de703d1c065de22406fe..47b59d8c09abfd5a4388bba218ab44480f066e33 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T5.js
+ * @path ch07/7.9/S7.9_A10_T5.js
  * @description Checking if execution of "( \n {} \n ) * 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T6.js b/test/suite/ch07/7.9/S7.9_A10_T6.js
index a20d1ca4883ea0413f2f3d1dbfb8f61b0a5361bb..e900fc8c5a9de82e85b6f25e534313523beb4ec0 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T6.js
+ * @path ch07/7.9/S7.9_A10_T6.js
  * @description Checking if execution of "{} \n * 1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A10_T7.js b/test/suite/ch07/7.9/S7.9_A10_T7.js
index 31ffa494ea9c4f3f7aa935de5deeed2b5faf03d5..7cc00a70e6d86850dcdbe7a0067f865b5120d9df 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T7.js
+ * @path ch07/7.9/S7.9_A10_T7.js
  * @description Checking if execution of "{1} 2" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A10_T8.js b/test/suite/ch07/7.9/S7.9_A10_T8.js
index 436acfca545a668869c6db3b02a465c7ecfa1a3d..08b3fe5640f63519a982d4b61921dc09e51e8979 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T8.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T8.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T8.js
+ * @path ch07/7.9/S7.9_A10_T8.js
  * @description Checking if execution of "{1 2} 3" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A10_T9.js b/test/suite/ch07/7.9/S7.9_A10_T9.js
index 89b97cdcae641e3ab6069bb5fd2baa554263b734..03daf8d9da7d24f992c360543ac97d3b38cd01ab 100644
--- a/test/suite/ch07/7.9/S7.9_A10_T9.js
+++ b/test/suite/ch07/7.9/S7.9_A10_T9.js
@@ -4,7 +4,7 @@
 /**
  * Check {} for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A10_T9.js
+ * @path ch07/7.9/S7.9_A10_T9.js
  * @description Checking if execution of "{1 \n 2} 3" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T1.js b/test/suite/ch07/7.9/S7.9_A11_T1.js
index 983bf71180b7b180d07bc357f65c7ad792c4014a..7acebb81ef29e021c6c18919b55fd1e869f2be91 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T1.js
+ * @path ch07/7.9/S7.9_A11_T1.js
  * @description Use if (false) x = 1 (without semicolon) and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T10.js b/test/suite/ch07/7.9/S7.9_A11_T10.js
index ba8b0c2ed1288afa887484025a9ae09084ddc208..d7304465b924f495f7bdc4ae1e9afdbb58e602d6 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T10.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T10.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T10.js
+ * @path ch07/7.9/S7.9_A11_T10.js
  * @description Use if (false) {x = 1} else {x=-1} and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T11.js b/test/suite/ch07/7.9/S7.9_A11_T11.js
index ea22a18813c7ae6042bb2404b0cc539bf57deb2b..008a365bbc19f715bf6647513bb41951bc1583bb 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T11.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T11.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T11.js
+ * @path ch07/7.9/S7.9_A11_T11.js
  * @description Use if (false) {{x = 1};} \n else x=-1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T2.js b/test/suite/ch07/7.9/S7.9_A11_T2.js
index b3c3c747ca5e5d085c3f9f3af2407a9787fd1101..bcb0ccd65aa1b01222e3a20616dc21d877b00dc2 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T2.js
+ * @path ch07/7.9/S7.9_A11_T2.js
  * @description Use if (false) \n x = 1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T3.js b/test/suite/ch07/7.9/S7.9_A11_T3.js
index d5c6dd80b6d2441a7ab99dc5505ec167b5a31b64..12df0b4a9627ee1b50f642eb6130531c6a254498 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T3.js
+ * @path ch07/7.9/S7.9_A11_T3.js
  * @description Use if (false);\n x = 1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T4.js b/test/suite/ch07/7.9/S7.9_A11_T4.js
index 6081cb9291e382213c8ef7507286a6d26c953d1f..d5ab788db37a52f50843201c922e7ab952fe703e 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T4.js
+ * @path ch07/7.9/S7.9_A11_T4.js
  * @description Checking if execution of "if (false) x = 1 else x = -1" fails
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A11_T5.js b/test/suite/ch07/7.9/S7.9_A11_T5.js
index 8f602970db833dd5a647f78c2b42f5a04a9689fd..22cfac9cfdaeea13121c3affb990c949a7c67b0e 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T5.js
+ * @path ch07/7.9/S7.9_A11_T5.js
  * @description Use if (false) x = 1; else x=-1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T6.js b/test/suite/ch07/7.9/S7.9_A11_T6.js
index 51daf82d4f83ee2110a0c7022766a5497dcba0de..b5555429cc13fd9fd903f0cc7b3d3a160b00959c 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T6.js
+ * @path ch07/7.9/S7.9_A11_T6.js
  * @description Use if (false) x = 1 \n else x=-1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T7.js b/test/suite/ch07/7.9/S7.9_A11_T7.js
index c390c0240399bf71ace3257c1d2a04ff55e8d89c..98fc0aea9ed3549ca064397fb2a84b08f8a2afe1 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T7.js
+ * @path ch07/7.9/S7.9_A11_T7.js
  * @description Use if (false) x = 1; \n else x=-1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A11_T8.js b/test/suite/ch07/7.9/S7.9_A11_T8.js
index be2648d802521cacc7e5b80b0933e8f58f9aa2dd..24d5881527c0849526ee91fcafff5add5a6d1da3 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T8.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T8.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T8.js
+ * @path ch07/7.9/S7.9_A11_T8.js
  * @description Use if (false) {x = 1}; \n else x=-1 and check x
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A11_T9.js b/test/suite/ch07/7.9/S7.9_A11_T9.js
index aa7e7f182d1664905bb5c945ac8fadce3516688b..f0d6878fd46d6da00a66589d226cc4488dd03c61 100644
--- a/test/suite/ch07/7.9/S7.9_A11_T9.js
+++ b/test/suite/ch07/7.9/S7.9_A11_T9.js
@@ -4,7 +4,7 @@
 /**
  * Check If Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A11_T9.js
+ * @path ch07/7.9/S7.9_A11_T9.js
  * @description Use if (false) {x = 1} \n else x=-1 and check x
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A2.js b/test/suite/ch07/7.9/S7.9_A2.js
index 8594de9714f899b498e79d8280e58049377750b2..fdc2189f9f9ab7440ae6da79a1becda69f52a714 100644
--- a/test/suite/ch07/7.9/S7.9_A2.js
+++ b/test/suite/ch07/7.9/S7.9_A2.js
@@ -4,7 +4,7 @@
 /**
  * Check Break Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A2.js
+ * @path ch07/7.9/S7.9_A2.js
  * @description Try use break \n Label construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A3.js b/test/suite/ch07/7.9/S7.9_A3.js
index a0073f8894b05878ca7d0eac3a944c0651f71628..e52b887603f5bf7e78ac06d8d6ce2f765bcc679e 100644
--- a/test/suite/ch07/7.9/S7.9_A3.js
+++ b/test/suite/ch07/7.9/S7.9_A3.js
@@ -4,7 +4,7 @@
 /**
  * Check Return Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A3.js
+ * @path ch07/7.9/S7.9_A3.js
  * @description Try use return \n Expression construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A4.js b/test/suite/ch07/7.9/S7.9_A4.js
index 15e3d940d91e87521e8779c39b1b7288f01a2a0b..d8a5ac60758dfe85f8dfa68be1ce0a3760ce8f6a 100644
--- a/test/suite/ch07/7.9/S7.9_A4.js
+++ b/test/suite/ch07/7.9/S7.9_A4.js
@@ -4,7 +4,7 @@
 /**
  * Check Throw Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A4.js
+ * @path ch07/7.9/S7.9_A4.js
  * @description Try use Throw \n Expression construction
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A5.1_T1.js b/test/suite/ch07/7.9/S7.9_A5.1_T1.js
index da415b299fc1f44cd3a81a1106f361add6db290e..b0c69d298ff8809977f8310559a98289277123d9 100644
--- a/test/suite/ch07/7.9/S7.9_A5.1_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Postfix Increment Operator for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.1_T1.js
+ * @path ch07/7.9/S7.9_A5.1_T1.js
  * @description Try use Variable \n ++ construction
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A5.2_T1.js b/test/suite/ch07/7.9/S7.9_A5.2_T1.js
index 42229169cb4e5927ea27ed5b6d9029fefaf817c8..24fcf4e7c533919bfdf3282fb9c02398f9680e07 100644
--- a/test/suite/ch07/7.9/S7.9_A5.2_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Prefix Increment Operator for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.2_T1.js
+ * @path ch07/7.9/S7.9_A5.2_T1.js
  * @description Try use Variable1 \n ++Variable2 construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.3_T1.js b/test/suite/ch07/7.9/S7.9_A5.3_T1.js
index 4c1e5d2b12e3103168845d09bc8b09639beaea35..283e73879bdab9bbcee64afd13f7e28261f5dfc1 100644
--- a/test/suite/ch07/7.9/S7.9_A5.3_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Postfix Decrement Operator for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.3_T1.js
+ * @path ch07/7.9/S7.9_A5.3_T1.js
  * @description Try use Variable \n -- construction
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A5.4_T1.js b/test/suite/ch07/7.9/S7.9_A5.4_T1.js
index 1caac33c034ae2f0853ad6e8b37211f7df0b8755..6d58c1f69b47dbfb4f9097ea6ac705b99fe1491e 100644
--- a/test/suite/ch07/7.9/S7.9_A5.4_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Prefix Decrement Operator for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.4_T1.js
+ * @path ch07/7.9/S7.9_A5.4_T1.js
  * @description Try use Variable1 \n --Variable2 construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.5_T1.js b/test/suite/ch07/7.9/S7.9_A5.5_T1.js
index 960c4fbf5e2218d69b23561bb31da1b070750d7c..872803b602f5fe9afe896e76025f5342ed4520d1 100644
--- a/test/suite/ch07/7.9/S7.9_A5.5_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Function Expression for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.5_T1.js
+ * @path ch07/7.9/S7.9_A5.5_T1.js
  * @description Try use 1 + function_name\n(2 + 3) construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.5_T2.js b/test/suite/ch07/7.9/S7.9_A5.5_T2.js
index 41c759eeac1113a3cd2b6bfb65a200015bd2fac8..be29e1dca2c6706e6796158ae2e9e2c09d7af6c9 100644
--- a/test/suite/ch07/7.9/S7.9_A5.5_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A5.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check Function Expression for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.5_T2.js
+ * @path ch07/7.9/S7.9_A5.5_T2.js
  * @description Try use function f(o) {o.x = 1; return o;}; \n (new Object()).x; construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.5_T3.js b/test/suite/ch07/7.9/S7.9_A5.5_T3.js
index 4d403938846546a64b9765cfb5f660164339cadd..e3dc89b38f8589d0bebe848a2164a5de93f188b4 100644
--- a/test/suite/ch07/7.9/S7.9_A5.5_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A5.5_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check Function Expression for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.5_T3.js
+ * @path ch07/7.9/S7.9_A5.5_T3.js
  * @description Try use function f(o) {o.x = 1; return o;} \n (new Object()).x; construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.5_T4.js b/test/suite/ch07/7.9/S7.9_A5.5_T4.js
index e1a799e2e90aed339837825b5a6a35efe6db7bd2..a005f110916d99693638540fbb88efb50152875a 100644
--- a/test/suite/ch07/7.9/S7.9_A5.5_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A5.5_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check Function Expression for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.5_T4.js
+ * @path ch07/7.9/S7.9_A5.5_T4.js
  * @description Insert some LineTerminators into function body
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.5_T5.js b/test/suite/ch07/7.9/S7.9_A5.5_T5.js
index 0271a982ac7495f81befd1906750321454dd7e69..1c1942d734c5d26eda16276c0e294bca54d02ccf 100644
--- a/test/suite/ch07/7.9/S7.9_A5.5_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A5.5_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check Function Expression for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.5_T5.js
+ * @path ch07/7.9/S7.9_A5.5_T5.js
  * @description Insert some LineTerminators into rerutn expression;
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.6_T1.js b/test/suite/ch07/7.9/S7.9_A5.6_T1.js
index 53c6fec49f8689c1dacb98ea3b3d9205a4e81603..3381c5187fc4990960a4737b7dceeafb8206129a 100644
--- a/test/suite/ch07/7.9/S7.9_A5.6_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.6_T1.js
@@ -5,7 +5,7 @@
  * Since LineTerminator between Postfix Increment/Decrement Operator(I/DO) and operand is not allowed but
  * between Prefix I/DO and operand admitted, Postfix I/DO in combination with prefix I/DO after automatic semicolon insertion gives valid result
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.6_T1.js
+ * @path ch07/7.9/S7.9_A5.6_T1.js
  * @description Try use Variable1 \n ++ \n Variable2 construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.6_T2.js b/test/suite/ch07/7.9/S7.9_A5.6_T2.js
index a5fec023c259f1b32ba885f00b3c845df4ee3fb3..6861e96e54678b4a30a7d25f09e07dd760cf122d 100644
--- a/test/suite/ch07/7.9/S7.9_A5.6_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A5.6_T2.js
@@ -5,7 +5,7 @@
  * Since LineTerminator between Postfix Increment/Decrement Operator(I/DO) and operand is not allowed but
  * between Prefix I/DO and operand admitted, Postfix I/DO in combination with prefix I/DO after automatic semicolon insertion gives valid result
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.6_T2.js
+ * @path ch07/7.9/S7.9_A5.6_T2.js
  * @description Try use Variable1 \n -- \n Variable2 construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.7_T1.js b/test/suite/ch07/7.9/S7.9_A5.7_T1.js
index cc9b2567861730e17d625e67f5944484cedb7770..696ba3c323a6a251d35879eed54b10139b01a2ce 100644
--- a/test/suite/ch07/7.9/S7.9_A5.7_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.7_T1.js
@@ -5,7 +5,7 @@
  * Since LineTerminator(LT) between Postfix Increment/Decrement Operator(I/DO) and operand is not allowed, two IO(just as two DO and their combination)
  * between two references separated by [LT] after automatic semicolon insertion lead to syntax error
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.7_T1.js
+ * @path ch07/7.9/S7.9_A5.7_T1.js
  * @description Try use Variable1 \n ++ \n ++ \n Variable2 construction
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A5.8_T1.js b/test/suite/ch07/7.9/S7.9_A5.8_T1.js
index 005e2b30a6b8758dcefb90ac57c17c509a7d0476..9f3b7a75d1846c390266dcdd1eb8427b438a2176 100644
--- a/test/suite/ch07/7.9/S7.9_A5.8_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.8_T1.js
@@ -5,7 +5,7 @@
  * Since LineTerminator(LT) between Postfix Increment/Decrement Operator(I/DO) and operand is admitted,
  * Additive/Substract Operator(A/SO) in combination with I/DO separated by LT or white spaces after automatic semicolon insertion gives valid result
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.8_T1.js
+ * @path ch07/7.9/S7.9_A5.8_T1.js
  * @description Try use Variable1 \n + \n ++ \n Variable2 construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A5.9_T1.js b/test/suite/ch07/7.9/S7.9_A5.9_T1.js
index 392e819f4e2c67b063e55b0ad76be530d542ee58..98f47ab9ad6ac660cfbfa4d49ea7d3f31e8519bb 100644
--- a/test/suite/ch07/7.9/S7.9_A5.9_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A5.9_T1.js
@@ -5,7 +5,7 @@
  * Additive/Substract Operator(A/SO) in combination with itself separated by LT or white spaces
  * after automatic semicolon insertion gives valid result
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A5.9_T1.js
+ * @path ch07/7.9/S7.9_A5.9_T1.js
  * @description Try use Variable1 (different combinations of three +) Variable2 construction
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T1.js b/test/suite/ch07/7.9/S7.9_A6.1_T1.js
index 09534bad47a2067e461ceaabbdb4e0b617275120..65bc949851026c710c47355193023d500707e216 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T1.js
+ * @path ch07/7.9/S7.9_A6.1_T1.js
  * @description for( Empty two semicolons and \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T10.js b/test/suite/ch07/7.9/S7.9_A6.1_T10.js
index d3721b5d19c8f737c37d88ac55dac14f944df467..973ac4fe9a2fe62bc0f414698628d1ddb7f2b1c6 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T10.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T10.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T10.js
+ * @path ch07/7.9/S7.9_A6.1_T10.js
  * @description for (false \n two semicolons false \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T11.js b/test/suite/ch07/7.9/S7.9_A6.1_T11.js
index 5605f098e01d439a60279a2213993ed3b8ddf5bb..27da10fff05b93e539f2f70c92c98c480f54a5cb 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T11.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T11.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T11.js
+ * @path ch07/7.9/S7.9_A6.1_T11.js
  * @description for (false \n semicolon \n semicolon \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T12.js b/test/suite/ch07/7.9/S7.9_A6.1_T12.js
index dfdb0250bbe392c549d178188c87dab06837131a..b787911945350b3a984eed64878195184722ac9f 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T12.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T12.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T12.js
+ * @path ch07/7.9/S7.9_A6.1_T12.js
  * @description for (false \n semicolon false \n semicolon \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T13.js b/test/suite/ch07/7.9/S7.9_A6.1_T13.js
index 8bfce9f0254a3d575d732e9d9efed63b01c18013..1762f3182fd68c5e45436e74751c4c747ea4480c 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T13.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T13.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T13.js
+ * @path ch07/7.9/S7.9_A6.1_T13.js
  * @description for (false \n semicolon false \n semicolon false \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T2.js b/test/suite/ch07/7.9/S7.9_A6.1_T2.js
index 469ee9e5a93d923a360f90db207390157dfff2d2..ef2ac4e468ad37345b2477d414dbf174a19ff742 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T2.js
+ * @path ch07/7.9/S7.9_A6.1_T2.js
  * @description for (semicolon \n semicolon \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T3.js b/test/suite/ch07/7.9/S7.9_A6.1_T3.js
index 28195d425628f2abff1d1b6a549a2fe2a8453cba..71ee0b4d548227b247b7e7d3e490ed41023a0834 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T3.js
+ * @path ch07/7.9/S7.9_A6.1_T3.js
  * @description for (\n two semicolons \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T4.js b/test/suite/ch07/7.9/S7.9_A6.1_T4.js
index 747152e37cb1db7cb844ecae44042824e227ea54..8055a790add0ec8cd0230d09e728f4e36ef1d830 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T4.js
+ * @path ch07/7.9/S7.9_A6.1_T4.js
  * @description for( \n semicolon \n semicolon \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T5.js b/test/suite/ch07/7.9/S7.9_A6.1_T5.js
index 4ec824f5eb2d29d9500edfae387adfdd2c4aa4bd..ce5e585dc511fdc40b9225836bacc02d75b82d5c 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T5.js
+ * @path ch07/7.9/S7.9_A6.1_T5.js
  * @description for ( \n semicolon \n\n semicolon \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T6.js b/test/suite/ch07/7.9/S7.9_A6.1_T6.js
index 682c0f4263d956aec2552ef584b76e96cc76ae31..578b88fbe66e64711dcf7106b00d41e1d56aea2a 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T6.js
+ * @path ch07/7.9/S7.9_A6.1_T6.js
  * @description for(false semicolon false semicolon false \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T7.js b/test/suite/ch07/7.9/S7.9_A6.1_T7.js
index a98299730e11fcaaab3ca6f8ce27dc95cbad1c56..ce53a6f9ec30ccd14cfe1fc98ae55672a2a61824 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T7.js
+ * @path ch07/7.9/S7.9_A6.1_T7.js
  * @description for (false semicolon false \n semicolon \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T8.js b/test/suite/ch07/7.9/S7.9_A6.1_T8.js
index 81925bf1e6eb7c7c989404697b73aaa9a52123dc..fca8ddc80094fecb98c19da44011ca5b238edd10 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T8.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T8.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T8.js
+ * @path ch07/7.9/S7.9_A6.1_T8.js
  * @description for (false semicolon false \n semicolon false \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.1_T9.js b/test/suite/ch07/7.9/S7.9_A6.1_T9.js
index 2f3247c9a8ce86157d633c1804a5acb675a4b4f3..977b90b9e7faed7eb58225080a082d71920514d7 100644
--- a/test/suite/ch07/7.9/S7.9_A6.1_T9.js
+++ b/test/suite/ch07/7.9/S7.9_A6.1_T9.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.1_T9.js
+ * @path ch07/7.9/S7.9_A6.1_T9.js
  * @description for (false \n two semicolons \n)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T1.js b/test/suite/ch07/7.9/S7.9_A6.2_T1.js
index e5a948a9a7dbe9b55dc2866647a78e232e76f0c1..e3461b9077c4064d7f10b2c13a490afe74cfad5b 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T1.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T1.js
+ * @path ch07/7.9/S7.9_A6.2_T1.js
  * @description For header is (semicolon \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T10.js b/test/suite/ch07/7.9/S7.9_A6.2_T10.js
index aff80bc5c62503c4a8aa0a5f0a99316843a0426b..1e65032ca62820ef1eaf5936a6d4ba814f4bc4be 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T10.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T10.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T10.js
+ * @path ch07/7.9/S7.9_A6.2_T10.js
  * @description For header is (\n false \n semicolon)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T2.js b/test/suite/ch07/7.9/S7.9_A6.2_T2.js
index 3c2a6c1397793e7a0a717478868cc59573239edb..bbe5fb83c2854369553ee328bd5bbf2980c73b8f 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T2.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T2.js
+ * @path ch07/7.9/S7.9_A6.2_T2.js
  * @description For header is (\n semicolon \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T3.js b/test/suite/ch07/7.9/S7.9_A6.2_T3.js
index 6e5c720b1407583886b422d4b6da36827d475655..0dfd551257b7a3edbdda3f9bb198b9f178d105e9 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T3.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T3.js
+ * @path ch07/7.9/S7.9_A6.2_T3.js
  * @description For header is (\n semicolon)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T4.js b/test/suite/ch07/7.9/S7.9_A6.2_T4.js
index 0b9d07c523240cac21f598faff58d915f1dc7405..d6427897233c8cfc77457c2c3861241a54ec4a10 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T4.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T4.js
+ * @path ch07/7.9/S7.9_A6.2_T4.js
  * @description For header is (\n \n semicolon)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T5.js b/test/suite/ch07/7.9/S7.9_A6.2_T5.js
index e2b94c7c2e46b7276fd090a4d184598cb8f82aa5..de9ed973b64bfa61fcca21777f24fea08f5ae842 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T5.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T5.js
+ * @path ch07/7.9/S7.9_A6.2_T5.js
  * @description For header is (false semicolon false\n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T6.js b/test/suite/ch07/7.9/S7.9_A6.2_T6.js
index 7bbf6755a974d24acb93b36a7078fb4103c38868..1efe468d2db93d3405b522ec7980abe09181f3d2 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T6.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T6.js
+ * @path ch07/7.9/S7.9_A6.2_T6.js
  * @description For header is (false semicolon \n false)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T7.js b/test/suite/ch07/7.9/S7.9_A6.2_T7.js
index 608fa9ed89bcb9af3b13ee5636cb7b380192c479..5050697acdfe8789b68fe01e2e7c13712ca2fb34 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T7.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T7.js
+ * @path ch07/7.9/S7.9_A6.2_T7.js
  * @description For header is (false \n semicolon \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T8.js b/test/suite/ch07/7.9/S7.9_A6.2_T8.js
index 6e4b23e4da8f7a1969e66a87c694665bcfda3f0a..526809c86716f9b48a61ac6844a4c96be7730d47 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T8.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T8.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T8.js
+ * @path ch07/7.9/S7.9_A6.2_T8.js
  * @description For header is (false \n semicolon false \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.2_T9.js b/test/suite/ch07/7.9/S7.9_A6.2_T9.js
index 21a542311cf337be338dbb94e519429c12b9212b..21e635ad0cfeea2eb3aa40e9b1ab07c003d341f7 100644
--- a/test/suite/ch07/7.9/S7.9_A6.2_T9.js
+++ b/test/suite/ch07/7.9/S7.9_A6.2_T9.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Use one semicolon
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.2_T9.js
+ * @path ch07/7.9/S7.9_A6.2_T9.js
  * @description For header is (\n semicolon false)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T1.js b/test/suite/ch07/7.9/S7.9_A6.3_T1.js
index deca881348edea812e961a0077d8c6345d02717e..4089c29ef9de21d19516684239fa2bfcfa7a4d19 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T1.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T1.js
+ * @path ch07/7.9/S7.9_A6.3_T1.js
  * @description For header is (\n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T2.js b/test/suite/ch07/7.9/S7.9_A6.3_T2.js
index bb02639084e92677638adba9edc8accda45dc452..6b54313e2af612c64be24a2b9198d1382bb30365 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T2.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T2.js
+ * @path ch07/7.9/S7.9_A6.3_T2.js
  * @description For header is (\n \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T3.js b/test/suite/ch07/7.9/S7.9_A6.3_T3.js
index b3356788025af4306b613cf5958bc9919d4f8e49..ee52d6181e09279c3bad2cdc66c1b194ae134b06 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T3.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T3.js
+ * @path ch07/7.9/S7.9_A6.3_T3.js
  * @description For header is (\n \n \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T4.js b/test/suite/ch07/7.9/S7.9_A6.3_T4.js
index 2ae005ab66100bb96a713ed895690bf5f86bdea6..41b80740ad747b659c54f26d8dd96c143c420ce7 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T4.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T4.js
+ * @path ch07/7.9/S7.9_A6.3_T4.js
  * @description For header is (\n false \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T5.js b/test/suite/ch07/7.9/S7.9_A6.3_T5.js
index e43685be49bb94076a8dfc89551c45dae96bcbdf..2377faaa5da66d4a050337a2bc99db70ffcb9ed5 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T5.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T5.js
+ * @path ch07/7.9/S7.9_A6.3_T5.js
  * @description For header is (false \n false \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T6.js b/test/suite/ch07/7.9/S7.9_A6.3_T6.js
index 1fc84218c208f012ac8f5e81c526858687fc29b5..b400c9de3d50fce3112e3c2b8a0b9945759210fa 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T6.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T6.js
+ * @path ch07/7.9/S7.9_A6.3_T6.js
  * @description For header is (\n false \n false \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.3_T7.js b/test/suite/ch07/7.9/S7.9_A6.3_T7.js
index 4b8c9b62a03261a8f2d84b9239abb104768e04f7..ec63c02bce89640c6d237f2f68ba0ffd4f2abdb7 100644
--- a/test/suite/ch07/7.9/S7.9_A6.3_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A6.3_T7.js
@@ -6,7 +6,7 @@
  * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement.
  * Don`t use semicolons
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.3_T7.js
+ * @path ch07/7.9/S7.9_A6.3_T7.js
  * @description For header is (\n false \n false \n false \n)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.4_T1.js b/test/suite/ch07/7.9/S7.9_A6.4_T1.js
index 38b5269368554038f7a425a0357adcb347a58a1a..44169a23f99332685dbb4267c4ae6a4f1b00bb76 100644
--- a/test/suite/ch07/7.9/S7.9_A6.4_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A6.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.4_T1.js
+ * @path ch07/7.9/S7.9_A6.4_T1.js
  * @description Three semicolons. For header is (false semicolon false semicolon false semicolon)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A6.4_T2.js b/test/suite/ch07/7.9/S7.9_A6.4_T2.js
index dbefab620c46b1e14e1df36d1ca7e0a54e1d2692..f930cf830e8779e1356f391638c915c29a954f5e 100644
--- a/test/suite/ch07/7.9/S7.9_A6.4_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A6.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check For Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A6.4_T2.js
+ * @path ch07/7.9/S7.9_A6.4_T2.js
  * @description Three semicolons. For header is (false semicolon false two semicolons false)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A7_T1.js b/test/suite/ch07/7.9/S7.9_A7_T1.js
index 7c973d65c4c5cc95eb1d2b4fb094bb22ec21cbce..ac730d59f4bc7335105682a97c019dc6e5b881f9 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T1.js
+ * @path ch07/7.9/S7.9_A7_T1.js
  * @description Checking if execution of "var x \n = 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T2.js b/test/suite/ch07/7.9/S7.9_A7_T2.js
index f14cc4f20575a1f67180197bdadeaf40f9f6b599..91900bb1f66679486c9374d0abe3f05e70f5d5ac 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T2.js
+ * @path ch07/7.9/S7.9_A7_T2.js
  * @description Checking if execution of "var x = \n 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T3.js b/test/suite/ch07/7.9/S7.9_A7_T3.js
index 0c4b24f480352becc25ed1508b29750c9e6303f4..bddc5e4d14836e80881872fe840328cb8ff9bbf9 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T3.js
+ * @path ch07/7.9/S7.9_A7_T3.js
  * @description Checking if execution of "var x \n x = 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T4.js b/test/suite/ch07/7.9/S7.9_A7_T4.js
index 9dc4fc03c8ffee5de2f194341f651a14dfea369a..46f17a47791544b6ee7cbe09634deeb931154167 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T4.js
+ * @path ch07/7.9/S7.9_A7_T4.js
  * @description Checking if execution of "var \n x" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T5.js b/test/suite/ch07/7.9/S7.9_A7_T5.js
index a682b36b3a389b4fb646ba0384b3b585b3169711..d1e1be650d5b0647ebb78a0782df99ff0c267523 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T5.js
+ * @path ch07/7.9/S7.9_A7_T5.js
  * @description Checking if execution of "var \n x \n = \n 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T6.js b/test/suite/ch07/7.9/S7.9_A7_T6.js
index e8d8e747dd577f6a5e8637d071923c71511799d4..df7911717452b0e3222c1475fff873abe59a164e 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T6.js
+ * @path ch07/7.9/S7.9_A7_T6.js
  * @description Checking if execution of "var x, \n y" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T7.js b/test/suite/ch07/7.9/S7.9_A7_T7.js
index ad639d1a325b65a8d65528978cd65629c4192e76..9beb8822c0ba026a72c4e6dffa969888855e03ee 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T7.js
+ * @path ch07/7.9/S7.9_A7_T7.js
  * @description Checking if execution of "var x \n y" passes
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A7_T8.js b/test/suite/ch07/7.9/S7.9_A7_T8.js
index 78071a48c46d336307507c1273fac9c98413376c..9b9057ad90f4e7cb1d1895408ab8f13725275b08 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T8.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T8.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T8.js
+ * @path ch07/7.9/S7.9_A7_T8.js
  * @description Checking if execution of "var x \n ,y" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A7_T9.js b/test/suite/ch07/7.9/S7.9_A7_T9.js
index 749366e9c55f80e2dfd63891f949fc86049181f3..826ce4651be5595d26c5cb8bf2c49831cb41ae8b 100644
--- a/test/suite/ch07/7.9/S7.9_A7_T9.js
+++ b/test/suite/ch07/7.9/S7.9_A7_T9.js
@@ -4,7 +4,7 @@
 /**
  * Check Var Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A7_T9.js
+ * @path ch07/7.9/S7.9_A7_T9.js
  * @description Checking if execution of "var x \n ,y = 1" passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A8_T1.js b/test/suite/ch07/7.9/S7.9_A8_T1.js
index 308ae4d2c08a7a7f7fcb638d7c5116bcb288e8ca..d708cb3f603160506f89733895dc72d0a488b8cd 100644
--- a/test/suite/ch07/7.9/S7.9_A8_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Empty Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A8_T1.js
+ * @path ch07/7.9/S7.9_A8_T1.js
  * @description Checking if execution of one semicolon passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A8_T2.js b/test/suite/ch07/7.9/S7.9_A8_T2.js
index deabfaa0b1475284bc778179a10a7f6f79a8c883..8cf2691f807fa46a26c21374ae8b72be03c11baf 100644
--- a/test/suite/ch07/7.9/S7.9_A8_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check Empty Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A8_T2.js
+ * @path ch07/7.9/S7.9_A8_T2.js
  * @description Checking if execution of some semicolons with LineTerminators pases
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A8_T3.js b/test/suite/ch07/7.9/S7.9_A8_T3.js
index dafd89d2f69b56422f23b07e2c89d6c6ea3dd5d4..4a91d79f283991082899a0992a28001dd3f9bf3d 100644
--- a/test/suite/ch07/7.9/S7.9_A8_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check Empty Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A8_T3.js
+ * @path ch07/7.9/S7.9_A8_T3.js
  * @description Checking if execution of some semicolons without LineTerminators passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A8_T4.js b/test/suite/ch07/7.9/S7.9_A8_T4.js
index d1422e9200fb698a615af4e2d1fe09f36b515bc5..6017d8221a9c8e48eb6cfff263ad8bde56651875 100644
--- a/test/suite/ch07/7.9/S7.9_A8_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A8_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check Empty Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A8_T4.js
+ * @path ch07/7.9/S7.9_A8_T4.js
  * @description Checking if execution of some semicolons with LineTerminators and numbers passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A8_T5.js b/test/suite/ch07/7.9/S7.9_A8_T5.js
index c8ff2d0e3685d2f9d9fa32c95712b44648c62e05..339d7e24d06a6c4170e9392db1141f07c0533084 100644
--- a/test/suite/ch07/7.9/S7.9_A8_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A8_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check Empty Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A8_T5.js
+ * @path ch07/7.9/S7.9_A8_T5.js
  * @description Checking if execution of some semicolons without LineTerminators but with numbers passes
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A9_T1.js b/test/suite/ch07/7.9/S7.9_A9_T1.js
index 07a4f3f88ccda50a142fe95b482487e6da1a3756..0ee175bc3fae43f20c84b52acdb79b415fa1bd73 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T1.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T1.js
+ * @path ch07/7.9/S7.9_A9_T1.js
  * @description Execute do { \n }while(false)
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A9_T2.js b/test/suite/ch07/7.9/S7.9_A9_T2.js
index 17914f749b05727d6ece9580e6f07beedbc8c2ff..3417ff15d6d8124cf460174d0b18a62a56381d89 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T2.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T2.js
+ * @path ch07/7.9/S7.9_A9_T2.js
  * @description Execute do; while(false) \n true
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A9_T3.js b/test/suite/ch07/7.9/S7.9_A9_T3.js
index 9debbea9455154f229bc7f86d3991373358f2dd9..509cd88b483acc2625991f42b6d63114c59d4656 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T3.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T3.js
+ * @path ch07/7.9/S7.9_A9_T3.js
  * @description Execute do { \n ; \n }while(false) true
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A9_T4.js b/test/suite/ch07/7.9/S7.9_A9_T4.js
index dde0733dc6d64327f36c04f85505fb1ed332921b..3992e7e39e8ecc7f33876774db6ec8354e3b1dae 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T4.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T4.js
+ * @path ch07/7.9/S7.9_A9_T4.js
  * @description Execute do ; while \n (false) true
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A9_T5.js b/test/suite/ch07/7.9/S7.9_A9_T5.js
index 7b0c585e1d5fc65aeee78e2b24ba90043dadc4f1..0e0be2ee955215bf41c0c83bb2ab2a8d1df633a5 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T5.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T5.js
+ * @path ch07/7.9/S7.9_A9_T5.js
  * @description Execute do { \n ; \n }while((false) \n )
  */
 
diff --git a/test/suite/ch07/7.9/S7.9_A9_T6.js b/test/suite/ch07/7.9/S7.9_A9_T6.js
index ffdf5ff401405c2ac77e24726ae83acee90a4209..dfff034d797d15b99aaccb92c04d8baaedbf059d 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T6.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T6.js
+ * @path ch07/7.9/S7.9_A9_T6.js
  * @description Execute do \n while(false)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A9_T7.js b/test/suite/ch07/7.9/S7.9_A9_T7.js
index 33409d6d37643e0e70b3a7c1303dcebaa58d0eec..853144bc2c3e68be2504824dd207b19e39a7e497 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T7.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T7.js
+ * @path ch07/7.9/S7.9_A9_T7.js
  * @description Execute do \n\n while(false)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A9_T8.js b/test/suite/ch07/7.9/S7.9_A9_T8.js
index 325954131534969dfdab13b33b46770c6693d01f..398a75efc8453f551307d27d67c7683f51944309 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T8.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T8.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T8.js
+ * @path ch07/7.9/S7.9_A9_T8.js
  * @description Execute do {}; \n while(false)
  * @negative
  */
diff --git a/test/suite/ch07/7.9/S7.9_A9_T9.js b/test/suite/ch07/7.9/S7.9_A9_T9.js
index ace7ba0afdb2e74cd577705e5ec565c384e3e4d0..cc5948759de8da51ec2da093a40bc597f458a4af 100644
--- a/test/suite/ch07/7.9/S7.9_A9_T9.js
+++ b/test/suite/ch07/7.9/S7.9_A9_T9.js
@@ -4,7 +4,7 @@
 /**
  * Check Do-While Statement for automatic semicolon insertion
  *
- * @path 07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/S7.9_A9_T9.js
+ * @path ch07/7.9/S7.9_A9_T9.js
  * @description Execute do {} \n while(false)
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A1_T1.js b/test/suite/ch08/8.1/S8.1_A1_T1.js
index 2d4fb379e3a0e266e9a3c327f2924117aabbf216..cadea188de6d75ccf91a20f016724efc1e944a0a 100644
--- a/test/suite/ch08/8.1/S8.1_A1_T1.js
+++ b/test/suite/ch08/8.1/S8.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Undefined type has one value, called undefined
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A1_T1.js
+ * @path ch08/8.1/S8.1_A1_T1.js
  * @description Checking if execution of "var x = undefined" passes
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A1_T2.js b/test/suite/ch08/8.1/S8.1_A1_T2.js
index 9a9b9e562ec981b035cf2602937a3f421bfadde1..eeea0b7da7b494dc6885cd7603d01d25fb4d4922 100644
--- a/test/suite/ch08/8.1/S8.1_A1_T2.js
+++ b/test/suite/ch08/8.1/S8.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Undefined type has one value, called undefined
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A1_T2.js
+ * @path ch08/8.1/S8.1_A1_T2.js
  * @description Check typeof(undefined) and typeof(void 0)
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A2_T1.js b/test/suite/ch08/8.1/S8.1_A2_T1.js
index d3823b0f493d7a6f7f6f695eaa95cc5ab36a89b1..5fd35b2dcebd8022b3ce5d955ca05081150ac810 100644
--- a/test/suite/ch08/8.1/S8.1_A2_T1.js
+++ b/test/suite/ch08/8.1/S8.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Any variable that has not been assigned a value has the value undefined
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A2_T1.js
+ * @path ch08/8.1/S8.1_A2_T1.js
  * @description Check that var x have value and type undefined
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A2_T2.js b/test/suite/ch08/8.1/S8.1_A2_T2.js
index b7da7bf92228e44a96ef98d0de1f9718a0649550..1c03d668f41cf5b5405de4a657d7cb7c8448d33f 100644
--- a/test/suite/ch08/8.1/S8.1_A2_T2.js
+++ b/test/suite/ch08/8.1/S8.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Any variable that has not been assigned a value has the value undefined
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A2_T2.js
+ * @path ch08/8.1/S8.1_A2_T2.js
  * @description Function return undefined
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A3.js b/test/suite/ch08/8.1/S8.1_A3.js
index bf6b1fca30cfacdcaacf0fe3e939c39cc2c30289..2d6fe44c7c575639ae773aa24ced2278bdca9bd0 100644
--- a/test/suite/ch08/8.1/S8.1_A3.js
+++ b/test/suite/ch08/8.1/S8.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * undefined is now non-writable in es5
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A3.js
+ * @path ch08/8.1/S8.1_A3.js
  * @description "undefined=1" should throw a TypeError
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A4.js b/test/suite/ch08/8.1/S8.1_A4.js
index 87f7b2d020599eed77030242e3ccbd72fb2a88ee..9d8a256d04abb197116bbd5839aefd58c1c7ad99 100644
--- a/test/suite/ch08/8.1/S8.1_A4.js
+++ b/test/suite/ch08/8.1/S8.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * If property of object not exist, return undefined
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A4.js
+ * @path ch08/8.1/S8.1_A4.js
  * @description Check value of not existed property
  */
 
diff --git a/test/suite/ch08/8.1/S8.1_A5.js b/test/suite/ch08/8.1/S8.1_A5.js
index 1272019e5fc36d4454cb7ce2fff611d16e5e97b3..89539ea89d4cad5ed236fb853a927a0765f43536 100644
--- a/test/suite/ch08/8.1/S8.1_A5.js
+++ b/test/suite/ch08/8.1/S8.1_A5.js
@@ -4,7 +4,7 @@
 /**
  * Function argument that isn't provided has a value of undefined
  *
- * @path 08_Types/8.1_The_Undefined_Type/S8.1_A5.js
+ * @path ch08/8.1/S8.1_A5.js
  * @description Call function without provided argument
  */
 
diff --git a/test/suite/ch08/8.12/8.12.3/S8.12.3_A1.js b/test/suite/ch08/8.12/8.12.3/S8.12.3_A1.js
index 7dff3ce8d093afb729e71f88175c98b28ca01e96..4bf7b45904860a6b5612489e17e5ca0e2c735079 100644
--- a/test/suite/ch08/8.12/8.12.3/S8.12.3_A1.js
+++ b/test/suite/ch08/8.12/8.12.3/S8.12.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]](P) method should return value when property P does not exist in instance but prototype contain it
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.1_A1.js
+ * @path ch08/8.12/8.12.3/S8.12.3_A1.js
  * @description Try to get P when property P does not exist in instance but prototype contain it
  */
 
diff --git a/test/suite/ch08/8.12/8.12.3/S8.12.3_A2.js b/test/suite/ch08/8.12/8.12.3/S8.12.3_A2.js
index 8877d48470d90894dab63f7a9e1035add6e2825b..8f261da8e620a35ae9337381acbd3adb5b1dc85f 100644
--- a/test/suite/ch08/8.12/8.12.3/S8.12.3_A2.js
+++ b/test/suite/ch08/8.12/8.12.3/S8.12.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]](P) method should return undefined when property P does not exist both in instance and prototype
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.1_A2.js
+ * @path ch08/8.12/8.12.3/S8.12.3_A2.js
  * @description Try to get P when property P does not exist both in instance and prototype
  */
 
diff --git a/test/suite/ch08/8.12/8.12.3/S8.12.3_A3.js b/test/suite/ch08/8.12/8.12.3/S8.12.3_A3.js
index 0e400bfe03733ebde6b0d0c2794ba96ba388cd16..dbe1250ad75d5569dfdc250ccbbd43ab1161ce39 100644
--- a/test/suite/ch08/8.12/8.12.3/S8.12.3_A3.js
+++ b/test/suite/ch08/8.12/8.12.3/S8.12.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * When the [[Get]] method of O is called with property name P value of P returns
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.1_A3.js
+ * @path ch08/8.12/8.12.3/S8.12.3_A3.js
  * @description Try to get P property P exist in instance
  */
 
diff --git a/test/suite/ch08/8.12/8.12.4/S8.12.4_A1.js b/test/suite/ch08/8.12/8.12.4/S8.12.4_A1.js
index 7de0ce8edef81c06eb5993edc4c9c15be819e179..cbe11f0f7abb1ec5cd304fa59414c8fe2214dc82 100644
--- a/test/suite/ch08/8.12/8.12.4/S8.12.4_A1.js
+++ b/test/suite/ch08/8.12/8.12.4/S8.12.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * If the property has the ReadOnly attribute, [[CanPut]](P) return false
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.3_A1.js
+ * @path ch08/8.12/8.12.4/S8.12.4_A1.js
  * @description Try put other value for Math.E property
  * @noStrict
  */
diff --git a/test/suite/ch08/8.12/8.12.5/S8.12.5_A1.js b/test/suite/ch08/8.12/8.12.5/S8.12.5_A1.js
index bf80189a98819d4a1153ad58140fc34beb0d6eaa..e6f4bba208cbb5dc6830524ee17c265a18291ccf 100644
--- a/test/suite/ch08/8.12/8.12.5/S8.12.5_A1.js
+++ b/test/suite/ch08/8.12/8.12.5/S8.12.5_A1.js
@@ -6,7 +6,7 @@
  * and If O doesn't have a property with name P, then
  * creates a property with name P, set its value to V and give it empty attributes
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.2_A1.js
+ * @path ch08/8.12/8.12.5/S8.12.5_A1.js
  * @description Put to not existent properties
  */
 
diff --git a/test/suite/ch08/8.12/8.12.5/S8.12.5_A2.js b/test/suite/ch08/8.12/8.12.5/S8.12.5_A2.js
index 48bdbe6cf33f0058a8df0b9b5a7921ba5ec39212..02f67e0b876db5b51606ae622cbae59cfebd5f0a 100644
--- a/test/suite/ch08/8.12/8.12.5/S8.12.5_A2.js
+++ b/test/suite/ch08/8.12/8.12.5/S8.12.5_A2.js
@@ -5,7 +5,7 @@
  * When the [[Put]] method of O is called with property P and value V,
  * then set the value of the property to V. The attributes of the property are not changed
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.2_A2.js
+ * @path ch08/8.12/8.12.5/S8.12.5_A2.js
  * @description Put to existent properties
  */
 
diff --git a/test/suite/ch08/8.12/8.12.6/S8.12.6_A1.js b/test/suite/ch08/8.12/8.12.6/S8.12.6_A1.js
index d9bd7a74f17474ecfb0b3620c6ac9f1dcc00e280..20a2676f73b870c5ba6e705cdaeb5f20af42ea05 100644
--- a/test/suite/ch08/8.12/8.12.6/S8.12.6_A1.js
+++ b/test/suite/ch08/8.12/8.12.6/S8.12.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * When the [[HasProperty]] method of O is called with property name P and if O has a property with name P, return true
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.4_A1.js
+ * @path ch08/8.12/8.12.6/S8.12.6_A1.js
  * @description Try find existent property of any Object
  */
 
diff --git a/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T1.js b/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T1.js
index 1db06f808d5a8ba615830de37b759085dd1e8ec9..4a2eac8a344a1850cf1f84d0060e10682e69e94c 100644
--- a/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T1.js
+++ b/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T1.js
@@ -5,7 +5,7 @@
  * When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P
  * then If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.4_A2_T1.js
+ * @path ch08/8.12/8.12.6/S8.12.6_A2_T1.js
  * @description Try find not existent property of any Object
  */
 
diff --git a/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T2.js b/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T2.js
index 2ec70978b98b618f5af83a9cc7c2baa20fa5206d..536b8ceb4862e6c53b6a9d15565f54815236ccba 100644
--- a/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T2.js
+++ b/test/suite/ch08/8.12/8.12.6/S8.12.6_A2_T2.js
@@ -5,7 +5,7 @@
  * When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P
  * then If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.4_A2_T2.js
+ * @path ch08/8.12/8.12.6/S8.12.6_A2_T2.js
  * @description Try find not existent property of any Object, but existent property of this Object prototype
  */
 
diff --git a/test/suite/ch08/8.12/8.12.6/S8.12.6_A3.js b/test/suite/ch08/8.12/8.12.6/S8.12.6_A3.js
index bb1f325ad03850419c82b8f6be43d119ced610dc..c2c34fa2cc77de089ec59644fbb3c341eb7ab60a 100644
--- a/test/suite/ch08/8.12/8.12.6/S8.12.6_A3.js
+++ b/test/suite/ch08/8.12/8.12.6/S8.12.6_A3.js
@@ -4,7 +4,7 @@
 /**
  * [[hasProperty]] is sensitive to property existence but [[Get]] is not
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.4_A3.js
+ * @path ch08/8.12/8.12.6/S8.12.6_A3.js
  * @description Use [[hasProperty]] and [[Get]] for existent and not existent properties
  */
 
diff --git a/test/suite/ch08/8.12/8.12.7/S8.12.7_A1.js b/test/suite/ch08/8.12/8.12.7/S8.12.7_A1.js
index e1280e8ea5a389a0ece4ee962b47bb04d81ab80d..b6944fd48e4d6f76eba8099fc8ab73b9811b4920 100644
--- a/test/suite/ch08/8.12/8.12.7/S8.12.7_A1.js
+++ b/test/suite/ch08/8.12/8.12.7/S8.12.7_A1.js
@@ -5,7 +5,7 @@
  * When the [[Delete]] method of O is called with property name P,
  * and If the property has the DontDelete attribute, return false
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A1.js
+ * @path ch08/8.12/8.12.7/S8.12.7_A1.js
  * @description Try to delete Math.E, that has the DontDelete attribute
  * @noStrict
  */
diff --git a/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T1.js b/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T1.js
index 1b3c7d6c39fadd5cf2d629cdbb6bfbbd33759c39..6c416b525de5c8898957a205e012fff97904e032 100644
--- a/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T1.js
+++ b/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T1.js
@@ -5,7 +5,7 @@
  * When the [[Delete]] method of O is called with property name P,
  * and if O doesn't have a property with name P, return true
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A2_T1.js
+ * @path ch08/8.12/8.12.7/S8.12.7_A2_T1.js
  * @description Try to delete not existent properties
  */
 
diff --git a/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T2.js b/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T2.js
index d79f601ca0e4e9b27be1a543d195840ddaf16ef4..e3182463ab58cd45effb67109429aa64c9ec525f 100644
--- a/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T2.js
+++ b/test/suite/ch08/8.12/8.12.7/S8.12.7_A2_T2.js
@@ -5,7 +5,7 @@
  * When the [[Delete]] method of O is called with property name P,
  * and if O doesn't have a property with name P, return true
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A2_T2.js
+ * @path ch08/8.12/8.12.7/S8.12.7_A2_T2.js
  * @description Try to delete not existent properties of O, but existent property of prototype
  */
 
diff --git a/test/suite/ch08/8.12/8.12.7/S8.12.7_A3.js b/test/suite/ch08/8.12/8.12.7/S8.12.7_A3.js
index bb882ca21a9957d4bc444359dff2310250e84a9e..c9abe19d906213e26814d5cf7abf04404e9dbf9e 100644
--- a/test/suite/ch08/8.12/8.12.7/S8.12.7_A3.js
+++ b/test/suite/ch08/8.12/8.12.7/S8.12.7_A3.js
@@ -5,7 +5,7 @@
  * When the [[Delete]] method of O is called with property name P,
  * removes the property with name P from O and return true
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.5_A3.js
+ * @path ch08/8.12/8.12.7/S8.12.7_A3.js
  * @description Delete existent properties
  */
 
diff --git a/test/suite/ch08/8.12/8.12.8/S8.12.8_A1.js b/test/suite/ch08/8.12/8.12.8/S8.12.8_A1.js
index a7975cd93d65945299d09c08d3d17096e1badf13..9fa13f537c226948b39f68eb6e641bfb3bf57e02 100644
--- a/test/suite/ch08/8.12/8.12.8/S8.12.8_A1.js
+++ b/test/suite/ch08/8.12/8.12.8/S8.12.8_A1.js
@@ -6,7 +6,7 @@
  * Cause we overload toString method so it return non Primitive value
  * See ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.6_A1.js
+ * @path ch08/8.12/8.12.8/S8.12.8_A1.js
  * @description Try to overload toString method
  */
 
diff --git a/test/suite/ch08/8.12/8.12.8/S8.12.8_A2.js b/test/suite/ch08/8.12/8.12.8/S8.12.8_A2.js
index de56911f89067171629ccbb3fe953936610cb05e..1a4cd4f912ba0559823d2de00dff4da059427c36 100644
--- a/test/suite/ch08/8.12/8.12.8/S8.12.8_A2.js
+++ b/test/suite/ch08/8.12/8.12.8/S8.12.8_A2.js
@@ -7,7 +7,7 @@
  * but we overloaded valueOf method too.
  * See ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.6_A2.js
+ * @path ch08/8.12/8.12.8/S8.12.8_A2.js
  * @description Try to overload toString, that returned new Object, and valueOf methods
  */
 
diff --git a/test/suite/ch08/8.12/8.12.8/S8.12.8_A3.js b/test/suite/ch08/8.12/8.12.8/S8.12.8_A3.js
index a0bf8ec357d5ace1e32a12ede0680a1d8217eda3..a54d3c2a81a59cf3f2ccda3d5a674bd65f5636f4 100644
--- a/test/suite/ch08/8.12/8.12.8/S8.12.8_A3.js
+++ b/test/suite/ch08/8.12/8.12.8/S8.12.8_A3.js
@@ -5,7 +5,7 @@
  * We overload valueOf method so it return non Primitive value
  * Thus [[DefaultValue]] must return Object.toString() value
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.6_A3.js
+ * @path ch08/8.12/8.12.8/S8.12.8_A3.js
  * @description Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object
  */
 
diff --git a/test/suite/ch08/8.12/8.12.8/S8.12.8_A4.js b/test/suite/ch08/8.12/8.12.8/S8.12.8_A4.js
index eb3624aef76383acb4e0e8c83d12fa5f4ce295a6..cec14497bdb7b0c1c71655495a98114af3a1a250 100644
--- a/test/suite/ch08/8.12/8.12.8/S8.12.8_A4.js
+++ b/test/suite/ch08/8.12/8.12.8/S8.12.8_A4.js
@@ -5,7 +5,7 @@
  * We overload valueOf method so it return non Primitive value and toString method so it return non Primitive value too
  * Thus [[DefaultValue]] must generate TypeError error
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2.6_A4.js
+ * @path ch08/8.12/8.12.8/S8.12.8_A4.js
  * @description Try to overload toString and valueOf methods, they returned new Objects
  */
 
diff --git a/test/suite/ch08/8.2/S8.2_A1_T1.js b/test/suite/ch08/8.2/S8.2_A1_T1.js
index 5018a135d4d2027bc40f0feae0505b8406a8fab4..bf67b16cca73d64d3126c5693c3dfd1d3c1a5528 100644
--- a/test/suite/ch08/8.2/S8.2_A1_T1.js
+++ b/test/suite/ch08/8.2/S8.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Null Type has one value, called null
  *
- * @path 08_Types/8.2_The_Null_Type/S8.2_A1_T1.js
+ * @path ch08/8.2/S8.2_A1_T1.js
  * @description Checking if execution of "var x = null" passes
  */
 
diff --git a/test/suite/ch08/8.2/S8.2_A1_T2.js b/test/suite/ch08/8.2/S8.2_A1_T2.js
index d1616d5a6ff9d963561b28f02bed6a170b8b3dbc..e0bcda72a8eed0b579d37bc84021660cdb526c2f 100644
--- a/test/suite/ch08/8.2/S8.2_A1_T2.js
+++ b/test/suite/ch08/8.2/S8.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Null Type has one value, called null
  *
- * @path 08_Types/8.2_The_Null_Type/S8.2_A1_T2.js
+ * @path ch08/8.2/S8.2_A1_T2.js
  * @description Checking if execution of "x = null" passes
  */
 
diff --git a/test/suite/ch08/8.2/S8.2_A2.js b/test/suite/ch08/8.2/S8.2_A2.js
index 80c475aba2d588c5add7ce420105399f7ffee6e6..8cecf3cf81194711f357792654afcee373eef4ab 100644
--- a/test/suite/ch08/8.2/S8.2_A2.js
+++ b/test/suite/ch08/8.2/S8.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * The null is resrved word
  *
- * @path 08_Types/8.2_The_Null_Type/S8.2_A2.js
+ * @path ch08/8.2/S8.2_A2.js
  * @description Checking if execution of "var null" fails
  * @negative
  */
diff --git a/test/suite/ch08/8.2/S8.2_A3.js b/test/suite/ch08/8.2/S8.2_A3.js
index 4ede97084300c7e113247c8f43c3142bdbbb97e9..2d5d49bdf7e30ef042e994ea07a26685d36f3743 100644
--- a/test/suite/ch08/8.2/S8.2_A3.js
+++ b/test/suite/ch08/8.2/S8.2_A3.js
@@ -9,7 +9,7 @@
  * http://bugs.ecmascript.org/ticket/250
  * for example
  *
- * @path 08_Types/8.2_The_Null_Type/S8.2_A3.js
+ * @path ch08/8.2/S8.2_A3.js
  * @description Check type of null
  */
 
diff --git a/test/suite/ch08/8.3/S8.3_A1_T1.js b/test/suite/ch08/8.3/S8.3_A1_T1.js
index b2ae7b82a63b1d33036b3c739d894bbe5628c516..30d10a2eb7af71b8504752814feb05c095bb4762 100644
--- a/test/suite/ch08/8.3/S8.3_A1_T1.js
+++ b/test/suite/ch08/8.3/S8.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Boolean type have two values, called true and false
  *
- * @path 08_Types/8.3_The_Boolean_Type/S8.3_A1_T1.js
+ * @path ch08/8.3/S8.3_A1_T1.js
  * @description Assign true and false to variables
  */
 
diff --git a/test/suite/ch08/8.3/S8.3_A1_T2.js b/test/suite/ch08/8.3/S8.3_A1_T2.js
index c8009b438c5a5ee9942c638bf83af4aa5873e02e..b5740852ebb7d55238ad5f2f7aab60aef593b544 100644
--- a/test/suite/ch08/8.3/S8.3_A1_T2.js
+++ b/test/suite/ch08/8.3/S8.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Boolean type have two values, called true and false
  *
- * @path 08_Types/8.3_The_Boolean_Type/S8.3_A1_T2.js
+ * @path ch08/8.3/S8.3_A1_T2.js
  * @description Check type of true/false and it`s equality
  */
 
diff --git a/test/suite/ch08/8.3/S8.3_A2.1.js b/test/suite/ch08/8.3/S8.3_A2.1.js
index 2a3564bfc9bd16e41184003c7e26ccfc736da91e..e8dfba19d99722df263ee494e5fc6da094bdd4df 100644
--- a/test/suite/ch08/8.3/S8.3_A2.1.js
+++ b/test/suite/ch08/8.3/S8.3_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * The true is reserved word
  *
- * @path 08_Types/8.3_The_Boolean_Type/S8.3_A2.1.js
+ * @path ch08/8.3/S8.3_A2.1.js
  * @description Checking if execution of "true=1" fails
  * @negative
  */
diff --git a/test/suite/ch08/8.3/S8.3_A2.2.js b/test/suite/ch08/8.3/S8.3_A2.2.js
index f3986365fdafd930c80f117a3dc69b5e54af30dc..a3ab639cbab186ae940112722e2dcac88ff09d15 100644
--- a/test/suite/ch08/8.3/S8.3_A2.2.js
+++ b/test/suite/ch08/8.3/S8.3_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * The false is reserved word
  *
- * @path 08_Types/8.3_The_Boolean_Type/S8.3_A2.2.js
+ * @path ch08/8.3/S8.3_A2.2.js
  * @description Checking if execution of "false=0" fails
  * @negative
  */
diff --git a/test/suite/ch08/8.3/S8.3_A3.js b/test/suite/ch08/8.3/S8.3_A3.js
index ca2c6ab82c14d5770ae0a4faed6001c1ed5b68d8..a3aa585c87f392462c0a1b8009a82a30545cb468 100644
--- a/test/suite/ch08/8.3/S8.3_A3.js
+++ b/test/suite/ch08/8.3/S8.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * Applaing negation to boolean works well
  *
- * @path 08_Types/8.3_The_Boolean_Type/S8.3_A3.js
+ * @path ch08/8.3/S8.3_A3.js
  * @description Check not false equals true, not true equals false
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A1.js b/test/suite/ch08/8.4/S8.4_A1.js
index 0d65cc51b9c2d7695fb20c08cd611ba1325f9799..eb27fc3b319b8ad4b7a49aab6f0caa28448de31f 100644
--- a/test/suite/ch08/8.4/S8.4_A1.js
+++ b/test/suite/ch08/8.4/S8.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * Any variable that has been assigned with string literal has the type string
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A1.js
+ * @path ch08/8.4/S8.4_A1.js
  * @description Check type of variable that has been assigned with string literal
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A10.js b/test/suite/ch08/8.4/S8.4_A10.js
index d6efbbdbbb3f01e534c711114c25bcbec8837e5a..fa2906fcff69f2cc5a326595dc493cec5b66d1b1 100644
--- a/test/suite/ch08/8.4/S8.4_A10.js
+++ b/test/suite/ch08/8.4/S8.4_A10.js
@@ -4,7 +4,7 @@
 /**
  * Both unicode and ascii chars are allowed
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A10.js
+ * @path ch08/8.4/S8.4_A10.js
  * @description Create string using both unicode and ascii chars
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A11.js b/test/suite/ch08/8.4/S8.4_A11.js
index 25570e833d7c0304638c609aef204e08dd1bbf3b..8293382ecf4814850175701beb0e2eed3a157ae5 100644
--- a/test/suite/ch08/8.4/S8.4_A11.js
+++ b/test/suite/ch08/8.4/S8.4_A11.js
@@ -4,7 +4,7 @@
 /**
  * Presence of reserved words in string literal are allowed
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A11.js
+ * @path ch08/8.4/S8.4_A11.js
  * @description Create string variable, thet include all reserved words
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A12.js b/test/suite/ch08/8.4/S8.4_A12.js
index 58bc85c875031fd68df9e363bd6ae3f340b1d605..6073e08a3a4e1784ee425a58b20354ce029dbd83 100644
--- a/test/suite/ch08/8.4/S8.4_A12.js
+++ b/test/suite/ch08/8.4/S8.4_A12.js
@@ -4,7 +4,7 @@
 /**
  * Assignment to string literal calls String constructor
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A12.js
+ * @path ch08/8.4/S8.4_A12.js
  * @description Check constructor of simple assigned variable
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A13_T1.js b/test/suite/ch08/8.4/S8.4_A13_T1.js
index 2423245fd6ea743a0d70bc0824049e7f14870f40..cefef0d81593b0724acd97f2632a38ed7132ab05 100644
--- a/test/suite/ch08/8.4/S8.4_A13_T1.js
+++ b/test/suite/ch08/8.4/S8.4_A13_T1.js
@@ -4,7 +4,7 @@
 /**
  * When appears not closed single-quote program failes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A13_T1.js
+ * @path ch08/8.4/S8.4_A13_T1.js
  * @description Try to create variable using 3 single-quote
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A13_T2.js b/test/suite/ch08/8.4/S8.4_A13_T2.js
index c24d09e27b1cc258f5a7036bbf19a771c418d4b0..085b17a3d0f719ce57108790ce90a46e18769b4b 100644
--- a/test/suite/ch08/8.4/S8.4_A13_T2.js
+++ b/test/suite/ch08/8.4/S8.4_A13_T2.js
@@ -4,7 +4,7 @@
 /**
  * When appears not closed single-quote program failes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A13_T2.js
+ * @path ch08/8.4/S8.4_A13_T2.js
  * @description Try to create variable using 1 single-quote
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A13_T3.js b/test/suite/ch08/8.4/S8.4_A13_T3.js
index 81f675b8d776442b576efe1bba7b78223c10dd50..c777d754a476b6072580b7e2b53377499fbfb92a 100644
--- a/test/suite/ch08/8.4/S8.4_A13_T3.js
+++ b/test/suite/ch08/8.4/S8.4_A13_T3.js
@@ -4,7 +4,7 @@
 /**
  * When appears not closed single-quote program failes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A13_T3.js
+ * @path ch08/8.4/S8.4_A13_T3.js
  * @description Try to create variable using 4 single-quote
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A14_T1.js b/test/suite/ch08/8.4/S8.4_A14_T1.js
index 1c8dedcfa84b9231ad8cac3a308976010b4e79a7..309704fef9d4befb7e4891de53d8f212d6090eb5 100644
--- a/test/suite/ch08/8.4/S8.4_A14_T1.js
+++ b/test/suite/ch08/8.4/S8.4_A14_T1.js
@@ -4,7 +4,7 @@
 /**
  * When appears not closed double-quote program failes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A14_T1.js
+ * @path ch08/8.4/S8.4_A14_T1.js
  * @description Try to create variable using 1 double-quote
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A14_T2.js b/test/suite/ch08/8.4/S8.4_A14_T2.js
index 4d962c87d80dfa1fb2c96cffd67024e4bb3e2174..ee16cbd7389a3be2f18f59315c7d0b826ba09073 100644
--- a/test/suite/ch08/8.4/S8.4_A14_T2.js
+++ b/test/suite/ch08/8.4/S8.4_A14_T2.js
@@ -4,7 +4,7 @@
 /**
  * When appears not closed double-quote program failes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A14_T2.js
+ * @path ch08/8.4/S8.4_A14_T2.js
  * @description Try to create variable using 3 double-quote
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A14_T3.js b/test/suite/ch08/8.4/S8.4_A14_T3.js
index 46dfafc5c27c210c5d526ff20902db117a711743..85a5ba9bc81c404452abc20837db892e6cc19803 100644
--- a/test/suite/ch08/8.4/S8.4_A14_T3.js
+++ b/test/suite/ch08/8.4/S8.4_A14_T3.js
@@ -4,7 +4,7 @@
 /**
  * When appears not closed double-quote program failes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A14_T3.js
+ * @path ch08/8.4/S8.4_A14_T3.js
  * @description Try to create variable using 4 double-quote
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A2.js b/test/suite/ch08/8.4/S8.4_A2.js
index 46b4ec3203884f97c7fdd816093a2dd6fe5a5fe4..f18e343a9191d6e48e5fc44151ec8fd5e83b172e 100644
--- a/test/suite/ch08/8.4/S8.4_A2.js
+++ b/test/suite/ch08/8.4/S8.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * Empty string has type string
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A2.js
+ * @path ch08/8.4/S8.4_A2.js
  * @description Create empty string and check it type
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A3.js b/test/suite/ch08/8.4/S8.4_A3.js
index 76f8d4f28ea77d7af76937af291f60250c70c773..8b3e1803483f670692caf538eb86537f0c397aa5 100644
--- a/test/suite/ch08/8.4/S8.4_A3.js
+++ b/test/suite/ch08/8.4/S8.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * String type has a length property
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A3.js
+ * @path ch08/8.4/S8.4_A3.js
  * @description Try read length property of string variable
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A4.js b/test/suite/ch08/8.4/S8.4_A4.js
index 74f83fd37cf4860621f160fc1bf7623bc6ea7727..a89314fdbbbd2e1d03df45885d91e6a77dda96a0 100644
--- a/test/suite/ch08/8.4/S8.4_A4.js
+++ b/test/suite/ch08/8.4/S8.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * Empty string variable has a length property
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A4.js
+ * @path ch08/8.4/S8.4_A4.js
  * @description Try read length property of empty string variable
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A5.js b/test/suite/ch08/8.4/S8.4_A5.js
index 06443dc0ba33eaee86c4161014f068a66af649c4..178891c3b8791ee8d2398b9e147d9e33a69a4081 100644
--- a/test/suite/ch08/8.4/S8.4_A5.js
+++ b/test/suite/ch08/8.4/S8.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * Zero "\0" not terminates the string(C string)
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A5.js
+ * @path ch08/8.4/S8.4_A5.js
  * @description Insert "\0" into string
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A6.1.js b/test/suite/ch08/8.4/S8.4_A6.1.js
index 321b6ad31fca0dbed8055e5215aa55694c363355..29a8691e1b754d9d0542814759f3a03eebc3c48a 100644
--- a/test/suite/ch08/8.4/S8.4_A6.1.js
+++ b/test/suite/ch08/8.4/S8.4_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * Large string 4096 bytes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A6.1.js
+ * @path ch08/8.4/S8.4_A6.1.js
  * @description Assign variable by large string
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A6.2.js b/test/suite/ch08/8.4/S8.4_A6.2.js
index 420462169018eead4a6077459a71e47b2584d64e..5794b030d6ff72fcfe9ac1a0d3158278020827e7 100644
--- a/test/suite/ch08/8.4/S8.4_A6.2.js
+++ b/test/suite/ch08/8.4/S8.4_A6.2.js
@@ -4,7 +4,7 @@
 /**
  * Large string 8192 bytes
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A6.2.js
+ * @path ch08/8.4/S8.4_A6.2.js
  * @description Assign variable by large string
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A7.1.js b/test/suite/ch08/8.4/S8.4_A7.1.js
index 0209d1151fc7cdc212713855662f35ac9f3b244f..137cf30bf0af60aebaa1305beb1b80c802b5fadc 100644
--- a/test/suite/ch08/8.4/S8.4_A7.1.js
+++ b/test/suite/ch08/8.4/S8.4_A7.1.js
@@ -4,7 +4,7 @@
 /**
  * <LF> between chunks of one string not allowed
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A7.1.js
+ * @path ch08/8.4/S8.4_A7.1.js
  * @description Insert <LF> between chunks of one string
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A7.2.js b/test/suite/ch08/8.4/S8.4_A7.2.js
index d7e2dbcab0e22bfc63b47aabd83190d595dd8a0b..bd2cfd25f1bbf09556c14bd9d5927bb89c40467e 100644
--- a/test/suite/ch08/8.4/S8.4_A7.2.js
+++ b/test/suite/ch08/8.4/S8.4_A7.2.js
@@ -4,7 +4,7 @@
 /**
  * <CR> between chunks of one string not allowed
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A7.2.js
+ * @path ch08/8.4/S8.4_A7.2.js
  * @description Insert <CR> between chunks of one string
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A7.3.js b/test/suite/ch08/8.4/S8.4_A7.3.js
index 4a228a2add10713daccd8cc303de345111879935..37ee22caeb1cc75a637c51132d95d6486df64eff 100644
--- a/test/suite/ch08/8.4/S8.4_A7.3.js
+++ b/test/suite/ch08/8.4/S8.4_A7.3.js
@@ -4,7 +4,7 @@
 /**
  * <PS> between chunks of one string not allowed
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A7.3.js
+ * @path ch08/8.4/S8.4_A7.3.js
  * @description Insert <PS> between chunks of one string
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A7.4.js b/test/suite/ch08/8.4/S8.4_A7.4.js
index 76b8ace158ebfa59d6064a80c5ec80d10a745725..7c8373c5479148c424b4a3121f76e0def8cfe247 100644
--- a/test/suite/ch08/8.4/S8.4_A7.4.js
+++ b/test/suite/ch08/8.4/S8.4_A7.4.js
@@ -4,7 +4,7 @@
 /**
  * <LS> between chunks of one string not allowed
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A7.4.js
+ * @path ch08/8.4/S8.4_A7.4.js
  * @description Insert <LS> between chunks of one string
  * @negative
  */
diff --git a/test/suite/ch08/8.4/S8.4_A8.js b/test/suite/ch08/8.4/S8.4_A8.js
index 175e64b9371eabeec60c746a2bf3d9e9752aa34f..89872cd4c0d3c65f3df798d5c915f316f4c3c8e8 100644
--- a/test/suite/ch08/8.4/S8.4_A8.js
+++ b/test/suite/ch08/8.4/S8.4_A8.js
@@ -4,7 +4,7 @@
 /**
  * Empty string, 0, false are all equal (==) to each other, since they all evaluate to 0
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A8.js
+ * @path ch08/8.4/S8.4_A8.js
  * @description Compare empty string with undefined, null, 0 and false
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A9_T1.js b/test/suite/ch08/8.4/S8.4_A9_T1.js
index 36e582c1a6366cdc0f91fc13e701058de0f7cfcf..736648079bd1aa1e6cf28d574b1d06f12d61b393 100644
--- a/test/suite/ch08/8.4/S8.4_A9_T1.js
+++ b/test/suite/ch08/8.4/S8.4_A9_T1.js
@@ -4,7 +4,7 @@
 /**
  * Assignment to string literals calls String constructor
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A9_T1.js
+ * @path ch08/8.4/S8.4_A9_T1.js
  * @description Simple string variable compare with object String
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A9_T2.js b/test/suite/ch08/8.4/S8.4_A9_T2.js
index 02e7ef8a71844720e045044d9e80554a62553080..a32f5b1462b3b274877a481e076f3aacced5587e 100644
--- a/test/suite/ch08/8.4/S8.4_A9_T2.js
+++ b/test/suite/ch08/8.4/S8.4_A9_T2.js
@@ -4,7 +4,7 @@
 /**
  * Assignment to string literals calls String constructor
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A9_T2.js
+ * @path ch08/8.4/S8.4_A9_T2.js
  * @description Compare empty string variable, object String('') and object String()
  */
 
diff --git a/test/suite/ch08/8.4/S8.4_A9_T3.js b/test/suite/ch08/8.4/S8.4_A9_T3.js
index 50dd40fe6f72fa76a292a4949c414290cf1562ff..3008839575c92459d5e1bb70b464c1ff1f99ed08 100644
--- a/test/suite/ch08/8.4/S8.4_A9_T3.js
+++ b/test/suite/ch08/8.4/S8.4_A9_T3.js
@@ -4,7 +4,7 @@
 /**
  * Assignment to string literals calls String constructor
  *
- * @path 08_Types/8.4_The_String_Type/S8.4_A9_T3.js
+ * @path ch08/8.4/S8.4_A9_T3.js
  * @description Simple empty string variable compare with empty object String
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A1.js b/test/suite/ch08/8.5/S8.5_A1.js
index 91b68818f8650c86d3611124db158fcdb0dc19fe..23a14a32543cab918a9bac62b798dbb6850c1ec5 100644
--- a/test/suite/ch08/8.5/S8.5_A1.js
+++ b/test/suite/ch08/8.5/S8.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * NaN !== NaN
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A1.js
+ * @path ch08/8.5/S8.5_A1.js
  * @description Compare NaN with NaN
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A10.js b/test/suite/ch08/8.5/S8.5_A10.js
index 087700f8846a94b8a77d42f741053712fb22250e..436c920c5f9795481ae2dace52cc8095ce3c2090 100644
--- a/test/suite/ch08/8.5/S8.5_A10.js
+++ b/test/suite/ch08/8.5/S8.5_A10.js
@@ -4,7 +4,7 @@
 /**
  * Infinity is not a keyword
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A10.js
+ * @path ch08/8.5/S8.5_A10.js
  * @description Create variable entitled Infinity
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A11_T1.js b/test/suite/ch08/8.5/S8.5_A11_T1.js
index f00505d828bb1914adab3defe27310fb2a76cd4d..e298d32ea08e899d57f596d7366a12022ba5d46a 100644
--- a/test/suite/ch08/8.5/S8.5_A11_T1.js
+++ b/test/suite/ch08/8.5/S8.5_A11_T1.js
@@ -4,7 +4,7 @@
 /**
  * The integer 0 has two representations, +0 and -0
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A11_T1.js
+ * @path ch08/8.5/S8.5_A11_T1.js
  * @description Check 1.0/p_zero !== 1.0/n_zero
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A11_T2.js b/test/suite/ch08/8.5/S8.5_A11_T2.js
index 5fed2eaca45e320d2c64565b7f6a9df4162dc66e..122c345edc44f133e969bdfc0f2962bed237e7b2 100644
--- a/test/suite/ch08/8.5/S8.5_A11_T2.js
+++ b/test/suite/ch08/8.5/S8.5_A11_T2.js
@@ -4,7 +4,7 @@
 /**
  * The integer 0 has two representations, +0 and -0
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A11_T2.js
+ * @path ch08/8.5/S8.5_A11_T2.js
  * @description Compare positive_zero and negative_zero
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A12.1.js b/test/suite/ch08/8.5/S8.5_A12.1.js
index 83555bc4e8efe4ebfd4dd0c5558a5213f18f9a49..846aab24d99c1e0f2e42d1bac42aab2721c64495 100644
--- a/test/suite/ch08/8.5/S8.5_A12.1.js
+++ b/test/suite/ch08/8.5/S8.5_A12.1.js
@@ -4,7 +4,7 @@
 /**
  * +Infinity and Infinity are the same as Number.POSITIVE_INFINITY
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A12.1.js
+ * @path ch08/8.5/S8.5_A12.1.js
  * @description Compare Infinity and +Infinity with Number.POSITIVE_INFINITY
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A12.2.js b/test/suite/ch08/8.5/S8.5_A12.2.js
index 5306c3df1b826e5d731b052ac1bd7b2212e80ea2..e1397ed1dcd17fa1c7dbaef56829ca058fcb1c8c 100644
--- a/test/suite/ch08/8.5/S8.5_A12.2.js
+++ b/test/suite/ch08/8.5/S8.5_A12.2.js
@@ -4,7 +4,7 @@
 /**
  * -Infinity is the same as Number.NEGATIVE_INFINITY
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A12.2.js
+ * @path ch08/8.5/S8.5_A12.2.js
  * @description Compare -Infinity with Number.NEGATIVE_INFINITY
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A13_T1.js b/test/suite/ch08/8.5/S8.5_A13_T1.js
index 856ea19802999bf7d5292049eef87b47210abe44..5f34f638e19830bc9b2f2c917f542a56b03851fd 100644
--- a/test/suite/ch08/8.5/S8.5_A13_T1.js
+++ b/test/suite/ch08/8.5/S8.5_A13_T1.js
@@ -6,7 +6,7 @@
  *  where s is +1 or -1, m is a positive integer less than 2**53 but not
  *  less than s**52 and e is an integer ranging from -1074 to 971
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A13_T1.js
+ * @path ch08/8.5/S8.5_A13_T1.js
  * @description Finite Non zero values where e is -1074
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A13_T2.js b/test/suite/ch08/8.5/S8.5_A13_T2.js
index f6f5d2c0bf5ac556bfa9285b2c4240edd2b08db8..ef7e2a5ca25cf7d6bb03495b8f62494d489376ff 100644
--- a/test/suite/ch08/8.5/S8.5_A13_T2.js
+++ b/test/suite/ch08/8.5/S8.5_A13_T2.js
@@ -6,7 +6,7 @@
  *  where s is +1 or -1, m is a positive integer less than 2**53 but not
  *  less than s**52 and e is an integer ranging from -1074 to 971
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A13_T2.js
+ * @path ch08/8.5/S8.5_A13_T2.js
  * @description Finite Non zero values where e is 971
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A14_T1.js b/test/suite/ch08/8.5/S8.5_A14_T1.js
index 5902bf5fa1e9884bf37ad2730c2abee1425ff7fe..0b5e87b3eeafdb149fe8bc90cc82c1860c65dc4e 100644
--- a/test/suite/ch08/8.5/S8.5_A14_T1.js
+++ b/test/suite/ch08/8.5/S8.5_A14_T1.js
@@ -4,7 +4,7 @@
 /**
  * When number absolute value is bigger of 2**1024 should convert to Infinity
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A14_T1.js
+ * @path ch08/8.5/S8.5_A14_T1.js
  * @description Create number bigger of 2**1024
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A14_T2.js b/test/suite/ch08/8.5/S8.5_A14_T2.js
index a00e4dda33515b533c6cc443448368052cdbd71a..37dc8cd5fa355e0809cfe20ac24f85c75529016d 100644
--- a/test/suite/ch08/8.5/S8.5_A14_T2.js
+++ b/test/suite/ch08/8.5/S8.5_A14_T2.js
@@ -4,7 +4,7 @@
 /**
  * When number absolute value is bigger of 2**1024 should convert to Infinity
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A14_T2.js
+ * @path ch08/8.5/S8.5_A14_T2.js
  * @description Create number smaller of -2**1024
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A2.1.js b/test/suite/ch08/8.5/S8.5_A2.1.js
index 2672ca72c66e9ba00ccd8b4c6ef8b4a42b057692..0baca20f99bad72cb6e9cb95f0ffcf50e22b7816 100644
--- a/test/suite/ch08/8.5/S8.5_A2.1.js
+++ b/test/suite/ch08/8.5/S8.5_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * Number type represented as the double precision 64-bit format IEEE 754
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A2.1.js
+ * @path ch08/8.5/S8.5_A2.1.js
  * @description Use 2^53 + 2 number and do some operation with it
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A2.2.js b/test/suite/ch08/8.5/S8.5_A2.2.js
index 08efdc7b93b045fc6e4dfa8105a4fa7939b4ed44..eec06220186030e4316d1acec18b1dabf86023b4 100644
--- a/test/suite/ch08/8.5/S8.5_A2.2.js
+++ b/test/suite/ch08/8.5/S8.5_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * Number type represented as the extended precision 64-bit format IEEE 754
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A2.2.js
+ * @path ch08/8.5/S8.5_A2.2.js
  * @description Use 2^53 + 2 number and do some operation with it
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A3.js b/test/suite/ch08/8.5/S8.5_A3.js
index f0914e2b4f8c9d5db1992cf7056ab3f48aa84adc..89f1299a6314bdf6093817c424799bde86f1bd01 100644
--- a/test/suite/ch08/8.5/S8.5_A3.js
+++ b/test/suite/ch08/8.5/S8.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * NaN expression has a type Number
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A3.js
+ * @path ch08/8.5/S8.5_A3.js
  * @description Check type of NaN
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A4.js b/test/suite/ch08/8.5/S8.5_A4.js
index 29d8eeede725daeb25d02a09359e4a2131f0ef6f..b54f8dbef384e2f4b5d315aa07501d783a3ba483 100644
--- a/test/suite/ch08/8.5/S8.5_A4.js
+++ b/test/suite/ch08/8.5/S8.5_A4.js
@@ -4,7 +4,7 @@
 /**
  * NaN is not a keyword
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A4.js
+ * @path ch08/8.5/S8.5_A4.js
  * @description Create variable entitled NaN
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A5.js b/test/suite/ch08/8.5/S8.5_A5.js
index e32c61971ebef04b6f4f5c59de796c69862b8fa8..6587609c2fc5c3a1611d224fc09ec356835e5621 100644
--- a/test/suite/ch08/8.5/S8.5_A5.js
+++ b/test/suite/ch08/8.5/S8.5_A5.js
@@ -4,7 +4,7 @@
 /**
  * NaN not greater or equal zero
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A5.js
+ * @path ch08/8.5/S8.5_A5.js
  * @description Compare NaN with zero
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A6.js b/test/suite/ch08/8.5/S8.5_A6.js
index 21e83c8b0fb35b45e864b3c41747da0e583a7a65..e621f75630fb259d756e81e852ee55a48d49e638 100644
--- a/test/suite/ch08/8.5/S8.5_A6.js
+++ b/test/suite/ch08/8.5/S8.5_A6.js
@@ -4,7 +4,7 @@
 /**
  * -Infinity expression has a type Number
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A6.js
+ * @path ch08/8.5/S8.5_A6.js
  * @description Check type of -Infinity
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A7.js b/test/suite/ch08/8.5/S8.5_A7.js
index f237d2c94d52bc4b3dbf57529b5247db4c21783b..0f17e85f0653c7f9d9a7b4396e965d8e4de997d5 100644
--- a/test/suite/ch08/8.5/S8.5_A7.js
+++ b/test/suite/ch08/8.5/S8.5_A7.js
@@ -4,7 +4,7 @@
 /**
  * +Infinity expression has a type Number
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A7.js
+ * @path ch08/8.5/S8.5_A7.js
  * @description Check type of +Infinity
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A8.js b/test/suite/ch08/8.5/S8.5_A8.js
index 020845177e88cb8e4590fd98d9410ddd0b6d4197..95c87824bef13889d9c2e330cd0284027c5be07d 100644
--- a/test/suite/ch08/8.5/S8.5_A8.js
+++ b/test/suite/ch08/8.5/S8.5_A8.js
@@ -4,7 +4,7 @@
 /**
  * Infinity is the same as +Infinity
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A8.js
+ * @path ch08/8.5/S8.5_A8.js
  * @description Compare Infinity and +Infinity
  */
 
diff --git a/test/suite/ch08/8.5/S8.5_A9.js b/test/suite/ch08/8.5/S8.5_A9.js
index 23ea3195526cde2f33c2196c608c37fc1a8ff694..ff783d50f3048c6642a7c937b196780adf985f6c 100644
--- a/test/suite/ch08/8.5/S8.5_A9.js
+++ b/test/suite/ch08/8.5/S8.5_A9.js
@@ -4,7 +4,7 @@
 /**
  * Globally defined variable NaN has not been altered by program execution
  *
- * @path 08_Types/8.5_The_Number_Type/S8.5_A9.js
+ * @path ch08/8.5/S8.5_A9.js
  * @description Try alter globally defined variable NaN
  * @noStrict
  */
diff --git a/test/suite/ch08/8.6/8.6.1/S8.6.1_A1.js b/test/suite/ch08/8.6/8.6.1/S8.6.1_A1.js
index fd77d9121af50b8c1af8baa78ce4a23a29f26f28..df5609b38aec040727a330b8999be1f7a08756fd 100644
--- a/test/suite/ch08/8.6/8.6.1/S8.6.1_A1.js
+++ b/test/suite/ch08/8.6/8.6.1/S8.6.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * A property can have attribute ReadOnly like E in Math
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A1.js
+ * @path ch08/8.6/8.6.1/S8.6.1_A1.js
  * @description Try change Math.E property
  * @noStrict
  */
diff --git a/test/suite/ch08/8.6/8.6.1/S8.6.1_A2.js b/test/suite/ch08/8.6/8.6.1/S8.6.1_A2.js
index fd1338129f16da7a28f32fc182c624e155a6f62a..c8fe932c58c8d51977caa0c454da2e009a5bc3ae 100644
--- a/test/suite/ch08/8.6/8.6.1/S8.6.1_A2.js
+++ b/test/suite/ch08/8.6/8.6.1/S8.6.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * A property can have attribute DontEnum like all properties of Number
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A2.js
+ * @path ch08/8.6/8.6.1/S8.6.1_A2.js
  * @description Try to enumerate properties of Number
  */
 
diff --git a/test/suite/ch08/8.6/8.6.1/S8.6.1_A3.js b/test/suite/ch08/8.6/8.6.1/S8.6.1_A3.js
index e4758750de799b904591eba85cf08728758bed86..099dc46c9ef38c033437b3f8ef3fad196d66340d 100644
--- a/test/suite/ch08/8.6/8.6.1/S8.6.1_A3.js
+++ b/test/suite/ch08/8.6/8.6.1/S8.6.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * A property can have attribute DontDelete like NaN propertie of Number object
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.1_Property_Attributes/S8.6.1_A3.js
+ * @path ch08/8.6/8.6.1/S8.6.1_A3.js
  * @description Try to delete Number.NaN
  * @noStrict
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A1.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A1.js
index 5151c492fa6e48a12826f5983e41dae8d19895ad..371d16848f779a4ecffec781bdc54e389cf59c35 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A1.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A1.js
@@ -5,7 +5,7 @@
  * Native ECMAScript objects have an internal property called [[Prototype]]. The value of this property is
  * either null or an object and is used for implementing inheritance
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A1.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A1.js
  * @description Check [[Prototype]] property of object
  */
 
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A2.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A2.js
index f08c95ddd6c222578616baf2f6836f81b7846995..5d4ccbd3efdcdb5bd59094e0ef345dae7d5b630c 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A2.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A2.js
@@ -5,7 +5,7 @@
  * Properties of the [[Prototype]] object
  * are visible as properties of the child object for the purposes of get access, but not for put access
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A2.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A2.js
  * @description Check visibility properties of the child object for the purposes of get access, but not for put access
  */
 
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A3.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A3.js
index c68268ba6d887c52849d22dbb0ab55a43357ad36..506471148c544d3719b131e8f1e5f8dfa05cf1aa 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A3.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * The specification does not provide any means for a program to access [[class]] value except through Object.prototype.toString
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A3.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A3.js
  * @description Get [[class]] value except through Object.prototype.toString
  */
 
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A4.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A4.js
index adcfcf9c30b68cf75db1ee4a2d4909827ade956d..f147e6aaa11f2fa2b7e0c32ae15aa7b3fad9e96f 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A4.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A4.js
@@ -4,7 +4,7 @@
 /**
  * [[HasInstance]] returns a boolean value indicating whether Value delegates behaviour to this object
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A4.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A4.js
  * @description Check that the obj instance of Object, but not instance
  *  of Function, String, Number, Array
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T1.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T1.js
index 9149a58521c8b73c0682568f828c8196b52a1bf3..47fa0ef6f8f1ee43dd1410a49cb30002469b217b 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T1.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Call]] executes code associated with the object
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A5_T1.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A5_T1.js
  * @description Call function-property of object, property defined
  *  as testScreen = {touch:function(){count++}}
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T2.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T2.js
index 85aedca6875153a72d6b58a754710fb476271c1b..391122473fbe40033433b6dffaf4e0d0eb386eb6 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T2.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Call]] executes code associated with the object
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A5_T2.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A5_T2.js
  * @description Call function-property of object, property defined
  *  as seat['move']=function(){position++}
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T3.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T3.js
index 2c83586b3f467300c4fd67dd6fe761dda63b9800..bbd603e4c8c3e6cfb862f4c3994b0ce22eb6225f 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T3.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * [[Call]] executes code associated with the object
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A5_T3.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A5_T3.js
  * @description Call function-property of global object, property defined
  *  as knock=function(){count++}
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T4.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T4.js
index 8775c99f74aac027a512121b6ff393d98fa1a100..7f38b27a000c96ead5dd581076c9d073e91183bf 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T4.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * [[Call]] executes code associated with the object
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A5_T4.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A5_T4.js
  * @description Call function-property of global object, property defined
  *  as this['beep']=function(){__count++}
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A6.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A6.js
index d18f57a38730ec044085e1266f8c79712fca52f2..d62d34b47e094d65abe799ea9363704b02ae4f2c 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A6.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A6.js
@@ -4,7 +4,7 @@
 /**
  * [[Construct]] constructs an object. Invoked via the new operator. Objects that implement this internal method are called constructors
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A6.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A6.js
  * @description Create a few Objects via the new operator
  */
 
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A7.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A7.js
index 0a83e9581f4007b9fe79a1258a1e8db78d84eb9f..6e996d7794a6686f2768d715f2046f9ffbbfc0f6 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A7.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A7.js
@@ -4,7 +4,7 @@
 /**
  * Objects that implement internal method [[Construct]] are called constructors. Math object is NOT constructor
  *
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A7.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A7.js
  * @description Checking if execution of "var objMath=new Math" passes
  * @negative
  */
diff --git a/test/suite/ch08/8.6/8.6.2/S8.6.2_A8.js b/test/suite/ch08/8.6/8.6.2/S8.6.2_A8.js
index d346fa899147437f4a9168218360e08698ab027a..d57a56132c431902a6222f24d4eac09e3693880f 100644
--- a/test/suite/ch08/8.6/8.6.2/S8.6.2_A8.js
+++ b/test/suite/ch08/8.6/8.6.2/S8.6.2_A8.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A8.js
+ * @path ch08/8.6/8.6.2/S8.6.2_A8.js
  * @description It should not be possible to change the [[Prototype]]
  * of a non-extensible object
  */
diff --git a/test/suite/ch08/8.6/S8.6_A2_T1.js b/test/suite/ch08/8.6/S8.6_A2_T1.js
index 2c3c11a96eb858518be39c7d17cd3a1be955bbf9..4e13df667871075fe557cacb43f27fede982a971 100644
--- a/test/suite/ch08/8.6/S8.6_A2_T1.js
+++ b/test/suite/ch08/8.6/S8.6_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Do not crash with postincrement custom property
  *
- * @path 08_Types/8.6_The_Object_Type/S8.6_A2_T1.js
+ * @path ch08/8.6/S8.6_A2_T1.js
  * @description Try to implement postincrement for custom property
  */
 
diff --git a/test/suite/ch08/8.6/S8.6_A2_T2.js b/test/suite/ch08/8.6/S8.6_A2_T2.js
index 0f0aa574df67e8f2bb7d66fb3274ccbd35563014..b96be42ad9419b7dd9c69419d2513ff62b8d06e4 100644
--- a/test/suite/ch08/8.6/S8.6_A2_T2.js
+++ b/test/suite/ch08/8.6/S8.6_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Do not crash with postincrement custom property
  *
- * @path 08_Types/8.6_The_Object_Type/S8.6_A2_T2.js
+ * @path ch08/8.6/S8.6_A2_T2.js
  * @description Try to implement postincrement for not declared custom property
  */
 
diff --git a/test/suite/ch08/8.6/S8.6_A3_T1.js b/test/suite/ch08/8.6/S8.6_A3_T1.js
index cde6664a50affe8042cb5c112cc5d963f630049b..431148520662cddc8cc6347825c60f6670d5ac5c 100644
--- a/test/suite/ch08/8.6/S8.6_A3_T1.js
+++ b/test/suite/ch08/8.6/S8.6_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Do not crash with pefixincrement custom property
  *
- * @path 08_Types/8.6_The_Object_Type/S8.6_A3_T1.js
+ * @path ch08/8.6/S8.6_A3_T1.js
  * @description Try to implement pefixincrement for custom property
  */
 
diff --git a/test/suite/ch08/8.6/S8.6_A3_T2.js b/test/suite/ch08/8.6/S8.6_A3_T2.js
index 6c1a5a11c686ca69e08afe67363204c701808b33..08a425a135227416fe01e7a7d554a221b9bced54 100644
--- a/test/suite/ch08/8.6/S8.6_A3_T2.js
+++ b/test/suite/ch08/8.6/S8.6_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Do not crash with pefixincrement custom property
  *
- * @path 08_Types/8.6_The_Object_Type/S8.6_A3_T2.js
+ * @path ch08/8.6/S8.6_A3_T2.js
  * @description Try to implement pefixincrement for not declared custom property
  */
 
diff --git a/test/suite/ch08/8.6/S8.6_A4_T1.js b/test/suite/ch08/8.6/S8.6_A4_T1.js
index 4adb78a2b577e1ae07787ee35c4c38ecb8912ddb..94424118af9fd8657f9aff0b06900a384aca1f9a 100644
--- a/test/suite/ch08/8.6/S8.6_A4_T1.js
+++ b/test/suite/ch08/8.6/S8.6_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * An Object is an unordered collection of properties
  *
- * @path 08_Types/8.6_The_Object_Type/S8.6_A4_T1.js
+ * @path ch08/8.6/S8.6_A4_T1.js
  * @description Simple using a few custom properties
  */
 
diff --git a/test/suite/ch08/8.7/S8.7.1_A1.js b/test/suite/ch08/8.7/S8.7.1_A1.js
index 17ff241c63f38a1ce0248aabd3fdfc25c65f741d..624b2d71fbd4ec423c72068b4174ec3069a42298 100644
--- a/test/suite/ch08/8.7/S8.7.1_A1.js
+++ b/test/suite/ch08/8.7/S8.7.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * Delete operator deletes pure property, so it returns true to be applyed to this.property
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7.1_A1.js
+ * @path ch08/8.7/S8.7.1_A1.js
  * @description Try to delete this.y, where y is this.y=1
  */
 
diff --git a/test/suite/ch08/8.7/S8.7.1_A2.js b/test/suite/ch08/8.7/S8.7.1_A2.js
index 71eb13333fd9c431463b84101b99f854c7059d61..eb9c4caffd4c625ab06cf98555d66ae321d130f5 100644
--- a/test/suite/ch08/8.7/S8.7.1_A2.js
+++ b/test/suite/ch08/8.7/S8.7.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * Delete operator can't delete reference, so it returns false to be applyed to reference
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7.1_A2.js
+ * @path ch08/8.7/S8.7.1_A2.js
  * @description Try to delete y, where y is var y=1
  * @noStrict
  */
diff --git a/test/suite/ch08/8.7/S8.7.2_A1_T1.js b/test/suite/ch08/8.7/S8.7.2_A1_T1.js
index a19a2553778ad42de5f71d89ec7f1bf8b9eb880b..c7908106da5150bf5611a10baafbc74cc864c736 100644
--- a/test/suite/ch08/8.7/S8.7.2_A1_T1.js
+++ b/test/suite/ch08/8.7/S8.7.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * GetValue(V) mast fail
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7.2_A1_T1.js
+ * @path ch08/8.7/S8.7.2_A1_T1.js
  * @description Checking if execution of "'litera'=1;" fails
  * @negative
  */
diff --git a/test/suite/ch08/8.7/S8.7.2_A1_T2.js b/test/suite/ch08/8.7/S8.7.2_A1_T2.js
index e8ce5dd379b9ebc2753da4c73e69136031dd4213..97a38cc0baeca1007fc35b19dbded811604382c0 100644
--- a/test/suite/ch08/8.7/S8.7.2_A1_T2.js
+++ b/test/suite/ch08/8.7/S8.7.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * GetValue(V) mast fail
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7.2_A1_T2.js
+ * @path ch08/8.7/S8.7.2_A1_T2.js
  * @description Checking if execution of "1=1" fails
  * @negative
  */
diff --git a/test/suite/ch08/8.7/S8.7.2_A2.js b/test/suite/ch08/8.7/S8.7.2_A2.js
index c84bfcc7ccc757f21aeae22ecaf356affdf13dbd..53f3a8d5b53043367659d7a2d4816792ac939233 100644
--- a/test/suite/ch08/8.7/S8.7.2_A2.js
+++ b/test/suite/ch08/8.7/S8.7.2_A2.js
@@ -5,7 +5,7 @@
  * x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportant)
  * we must have reference to defined value
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7.2_A2.js
+ * @path ch08/8.7/S8.7.2_A2.js
  * @description Execute x++, where x is var x
  */
 
diff --git a/test/suite/ch08/8.7/S8.7.2_A3.js b/test/suite/ch08/8.7/S8.7.2_A3.js
index 4826f2707bfa2df8ac2b30bbfe6c92b2ef574ce8..7877e4e2b0ce6179b7eb7fc087eacb2bac7f9199 100644
--- a/test/suite/ch08/8.7/S8.7.2_A3.js
+++ b/test/suite/ch08/8.7/S8.7.2_A3.js
@@ -5,7 +5,7 @@
  * this.x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportan)
  * we must have reference to defined value
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7.2_A3.js
+ * @path ch08/8.7/S8.7.2_A3.js
  * @description Execute this.x++, where this.x is undefined
  */
 
diff --git a/test/suite/ch08/8.7/S8.7_A1.js b/test/suite/ch08/8.7/S8.7_A1.js
index 20b8a70868e37df4de7baba1d0bced1d43530a89..7743600bbe082fb39d470b433eb422cdb44ca1ab 100644
--- a/test/suite/ch08/8.7/S8.7_A1.js
+++ b/test/suite/ch08/8.7/S8.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * Multiple Variables should Referring to a Single Object
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A1.js
+ * @path ch08/8.7/S8.7_A1.js
  * @description Create object and refers to the other object, modify a property in the original object.
  *  We now see that that change is represented in both variables
  */
diff --git a/test/suite/ch08/8.7/S8.7_A2.js b/test/suite/ch08/8.7/S8.7_A2.js
index 8664524f3e72b2b53fd0cdea88c28989427b5ab4..8e1e1e933bc8be81332f63b37bc4e6784a9f28da 100644
--- a/test/suite/ch08/8.7/S8.7_A2.js
+++ b/test/suite/ch08/8.7/S8.7_A2.js
@@ -4,7 +4,7 @@
 /**
  * Reference to Self-Modifying Object remain the integrity
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A2.js
+ * @path ch08/8.7/S8.7_A2.js
  * @description Create a reference to the array, and change original array
  */
 
diff --git a/test/suite/ch08/8.7/S8.7_A3.js b/test/suite/ch08/8.7/S8.7_A3.js
index 55d09f71330b258c067da5c01209f31b647a7178..b7266bee7311b398ea521003373dc9687ef714e0 100644
--- a/test/suite/ch08/8.7/S8.7_A3.js
+++ b/test/suite/ch08/8.7/S8.7_A3.js
@@ -4,7 +4,7 @@
 /**
  * Changing the Reference of an Object While Maintaining Integrity
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A3.js
+ * @path ch08/8.7/S8.7_A3.js
  * @description Create a reference to the array, and redefine original array with new array
  */
 
diff --git a/test/suite/ch08/8.7/S8.7_A4.js b/test/suite/ch08/8.7/S8.7_A4.js
index 8210aa1808cea6469ff21460fb47f127120824ed..f2c7b4562ed4cd80c2bde433a0e95f1b327f9841 100644
--- a/test/suite/ch08/8.7/S8.7_A4.js
+++ b/test/suite/ch08/8.7/S8.7_A4.js
@@ -4,7 +4,7 @@
 /**
  * Object Modification Resulting in a New Object for Not a Self-Modified Object leads to loss of integrity
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A4.js
+ * @path ch08/8.7/S8.7_A4.js
  * @description Create a reference to the string, and Concatenate some new text onto the string object
  */
 
diff --git a/test/suite/ch08/8.7/S8.7_A5_T1.js b/test/suite/ch08/8.7/S8.7_A5_T1.js
index bb191ae8fadc47fafa731b947fde385934d7e3ad..32796bdd36d250fe1d21c343c76ec88a9f278015 100644
--- a/test/suite/ch08/8.7/S8.7_A5_T1.js
+++ b/test/suite/ch08/8.7/S8.7_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Delete unary operator can't delete object to be referenced
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A5_T1.js
+ * @path ch08/8.7/S8.7_A5_T1.js
  * @description Delete referenced object, var __ref = obj
  * @noStrict
  */
diff --git a/test/suite/ch08/8.7/S8.7_A5_T2.js b/test/suite/ch08/8.7/S8.7_A5_T2.js
index a954dd152bde8d9444b6f9750afac27a3b88e7b6..7a55a92390f5a212169ba9b170f7e3c47f7bf876 100644
--- a/test/suite/ch08/8.7/S8.7_A5_T2.js
+++ b/test/suite/ch08/8.7/S8.7_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Delete unary operator can't delete object to be referenced
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A5_T2.js
+ * @path ch08/8.7/S8.7_A5_T2.js
  * @description Delete referenced object, __ref = obj
  * @noStrict
  */
diff --git a/test/suite/ch08/8.7/S8.7_A6.js b/test/suite/ch08/8.7/S8.7_A6.js
index 3281f680f1a41088e76e6b6b55a52fbe9235afd9..40882f1a546459a22aaa971b19df55b9a52c6520 100644
--- a/test/suite/ch08/8.7/S8.7_A6.js
+++ b/test/suite/ch08/8.7/S8.7_A6.js
@@ -4,7 +4,7 @@
 /**
  * Passing arguments by value differs from by reference and do not change values to be passed
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A6.js
+ * @path ch08/8.7/S8.7_A6.js
  * @description Adding original variable with referenced one inside function
  */
 
diff --git a/test/suite/ch08/8.7/S8.7_A7.js b/test/suite/ch08/8.7/S8.7_A7.js
index 644ec5b256dcfeb4e896e3ee4a850fe98dabf7b2..17e8eb59c925f588b45c695a232c098ae2b68084 100644
--- a/test/suite/ch08/8.7/S8.7_A7.js
+++ b/test/suite/ch08/8.7/S8.7_A7.js
@@ -4,7 +4,7 @@
 /**
  * Passing arguments by reference do change values of reference to be passed
  *
- * @path 08_Types/8.7_The_Reference_Type/S8.7_A7.js
+ * @path ch08/8.7/S8.7_A7.js
  * @description Add new property to original variable inside function
  */
 
diff --git a/test/suite/ch08/8.8/S8.8_A2_T1.js b/test/suite/ch08/8.8/S8.8_A2_T1.js
index 6a3dcafa3ecc0ddadbe69d84bc14f455f9d284d9..ed9f8c10d74da6a2e627016674c41b578b0e31a4 100644
--- a/test/suite/ch08/8.8/S8.8_A2_T1.js
+++ b/test/suite/ch08/8.8/S8.8_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Values of the List type are simply ordered sequences of values
  *
- * @path 08_Types/8.8_The_List_Type/S8.8_A2_T1.js
+ * @path ch08/8.8/S8.8_A2_T1.js
  * @description Call function __mFunc(1,2,3) with 3 arguments
  */
 
diff --git a/test/suite/ch08/8.8/S8.8_A2_T2.js b/test/suite/ch08/8.8/S8.8_A2_T2.js
index 34127ef2d1721ec298b5ba8415a0dfb08b5e9aa4..4ab032de0221cbc1a60ca1c8c270571ff301c9f3 100644
--- a/test/suite/ch08/8.8/S8.8_A2_T2.js
+++ b/test/suite/ch08/8.8/S8.8_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Values of the List type are simply ordered sequences of values
  *
- * @path 08_Types/8.8_The_List_Type/S8.8_A2_T2.js
+ * @path ch08/8.8/S8.8_A2_T2.js
  * @description Call function __mFunc([,,]) with 1 arguments
  */
 
diff --git a/test/suite/ch08/8.8/S8.8_A2_T3.js b/test/suite/ch08/8.8/S8.8_A2_T3.js
index e5f8637fcefb1aa6296b90b5da6bf83ad42f74e8..281c0397cec6ca056ba2fe3c7b537c2b4fc71b03 100644
--- a/test/suite/ch08/8.8/S8.8_A2_T3.js
+++ b/test/suite/ch08/8.8/S8.8_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Values of the List type are simply ordered sequences of values
  *
- * @path 08_Types/8.8_The_List_Type/S8.8_A2_T3.js
+ * @path ch08/8.8/S8.8_A2_T3.js
  * @description Call function, that concatenate all it`s arguments
  */
 
diff --git a/test/suite/ch09/9.1/S9.1_A1_T1.js b/test/suite/ch09/9.1/S9.1_A1_T1.js
index d516010bf6eb0cc373ca9e1c45bc4a3daec663fb..6625910545878c64c54c8a72cbe3b0f5151f0c7d 100644
--- a/test/suite/ch09/9.1/S9.1_A1_T1.js
+++ b/test/suite/ch09/9.1/S9.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of primitive conversion from object is a default value for the Object
  *
- * @path 09_Type_Conversion/9.1_ToPrimitive/S9.1_A1_T1.js
+ * @path ch09/9.1/S9.1_A1_T1.js
  * @description Using operator Number. The operator calls ToPrimitive with hint Number
  */
 
diff --git a/test/suite/ch09/9.1/S9.1_A1_T2.js b/test/suite/ch09/9.1/S9.1_A1_T2.js
index a6b2b804dc58f977fbee30db2976130043e84b75..636591dabce864713722fc8348cb077da1860d74 100644
--- a/test/suite/ch09/9.1/S9.1_A1_T2.js
+++ b/test/suite/ch09/9.1/S9.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of primitive conversion from object is a default value for the Object
  *
- * @path 09_Type_Conversion/9.1_ToPrimitive/S9.1_A1_T2.js
+ * @path ch09/9.1/S9.1_A1_T2.js
  * @description Using operator Number. This operator calls ToPrimitive with hint Number
  */
 
diff --git a/test/suite/ch09/9.1/S9.1_A1_T3.js b/test/suite/ch09/9.1/S9.1_A1_T3.js
index 3e5c1a8edc50af36b2f4953d87e99c5c49f2ae14..cf418eeef873888e7f6bac13a96a7237b636bc33 100644
--- a/test/suite/ch09/9.1/S9.1_A1_T3.js
+++ b/test/suite/ch09/9.1/S9.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Result of primitive conversion from object is a default value for the Object
  *
- * @path 09_Type_Conversion/9.1_ToPrimitive/S9.1_A1_T3.js
+ * @path ch09/9.1/S9.1_A1_T3.js
  * @description Using operator "+". This operator firstly calls ToPrimitive and then calls ToString or ToNumber
  */
 
diff --git a/test/suite/ch09/9.1/S9.1_A1_T4.js b/test/suite/ch09/9.1/S9.1_A1_T4.js
index 8b6b7d4a6504d4901713459d407460e73e89cd04..9dcd88f504239a60163677b01f53dd39ec76baad 100644
--- a/test/suite/ch09/9.1/S9.1_A1_T4.js
+++ b/test/suite/ch09/9.1/S9.1_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Result of primitive conversion from object is a default value for the Object
  *
- * @path 09_Type_Conversion/9.1_ToPrimitive/S9.1_A1_T4.js
+ * @path ch09/9.1/S9.1_A1_T4.js
  * @description Using operator "<". The operator firstly calls ToPrimitive and then calls ToString or ToNumber
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A1_T1.js b/test/suite/ch09/9.2/S9.2_A1_T1.js
index 07751bfc08f65b2a7337be518146264a34229ce2..44bbaae6a3d489b734a162b942e5f654607286b2 100644
--- a/test/suite/ch09/9.2/S9.2_A1_T1.js
+++ b/test/suite/ch09/9.2/S9.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from undefined value is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A1_T1.js
+ * @path ch09/9.2/S9.2_A1_T1.js
  * @description Undefined, void and others are converted to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A1_T2.js b/test/suite/ch09/9.2/S9.2_A1_T2.js
index 628743f786f358676b3344c201754b170109521c..0700b8da633831a08653c8b3c186ebdb0c592ffd 100644
--- a/test/suite/ch09/9.2/S9.2_A1_T2.js
+++ b/test/suite/ch09/9.2/S9.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from undefined value is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A1_T2.js
+ * @path ch09/9.2/S9.2_A1_T2.js
  * @description Undefined, void and others are converted to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A2_T1.js b/test/suite/ch09/9.2/S9.2_A2_T1.js
index 5dec18d2fc8cbf1f1c89f44d5bad201a0dcf5623..c53da91bf9e4c6b2752e3bf706ba3b668342606b 100644
--- a/test/suite/ch09/9.2/S9.2_A2_T1.js
+++ b/test/suite/ch09/9.2/S9.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from null value is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A2_T1.js
+ * @path ch09/9.2/S9.2_A2_T1.js
  * @description null convert to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A2_T2.js b/test/suite/ch09/9.2/S9.2_A2_T2.js
index 0bcb5d5e6de6c45fa9ac3a0c5a05fb9a1b2a058b..ffd391b90aeeac238031893fd5d028896132dac7 100644
--- a/test/suite/ch09/9.2/S9.2_A2_T2.js
+++ b/test/suite/ch09/9.2/S9.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from null value is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A2_T2.js
+ * @path ch09/9.2/S9.2_A2_T2.js
  * @description null convert to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A3_T1.js b/test/suite/ch09/9.2/S9.2_A3_T1.js
index be2089b64224642c545a55e254273ba82016119d..103f4eab3b78a0b667164a4c305a6cc31dae8205 100644
--- a/test/suite/ch09/9.2/S9.2_A3_T1.js
+++ b/test/suite/ch09/9.2/S9.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from boolean value is no conversion
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A3_T1.js
+ * @path ch09/9.2/S9.2_A3_T1.js
  * @description true and false convert to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A3_T2.js b/test/suite/ch09/9.2/S9.2_A3_T2.js
index 83ebd9303be1b392d7d0fb1279e2ca1ccbcd0daf..d1ede1c6d574a9beff960ec7627a008482e53a14 100644
--- a/test/suite/ch09/9.2/S9.2_A3_T2.js
+++ b/test/suite/ch09/9.2/S9.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from boolean value is no conversion
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A3_T2.js
+ * @path ch09/9.2/S9.2_A3_T2.js
  * @description true and false convert to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A4_T1.js b/test/suite/ch09/9.2/S9.2_A4_T1.js
index 160b87cc0b5a2b12a3abcc22c2fa9ada9d4b9456..71860cac87fe7c1c7cac05f27a266b97634ed994 100644
--- a/test/suite/ch09/9.2/S9.2_A4_T1.js
+++ b/test/suite/ch09/9.2/S9.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from number value is false if the argument is +0, -0, or NaN; otherwise, is true
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A4_T1.js
+ * @path ch09/9.2/S9.2_A4_T1.js
  * @description +0, -0 and NaN convert to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A4_T2.js b/test/suite/ch09/9.2/S9.2_A4_T2.js
index 70067eff778e069b50d79b06f950a706ac229daa..66047bea5231e4630edeed3dc971f6fe10f4c3be 100644
--- a/test/suite/ch09/9.2/S9.2_A4_T2.js
+++ b/test/suite/ch09/9.2/S9.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from number value is false if the argument is +0, -0, or NaN; otherwise, is true
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A4_T2.js
+ * @path ch09/9.2/S9.2_A4_T2.js
  * @description +0, -0 and NaN convert to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A4_T3.js b/test/suite/ch09/9.2/S9.2_A4_T3.js
index bd9501755a40bda87296e4525818ffa497f15b82..9a16966d64fd13ade33336df0d23897b41020fa5 100644
--- a/test/suite/ch09/9.2/S9.2_A4_T3.js
+++ b/test/suite/ch09/9.2/S9.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from number value is false if the argument is +0, -0, or NaN; otherwise, is true
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A4_T3.js
+ * @path ch09/9.2/S9.2_A4_T3.js
  * @description Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY,
  * Number.MAX_VALUE, Number.MIN_VALUE and some numbers convert to Boolean by explicit transformation
  */
diff --git a/test/suite/ch09/9.2/S9.2_A4_T4.js b/test/suite/ch09/9.2/S9.2_A4_T4.js
index e4aadc4b99254d8b7bab895d798e69f51acd4ed1..692ab77bf301728f5308c583fbbbe6d215e60be6 100644
--- a/test/suite/ch09/9.2/S9.2_A4_T4.js
+++ b/test/suite/ch09/9.2/S9.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from number value is false if the argument is +0, -0, or NaN; otherwise, is true
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A4_T4.js
+ * @path ch09/9.2/S9.2_A4_T4.js
  * @description Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY,
  * Number.MAX_VALUE, Number.MIN_VALUE and some other numbers are converted to Boolean by implicit transformation
  */
diff --git a/test/suite/ch09/9.2/S9.2_A5_T1.js b/test/suite/ch09/9.2/S9.2_A5_T1.js
index 54d59255bd10bde17da1efab54be783bd93bfb59..293ee23757c6199024ac93ad60c47795ced1fe08 100644
--- a/test/suite/ch09/9.2/S9.2_A5_T1.js
+++ b/test/suite/ch09/9.2/S9.2_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from nonempty string value (length is not zero) is true; from empty String (length is zero) is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A5_T1.js
+ * @path ch09/9.2/S9.2_A5_T1.js
  * @description "" is converted to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A5_T2.js b/test/suite/ch09/9.2/S9.2_A5_T2.js
index 99b53fe5ebc7bd62a3c04be097a6846aabeafb29..de391a32923100eebee22f44d7e287edc3d7b2f1 100644
--- a/test/suite/ch09/9.2/S9.2_A5_T2.js
+++ b/test/suite/ch09/9.2/S9.2_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from nonempty string value (length is not zero) is true; from empty String (length is zero) is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A5_T2.js
+ * @path ch09/9.2/S9.2_A5_T2.js
  * @description "" convert to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A5_T3.js b/test/suite/ch09/9.2/S9.2_A5_T3.js
index c1e651597b8ac18142f38d82b431249dc55652ea..f8f185c59321845a34d7a9a23300fcc0642ad50e 100644
--- a/test/suite/ch09/9.2/S9.2_A5_T3.js
+++ b/test/suite/ch09/9.2/S9.2_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from nonempty string value (length is not zero) is true; from empty String (length is zero) is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A5_T3.js
+ * @path ch09/9.2/S9.2_A5_T3.js
  * @description Any nonempty string convert to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A5_T4.js b/test/suite/ch09/9.2/S9.2_A5_T4.js
index f1cd83a7dd7bd672e25f34325e28db8e4799bc30..c8ea44e9d658d64aa014301c43940baa51632bd8 100644
--- a/test/suite/ch09/9.2/S9.2_A5_T4.js
+++ b/test/suite/ch09/9.2/S9.2_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from nonempty string value (length is not zero) is true; from empty String (length is zero) is false
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A5_T4.js
+ * @path ch09/9.2/S9.2_A5_T4.js
  * @description Any nonempty string convert to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A6_T1.js b/test/suite/ch09/9.2/S9.2_A6_T1.js
index 882b6c4ad0373d9cc28b53580bd722f30ee875d1..72bb34e264dce9932de6e04205c3d4b306ab1f63 100644
--- a/test/suite/ch09/9.2/S9.2_A6_T1.js
+++ b/test/suite/ch09/9.2/S9.2_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from object is true
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A6_T1.js
+ * @path ch09/9.2/S9.2_A6_T1.js
  * @description Different objects convert to Boolean by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.2/S9.2_A6_T2.js b/test/suite/ch09/9.2/S9.2_A6_T2.js
index 7b8fa88f90f3f4979a23254f47936174824d8f25..54dbbb6f371a118186d992c4f26a43b3af57f84e 100644
--- a/test/suite/ch09/9.2/S9.2_A6_T2.js
+++ b/test/suite/ch09/9.2/S9.2_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of boolean conversion from object is true
  *
- * @path 09_Type_Conversion/9.2_ToBoolean/S9.2_A6_T2.js
+ * @path ch09/9.2/S9.2_A6_T2.js
  * @description Different objects convert to Boolean by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A1.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A1.js
index c22f08866d0420a0b387e8074b4034ebb60c02d6..35b235fa3facfc97545f32a05dccbbeca28877bb 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A1.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The MV of StringNumericLiteral ::: [empty] is 0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A1.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A1.js
  * @description Number('') convert to Number by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A10.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A10.js
index 53d8f2e1add1f5ebc508c13c8b3db733754ad19e..1f7d3f958b9f77d0a8bae9facf8e983aa9fe2dd1 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A10.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A10.js
@@ -6,7 +6,7 @@
  * MV of DecimalDigits times 10<sup><small>-n</small></sup>, where n is the
  * number of characters in DecimalDigits
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A10.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A10.js
  * @description Compare Number('.12345') with +('12345')*1e-5
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A11.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A11.js
index 0435aa5382f8809f7477d196efebb52588655f5e..9f58e16f2d6c38f72e645294a23885a9b968c15a 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A11.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A11.js
@@ -6,7 +6,7 @@
  * is the MV of DecimalDigits times 10<sup><small>e-n</small></sup>, where n is
  * the number of characters in DecimalDigits and e is the MV of ExponentPart
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A11.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A11.js
  * @description Compare Number('.12345e6') with +('12345')*1e1,
  * and Number('.12345e-3') !== Number('12345')*1e-8
  */
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A12.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A12.js
index 5ed70019289ee4d5fa5d47698ef85cd42bf64d10..20104094620011895fefa7eea44654d613bb8ae9 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A12.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A12.js
@@ -5,7 +5,7 @@
  * The MV of StrUnsignedDecimalLiteral::: DecimalDigits ExponentPart
  * is the MV of DecimalDigits times 10<sup><small>e</small></sup>, where e is the MV of ExponentPart
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A12.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A12.js
  * @description Compare Number('12345e6') with +('12345')*1e1,
  * and Number('12345e-6') !== Number('12345')*1e-6
  */
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A13.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A13.js
index 26c6a522602662f4ad4753beecba3af67168b52c..8d51f4b0205ee4c6e42944f71a4c4480fb936983 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A13.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A13.js
@@ -5,7 +5,7 @@
  * The MV of DecimalDigits ::: DecimalDigits DecimalDigit is
  * (the MV of DecimalDigits times 10) plus the MV of DecimalDigit
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A13.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A13.js
  * @description Compare '12' with Number("1")*10+Number("2") and analogous
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A14.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A14.js
index 6455083c31f8ec9ad42c60b09cd704e003d0b3b6..4ed80b0825d8a084995aa46370e4a4266529b40c 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A14.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A14.js
@@ -4,7 +4,7 @@
 /**
  * The MV of SignedInteger ::: + DecimalDigits is the MV of DecimalDigits
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A14.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A14.js
  * @description Compare Number('+1234567890') with +('1234567890')
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A15.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A15.js
index b94c69d8f4f9a83d590885f472e10b876aba8517..d0ba80b6e1c45d49458a83ed0af797f1347908cf 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A15.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A15.js
@@ -4,7 +4,7 @@
 /**
  * The MV of SignedInteger ::: - DecimalDigits is the negative of the MV of DecimalDigits
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A15.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A15.js
  * @description Compare -Number('1234567890') with ('-1234567890')
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A16.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A16.js
index a2e8ee1a37fc585a2aef7e449b0c82930cf2ac8e..6163fbb4a24ecf30a7315cb42b70cb655f05b080 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A16.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A16.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 0 or of HexDigit ::: 0 is 0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A16.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A16.js
  * @description Compare Number('0x0') and Number('0X0') with 0
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A17.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A17.js
index 857dae1714c0149cdd45f5e1d56880d3184cc42c..d4b72bbf5a9444fbce79bf69ac98ebe3052f5243 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A17.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A17.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 1 or of HexDigit ::: 1 is 1
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A17.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A17.js
  * @description Compare Number('0x1') and Number('0X1') with 1
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A18.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A18.js
index 6b037ca0aebb1db8e9d1896f2249292588d82c02..b4375494cad72f11364fc7880468b29177e82ca3 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A18.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A18.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 2 or of HexDigit ::: 2 is 2
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A18.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A18.js
  * @description Compare Number('0x2') and Number('0X2') with 2
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A19.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A19.js
index 3f33a6ad8dbc0228a6f69f529714f41751a7a5b8..0abc0200ae2d7b4c48de4cf48a2416f8f0b9622a 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A19.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A19.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 3 or of HexDigit ::: 3 is 3
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A19.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A19.js
  * @description Compare Number('0x3') and Number('0X3') with 3
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A2.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A2.js
index e209bb4ad8dcc34603da61cdeef55d7469fbb823..f9bb01465860c1246827e4de68c780e1df33823b 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A2.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The MV of StringNumericLiteral ::: StrWhiteSpace is 0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A2.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A2.js
  * @description Strings with various WhiteSpaces convert to Number by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A20.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A20.js
index 42837d14703eff969a7bb7ab64d747b2761e6e00..78689d42d7e55487a9d6d0ee99adc2dd8e819536 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A20.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A20.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 4 or of HexDigit ::: 4 is 4
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A20.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A20.js
  * @description Compare Number('0x4') and Number('0X4') with 4
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A21.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A21.js
index e9da0472e7ac8d20fa79868991b19ac91ac8c7ac..de8fe9fe1f69cb345580fb2a80ec675f42b76b0d 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A21.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A21.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 5 or of HexDigit ::: 5 is 5
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A21.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A21.js
  * @description Compare Number('0x5') and Number('0X5') with 5
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A22.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A22.js
index 9240a09d47a1c25d104d3e27c2cee5c0c75a665e..02aa703a3e5ef1e4bb84d1d9b0d96fc18998d9d6 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A22.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A22.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 6 or of HexDigit ::: 6 is 6
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A22.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A22.js
  * @description Compare Number('0x6') and Number('0X6') with 6
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A23.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A23.js
index 7bc5ab2f5912e32a9176922b33b78db990bcac03..d1745156d08e84734e33b2fb464023001273ab6f 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A23.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A23.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 7 or of HexDigit ::: 7 is 7
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A23.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A23.js
  * @description Compare Number('0x7') and Number('0X7') with 7
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A24.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A24.js
index 32c5ea1126964bb627101d30daa73c2d3ba869c1..91409bead577e8983b674ddf73146d4c267e5dd1 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A24.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A24.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 8 or of HexDigit ::: 8 is 8
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A24.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A24.js
  * @description Compare Number('0x8') and Number('0X8') with 8
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A25.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A25.js
index bc2b7cc276f63d2a50fac42035ebc90951a0dbe7..761ceb443642f1ebe3f6e7bb6f973ce2ff4d4f1e 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A25.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A25.js
@@ -4,7 +4,7 @@
 /**
  * The MV of DecimalDigit ::: 9 or of HexDigit ::: 9 is 9
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A25.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A25.js
  * @description Compare Number('0x9') and Number('0X9') with 9
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A26.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A26.js
index a881058ba0f682fad6527ee42df65bceb129124c..404203f596d19e6620920c7a35640ee4173e0291 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A26.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A26.js
@@ -4,7 +4,7 @@
 /**
  * The MV of HexDigit ::: a or of HexDigit ::: A is 10
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A26.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A26.js
  * @description Compare Number('0xA'), Number('0XA'), Number('0xa') and Number('0Xa') with 10
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A27.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A27.js
index 1e3d299381a997589c127cd6667a07624237e1c4..67e6a6e5f0377d2e02af65510f7518c9269be1e7 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A27.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A27.js
@@ -4,7 +4,7 @@
 /**
  * The MV of HexDigit ::: b or of HexDigit ::: B is 11
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A27.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A27.js
  * @description Compare Number('0xB'), Number('0XB'), Number('0xb') and Number('0Xb') with 11
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A28.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A28.js
index 7c4fbf1f4efb2f00a8b61450bbfddc8eef3dd8e7..d29b8c2893b163ffce196597b5efd7451a885e8c 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A28.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A28.js
@@ -4,7 +4,7 @@
 /**
  * The MV of HexDigit ::: c or of HexDigit ::: C is 12
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A28.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A28.js
  * @description Compare Number('0xC'), Number('0XC'), Number('0xc') and Number('0Xc') with 12
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A29.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A29.js
index 96653af9ca17d3ea17cc11dd225468b2d5b2e56b..88473af858af820f07ba0ceeaffd6380d094c988 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A29.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A29.js
@@ -4,7 +4,7 @@
 /**
  * The MV of HexDigit ::: d or of HexDigit ::: D is 13
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A29.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A29.js
  * @description Compare Number('0xD'), Number('0XD'), Number('0xd') and Number('0Xd') with 13
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A30.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A30.js
index 5f93bc2a9324d17e01e805cbe9c26ef5374782ca..b94bacbd73f4f8845e7605fa4bce2261b6ff04b0 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A30.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A30.js
@@ -4,7 +4,7 @@
 /**
  * The MV of HexDigit ::: e or of HexDigit ::: E is 14
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A30.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A30.js
  * @description Compare Number('0xE'), Number('0XE'), Number('0xe') and Number('0Xe') with 14
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A31.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A31.js
index 696994d67ee6a948ec67c5642fa27b6bc8c12176..f5f151b767f6381cdf94057a565ee4775c3550d6 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A31.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A31.js
@@ -4,7 +4,7 @@
 /**
  * The MV of HexDigit ::: f or of HexDigit ::: F is 15
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A31.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A31.js
  * @description Compare Number('0xF'), Number('0XF'), Number('0xf') and Number('0Xf') with 15
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A32.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A32.js
index 386beecf0cec790015a7b2e88c09e48a4cf14300..700feb71725f9988c7470eb568ac80479e074ab8 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A32.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A32.js
@@ -7,7 +7,7 @@
  * significant digits by replacing each significant digit after the 20th
  * with a 0 digit or the number value
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A32.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A32.js
  * @description Use various long numbers, for example, 1234567890.1234567890
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T1.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T1.js
index 6e24e20691aa675317e228c7208fe69b9a1a8cfb..304f5ba4e1e2f7620b18bd8621664c83b0ee6cd5 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T1.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The MV of StringNumericLiteral ::: StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt is the MV of StrNumericLiteral, no matter whether white space is present or not
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T1.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A3_T1.js
  * @description static string
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T2.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T2.js
index 009f8afc11d2512f10597860dc0d446cda52cd08..0969dd9bb08252f0187f8e635db18d7c2187bf82 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T2.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The MV of StringNumericLiteral ::: StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt is the MV of StrNumericLiteral, no matter whether white space is present or not
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T2.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A3_T2.js
  * @description dynamic string
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T1.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T1.js
index f8b394179ad0b30bf4bed5e3c7fdedc934186d8e..8d205114089577a05b46664f02d36e2581afd100 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T1.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The MV of StrDecimalLiteral::: + StrUnsignedDecimalLiteral is the MV of StrUnsignedDecimalLiteral
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A4_T1.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A4_T1.js
  * @description Compare Number('+any_number') with Number('any_number')
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T2.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T2.js
index 24e56ad0fe6e8752ad794ab4d0e958aa2d32c4b3..e10d517ce355723e6b9d43dd0711afca980db274 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T2.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The MV of StrDecimalLiteral::: + StrUnsignedDecimalLiteral is the MV of StrUnsignedDecimalLiteral
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A4_T2.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A4_T2.js
  * @description Compare Number('+' + 'any_number') with Number('any_number')
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T1.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T1.js
index 9d2dfb02070aa9cf116e6be8c89177c5b7ad802c..b6bb8137d0702fae48c4af909fede1a0b58e0910 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T1.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T1.js
@@ -5,7 +5,7 @@
  * The MV of StrDecimalLiteral::: - StrUnsignedDecimalLiteral is the negative
  * of the MV of StrUnsignedDecimalLiteral. (the negative of this 0 is also 0)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A5_T1.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A5_T1.js
  * @description Compare Number('-any_number') with -Number('any_number')
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T2.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T2.js
index 0b4a1486403a33d368d6f7a43392d8af9f7f5845..47bc6549eb379d945526e795396cda2d133103e9 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T2.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T2.js
@@ -5,7 +5,7 @@
  * The MV of StrDecimalLiteral::: - StrUnsignedDecimalLiteral is the negative
  * of the MV of StrUnsignedDecimalLiteral. (the negative of this 0 is also 0)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A5_T2.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A5_T2.js
  * @description Compare Number('-[or +]any_number') with -[or without -]any_number)
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T3.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T3.js
index 084c957391a6c138cbf38488bd1f2d596857c35a..c062e198f9e1a9cfa89029f2f8bee73971b6b1fa 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T3.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A5_T3.js
@@ -5,7 +5,7 @@
  * The MV of StrDecimalLiteral::: - StrUnsignedDecimalLiteral is the negative
  * of the MV of StrUnsignedDecimalLiteral. (the negative of this 0 is also 0)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A5_T3.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A5_T3.js
  * @description Compare Number('-' + 'any_number') with -Number('any_number')
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T1.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T1.js
index db0aec1bea91475e376dd4db57968bb1955388ef..6aeeef2422170fd14ea7a361bfac400f5c401d16 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T1.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T1.js
@@ -5,7 +5,7 @@
  * The MV of StrUnsignedDecimalLiteral::: Infinity is 10<sup><small>10000</small></sup>
  * (a value so large that it will round to <b><tt>+&infin;</tt></b>)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A6_T1.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A6_T1.js
  * @description Compare Number('Infinity') with Number.POSITIVE_INFINITY, 10e10000, 10E10000 and Number("10e10000")
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T2.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T2.js
index 566343c08e3b20a158b68ec99867d78d7d10fc98..9e4659873a7d532897ed1d9eda270808f742e9a4 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T2.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A6_T2.js
@@ -5,7 +5,7 @@
  * The MV of StrUnsignedDecimalLiteral::: Infinity is 10<sup><small>10000</small></sup>
  * (a value so large that it will round to <b><tt>+&infin;</tt></b>)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A6_T2.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A6_T2.js
  * @description Compare Number('Infi'+'nity') with Number.POSITIVE_INFINITY, 10e10000, 10E10000 and Number("10e10000")
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A7.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A7.js
index 976a7f99cd0478d44ce520ca0e1bdd94bf590750..50a7f357fb58923679086f8ae51dedbe2145c90a 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A7.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A7.js
@@ -6,7 +6,7 @@
  * is the MV of the first DecimalDigits plus the MV of the second DecimalDigits times
  * 10<sup><small>-n</small></sup>, where n is the number of characters in the second DecimalDigits
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A7.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A7.js
  * @description Compare Number('1234.5678') with Number('1234')+(+('5678')*1e-4)
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A8.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A8.js
index 155333124db80fd4abfe78106d441aab174b9210..6b7a5d4a3f4052bb4c161a00a147cd9ac19cd55f 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A8.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A8.js
@@ -5,7 +5,7 @@
  * The MV of StrUnsignedDecimalLiteral::: DecimalDigits. ExponentPart
  * is the MV of DecimalDigits times 10<sup><small>e</small></sup> , where e is the MV of ExponentPart
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A8.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A8.js
  * @description Compare Number('1234e5') and Number('1234.e5') with Number('1234')*1e5
  */
 
diff --git a/test/suite/ch09/9.3/9.3.1/S9.3.1_A9.js b/test/suite/ch09/9.3/9.3.1/S9.3.1_A9.js
index c56e5097ffba26d1eee8fd5802d436d668458d2b..1c88a53226f1813d6ae09f8a618208368f2cf198 100644
--- a/test/suite/ch09/9.3/9.3.1/S9.3.1_A9.js
+++ b/test/suite/ch09/9.3/9.3.1/S9.3.1_A9.js
@@ -7,7 +7,7 @@
  * 10<sup><small>-n</small></sup>)) times 10<sup><small>e</small></sup>, where n is the number
  * of characters in the second DecimalDigits and e is the MV of ExponentPart
  *
- * @path 09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A9.js
+ * @path ch09/9.3/9.3.1/S9.3.1_A9.js
  * @description Compare Number('1234.5678e9') with (Number('1234')+(Number('5678')*1e-4))*1e9,
  * and +('1234.5678e-9') with (Number('1234')+(Number('5678')*1e-4))*1e-9
  */
diff --git a/test/suite/ch09/9.3/S9.3_A1_T1.js b/test/suite/ch09/9.3/S9.3_A1_T1.js
index 75a4988ba5efa2a2d6d7e2e0042f7e0822e99b79..bd7869f1e512ced181768f3770282f93c3195d7e 100644
--- a/test/suite/ch09/9.3/S9.3_A1_T1.js
+++ b/test/suite/ch09/9.3/S9.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from undefined value is NaN
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A1_T1.js
+ * @path ch09/9.3/S9.3_A1_T1.js
  * @description Undefined convert to Number by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A1_T2.js b/test/suite/ch09/9.3/S9.3_A1_T2.js
index ec0c4a441aecaf3b8ad9d5c6e57133b1b5d76118..930e96919cd9113dce9fbc80ff9e39ab6b68246c 100644
--- a/test/suite/ch09/9.3/S9.3_A1_T2.js
+++ b/test/suite/ch09/9.3/S9.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from undefined value is NaN
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A1_T2.js
+ * @path ch09/9.3/S9.3_A1_T2.js
  * @description Undefined convert to Number by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A2_T1.js b/test/suite/ch09/9.3/S9.3_A2_T1.js
index efea3408aa548d05983c98285fe3e90258bc16d0..2be743bc7e420bf0a207ba3d9698f12c22f30865 100644
--- a/test/suite/ch09/9.3/S9.3_A2_T1.js
+++ b/test/suite/ch09/9.3/S9.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from null value is +0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A2_T1.js
+ * @path ch09/9.3/S9.3_A2_T1.js
  * @description null convert to Number by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A2_T2.js b/test/suite/ch09/9.3/S9.3_A2_T2.js
index c8a0ea3c2514bde92a2546a1dc407a102e5e11e0..ce035b90a6cbd152cc6b47c985f31199d8b0096a 100644
--- a/test/suite/ch09/9.3/S9.3_A2_T2.js
+++ b/test/suite/ch09/9.3/S9.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from null value is +0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A2_T2.js
+ * @path ch09/9.3/S9.3_A2_T2.js
  * @description null convert to Number by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A3_T1.js b/test/suite/ch09/9.3/S9.3_A3_T1.js
index 7e54601d0a7858748f3da4b2701e1bc6c56b0ba2..1feee2b6b5df619ef3e9dcec9553c3c00528f003 100644
--- a/test/suite/ch09/9.3/S9.3_A3_T1.js
+++ b/test/suite/ch09/9.3/S9.3_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from boolean value is 1 if the argument is true, else is +0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A3_T1.js
+ * @path ch09/9.3/S9.3_A3_T1.js
  * @description False and true convert to Number by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A3_T2.js b/test/suite/ch09/9.3/S9.3_A3_T2.js
index b3f9b5e48bf16ae981809377a414a5221742196b..4b7f30539f49a42ce61ada8763bbae69eacb3a30 100644
--- a/test/suite/ch09/9.3/S9.3_A3_T2.js
+++ b/test/suite/ch09/9.3/S9.3_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from boolean value is 1 if the argument is true, else is +0
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A3_T2.js
+ * @path ch09/9.3/S9.3_A3_T2.js
  * @description False and true convert to Number by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A4.1_T1.js b/test/suite/ch09/9.3/S9.3_A4.1_T1.js
index 2b865e0614ee3c6ea468f6c811045194e997efbd..96d24be9f5dad148c7c78e6697b338ad53c5092f 100644
--- a/test/suite/ch09/9.3/S9.3_A4.1_T1.js
+++ b/test/suite/ch09/9.3/S9.3_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from number value equals to the input argument (no conversion)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A4.1_T1.js
+ * @path ch09/9.3/S9.3_A4.1_T1.js
  * @description Some numbers including Number.MAX_VALUE and Number.MIN_VALUE are converted to Number with explicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A4.1_T2.js b/test/suite/ch09/9.3/S9.3_A4.1_T2.js
index 59cde3e22f94510c8248350c97e4a47554c6d43b..6c1c28b3da2e0a70d446a39d374f4a30f38519d5 100644
--- a/test/suite/ch09/9.3/S9.3_A4.1_T2.js
+++ b/test/suite/ch09/9.3/S9.3_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from number value equals to the input argument (no conversion)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A4.1_T2.js
+ * @path ch09/9.3/S9.3_A4.1_T2.js
  * @description Some numbers including Number.MAX_VALUE and Number.MIN_VALUE are converted to Number with implicit transformation
  */
 
diff --git a/test/suite/ch09/9.3/S9.3_A4.2_T1.js b/test/suite/ch09/9.3/S9.3_A4.2_T1.js
index 989a71155ad464f2c515c5a1e80aa3641aaebd2a..788f20cb9d8c87554027e3a325dbf45023b1ba55 100644
--- a/test/suite/ch09/9.3/S9.3_A4.2_T1.js
+++ b/test/suite/ch09/9.3/S9.3_A4.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from number value equals to the input argument (no conversion)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A4.2_T1.js
+ * @path ch09/9.3/S9.3_A4.2_T1.js
  * @description Number.NaN, +0, -0, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY,
  * Number.MAX_VALUE and Number.MIN_VALUE convert to Number by explicit transformation
  */
diff --git a/test/suite/ch09/9.3/S9.3_A4.2_T2.js b/test/suite/ch09/9.3/S9.3_A4.2_T2.js
index 1a74771602c51254b73cce445d82145bebb1ae54..3e4d8ad4acdba662f92e6f7f3e69c64417f65f2a 100644
--- a/test/suite/ch09/9.3/S9.3_A4.2_T2.js
+++ b/test/suite/ch09/9.3/S9.3_A4.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of number conversion from number value equals to the input argument (no conversion)
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A4.2_T2.js
+ * @path ch09/9.3/S9.3_A4.2_T2.js
  * @description Number.NaN, +0, -0, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY,
  * Number.MAX_VALUE and Number.MIN_VALUE convert to Number by implicit transformation
  */
diff --git a/test/suite/ch09/9.3/S9.3_A5_T1.js b/test/suite/ch09/9.3/S9.3_A5_T1.js
index b268f3d930c5726359d73e8f146a385399b0be95..a76f65b1da6fbbd9032bcea94c9ceef58a21491a 100644
--- a/test/suite/ch09/9.3/S9.3_A5_T1.js
+++ b/test/suite/ch09/9.3/S9.3_A5_T1.js
@@ -5,7 +5,7 @@
  * Result of number conversion from object value is the result
  * of conversion from primitive value
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A5_T1.js
+ * @path ch09/9.3/S9.3_A5_T1.js
  * @description new Number(), new Number(0), new Number(Number.NaN), new Number(null),
  * new Number(void 0) and others convert to Number by explicit transformation
  */
diff --git a/test/suite/ch09/9.3/S9.3_A5_T2.js b/test/suite/ch09/9.3/S9.3_A5_T2.js
index 851f01b3dc92425ff3d3a099d24447134af9e856..b4ebb54222fffd963e700b03968766915c876c5a 100644
--- a/test/suite/ch09/9.3/S9.3_A5_T2.js
+++ b/test/suite/ch09/9.3/S9.3_A5_T2.js
@@ -5,7 +5,7 @@
  * Result of number conversion from object value is the result
  * of conversion from primitive value
  *
- * @path 09_Type_Conversion/9.3_ToNumber/S9.3_A5_T2.js
+ * @path ch09/9.3/S9.3_A5_T2.js
  * @description new Number(), new Number(0), new Number(Number.NaN), new Number(null),
  * new Number(void 0) and others convert to Number by implicit transformation
  */
diff --git a/test/suite/ch09/9.4/S9.4_A1.js b/test/suite/ch09/9.4/S9.4_A1.js
index 70ca5ff849c934a5a7b5b3e4b0003dab8ed4e9b1..6c1b354c43b132fd4576cc0c45fcdb24e22d596e 100644
--- a/test/suite/ch09/9.4/S9.4_A1.js
+++ b/test/suite/ch09/9.4/S9.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * If ToNumber(value) is NaN, ToInteger(value) returns +0
  *
- * @path 09_Type_Conversion/9.4_ToInteger/S9.4_A1.js
+ * @path ch09/9.4/S9.4_A1.js
  * @description Check what position is defined by Number.NaN in string "abc": "abc".charAt(Number.NaN)
  */
 
diff --git a/test/suite/ch09/9.4/S9.4_A2.js b/test/suite/ch09/9.4/S9.4_A2.js
index 8d9e404948daaeaaa569f431f2de7c3b38967860..6b0ac54ac84e610e009f11aa656b04a50d104b99 100644
--- a/test/suite/ch09/9.4/S9.4_A2.js
+++ b/test/suite/ch09/9.4/S9.4_A2.js
@@ -5,7 +5,7 @@
  * If ToNumber(value) is +0, -0, +Infinity, or -Infinity,
  * return ToNumber(value)
  *
- * @path 09_Type_Conversion/9.4_ToInteger/S9.4_A2.js
+ * @path ch09/9.4/S9.4_A2.js
  * @description Check what position is defined by Number.NaN in string "abc": "abc".charAt(Number.NaN)
  */
 
diff --git a/test/suite/ch09/9.4/S9.4_A3_T1.js b/test/suite/ch09/9.4/S9.4_A3_T1.js
index fcea8388db76932556380599da96d0ee41d8a11f..d16c30b38b031d5feabf04c5522f7caecf877a0b 100644
--- a/test/suite/ch09/9.4/S9.4_A3_T1.js
+++ b/test/suite/ch09/9.4/S9.4_A3_T1.js
@@ -5,7 +5,7 @@
  * Result of ToInteger(value) conversion is the result of computing
  * sign(ToNumber(value)) * floor(abs(ToNumber(value)))
  *
- * @path 09_Type_Conversion/9.4_ToInteger/S9.4_A3_T1.js
+ * @path ch09/9.4/S9.4_A3_T1.js
  * @description For testing constructor Date(Number) is used
  */
 
diff --git a/test/suite/ch09/9.4/S9.4_A3_T2.js b/test/suite/ch09/9.4/S9.4_A3_T2.js
index 5a71f50c2c4165a280c851e74e77018048c88acf..f3a9796e8f5dadc6231f1a65a22eea472ae578f1 100644
--- a/test/suite/ch09/9.4/S9.4_A3_T2.js
+++ b/test/suite/ch09/9.4/S9.4_A3_T2.js
@@ -5,7 +5,7 @@
  * Result of ToInteger(value) conversion is the result of computing
  * sign(ToNumber(value)) * floor(abs(ToNumber(value)))
  *
- * @path 09_Type_Conversion/9.4_ToInteger/S9.4_A3_T2.js
+ * @path ch09/9.4/S9.4_A3_T2.js
  * @description For testing constructor Date(NaN, Infinity, Infinity, +0 and -0) is used
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A1_T1.js b/test/suite/ch09/9.5/S9.5_A1_T1.js
index f89aa7b5dab4a79743b556308ce0e07616bb32e5..76296a3a98a3d3aab5d2cf6c1b91634f5cd74cc0 100644
--- a/test/suite/ch09/9.5/S9.5_A1_T1.js
+++ b/test/suite/ch09/9.5/S9.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If value is NaN, +0, -0, +Infinity, or -Infinity, return +0
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A1_T1.js
+ * @path ch09/9.5/S9.5_A1_T1.js
  * @description For testing use operator <<0
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A2.1_T1.js b/test/suite/ch09/9.5/S9.5_A2.1_T1.js
index afa02ddece29f2d552d28b8f4939e129054c9a98..943425e85f0186694d136635f5575c1f4db726c0 100644
--- a/test/suite/ch09/9.5/S9.5_A2.1_T1.js
+++ b/test/suite/ch09/9.5/S9.5_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToInt32 returns values between -2^31 and 2^31-1
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A2.1_T1.js
+ * @path ch09/9.5/S9.5_A2.1_T1.js
  * @description Converting some numbers, which are in\outside of Int32 scopes, with <<0 operator
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A2.1_T2.js b/test/suite/ch09/9.5/S9.5_A2.1_T2.js
index a2afaa16c39a31a2c32a9c39a2807bdea2479c02..9037035c89c46799c25e8ff6b18561a459a46080 100644
--- a/test/suite/ch09/9.5/S9.5_A2.1_T2.js
+++ b/test/suite/ch09/9.5/S9.5_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * ToInt32 returns values between -2^31 and 2^31-1
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A2.1_T2.js
+ * @path ch09/9.5/S9.5_A2.1_T2.js
  * @description Converting some numbers, which are in\outside of Int32 scopes, with  ~ operator
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A2.2_T1.js b/test/suite/ch09/9.5/S9.5_A2.2_T1.js
index e01918ffe3531169cdfc3cc17551a9782a1102e9..e8c4544985971621cc20fa1608c92009aa9b79df 100644
--- a/test/suite/ch09/9.5/S9.5_A2.2_T1.js
+++ b/test/suite/ch09/9.5/S9.5_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Compute result modulo 2^32
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A2.2_T1.js
+ * @path ch09/9.5/S9.5_A2.2_T1.js
  * @description Use operator <<0
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A2.2_T2.js b/test/suite/ch09/9.5/S9.5_A2.2_T2.js
index 0f51d8bf754efb75d3da97b17b3212f69556b415..a138d03d76748811556507203c99eb385e7c15c7 100644
--- a/test/suite/ch09/9.5/S9.5_A2.2_T2.js
+++ b/test/suite/ch09/9.5/S9.5_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Compute result modulo 2^32
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A2.2_T2.js
+ * @path ch09/9.5/S9.5_A2.2_T2.js
  * @description Use operator ~
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A2.3_T1.js b/test/suite/ch09/9.5/S9.5_A2.3_T1.js
index 197cbcef688acc3f0a8ff8a27693c605650ff08c..af0e3702ee1c255c6369d095c5a0f15d738ded50 100644
--- a/test/suite/ch09/9.5/S9.5_A2.3_T1.js
+++ b/test/suite/ch09/9.5/S9.5_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If result is greater than or equal to 2^31, return result -2^32
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T1.js
+ * @path ch09/9.5/S9.5_A2.3_T1.js
  * @description Use operator <<0
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A2.3_T2.js b/test/suite/ch09/9.5/S9.5_A2.3_T2.js
index 379886b8e5fa6d1ebcf0f2be74dba81beba1be98..70c23270b29bd667fb58871ec1642bba03f20cb0 100644
--- a/test/suite/ch09/9.5/S9.5_A2.3_T2.js
+++ b/test/suite/ch09/9.5/S9.5_A2.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If result is greater than or equal to 2^31, return result -2^32
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js
+ * @path ch09/9.5/S9.5_A2.3_T2.js
  * @description Use operator ~
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A3.1_T1.js b/test/suite/ch09/9.5/S9.5_A3.1_T1.js
index e57d7366979494fe690d4331e3519ad2f5513a9b..ea9cc20482f5e99c85e9eea4623daa139328feea 100644
--- a/test/suite/ch09/9.5/S9.5_A3.1_T1.js
+++ b/test/suite/ch09/9.5/S9.5_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A3.1_T1.js
+ * @path ch09/9.5/S9.5_A3.1_T1.js
  * @description Type(x) is Boolean
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A3.1_T2.js b/test/suite/ch09/9.5/S9.5_A3.1_T2.js
index 44e2aaf869fc7b64ab30949663fe6b373104eefa..0a8769ba8c043a53722ed54bec933179097c5edb 100644
--- a/test/suite/ch09/9.5/S9.5_A3.1_T2.js
+++ b/test/suite/ch09/9.5/S9.5_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A3.1_T2.js
+ * @path ch09/9.5/S9.5_A3.1_T2.js
  * @description Type(x) is Number
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A3.1_T3.js b/test/suite/ch09/9.5/S9.5_A3.1_T3.js
index f1acedf54d8a2f2f981b9e0ec2c280ad88a45ef9..5886b0dafd05cbb20fb7a36c98688b4f5d580c15 100644
--- a/test/suite/ch09/9.5/S9.5_A3.1_T3.js
+++ b/test/suite/ch09/9.5/S9.5_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A3.1_T3.js
+ * @path ch09/9.5/S9.5_A3.1_T3.js
  * @description Type(x) is String
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A3.1_T4.js b/test/suite/ch09/9.5/S9.5_A3.1_T4.js
index 1bdacb80dd203b0f9f405a08158ebdc9ec63f71b..a4a701fc540e6fd3dadc76890eb21771339acf48 100644
--- a/test/suite/ch09/9.5/S9.5_A3.1_T4.js
+++ b/test/suite/ch09/9.5/S9.5_A3.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A3.1_T4.js
+ * @path ch09/9.5/S9.5_A3.1_T4.js
  * @description Type(x) is Object
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A3.2_T1.js b/test/suite/ch09/9.5/S9.5_A3.2_T1.js
index 3704302fa3d7ac1cb3a1002704ad4ff53ce23f8c..6a53855b4bfc9984d9a34ed99f6b4404d3144a97 100644
--- a/test/suite/ch09/9.5/S9.5_A3.2_T1.js
+++ b/test/suite/ch09/9.5/S9.5_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses floor, abs
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A3.2_T1.js
+ * @path ch09/9.5/S9.5_A3.2_T1.js
  * @description Use operator <<0
  */
 
diff --git a/test/suite/ch09/9.5/S9.5_A3.2_T2.js b/test/suite/ch09/9.5/S9.5_A3.2_T2.js
index be5ca6750bc59b6bb8901429ae895fa5443d4aaa..47838f6a1570f2de5bff61262783aa88ccf3d015 100644
--- a/test/suite/ch09/9.5/S9.5_A3.2_T2.js
+++ b/test/suite/ch09/9.5/S9.5_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses floor, abs
  *
- * @path 09_Type_Conversion/9.5_ToInt32/S9.5_A3.2_T2.js
+ * @path ch09/9.5/S9.5_A3.2_T2.js
  * @description Use operator ~
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A1.js b/test/suite/ch09/9.6/S9.6_A1.js
index 5cc64006d69c9c3b956c6c06421fe3f69d005800..6e370541b1a4472216d39bdbcae4f2a48bef4d80 100644
--- a/test/suite/ch09/9.6/S9.6_A1.js
+++ b/test/suite/ch09/9.6/S9.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * If value is NaN, +0, -0, +Infinity, or -Infinity, return +0
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A1.js
+ * @path ch09/9.6/S9.6_A1.js
  * @description For testing use operator >>>0
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A2.1.js b/test/suite/ch09/9.6/S9.6_A2.1.js
index 0d0d8704a466501f253c3390788b38273fe6e605..cc2f38c85b3a65ae839abfa66efdf9be008b0a37 100644
--- a/test/suite/ch09/9.6/S9.6_A2.1.js
+++ b/test/suite/ch09/9.6/S9.6_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * ToUint32 returns values between 0 and 2^32-1
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A2.1.js
+ * @path ch09/9.6/S9.6_A2.1.js
  * @description Converting numbers, which are in\outside of Uint32 scopes, with >>>0 operator
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A2.2.js b/test/suite/ch09/9.6/S9.6_A2.2.js
index aeeaa6d12c0f6dc2e4ef2b36c3eaed60f7709b73..7438cbe958d6801318bdc2a2f917530800597832 100644
--- a/test/suite/ch09/9.6/S9.6_A2.2.js
+++ b/test/suite/ch09/9.6/S9.6_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * Compute result modulo 2^32
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A2.2.js
+ * @path ch09/9.6/S9.6_A2.2.js
  * @description Use operator >>>0
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A3.1_T1.js b/test/suite/ch09/9.6/S9.6_A3.1_T1.js
index 861898bdb6d261652365fd3b696396ba01dc6928..d73f715b9af5a4b568b20ff65bc653c8326de8f6 100644
--- a/test/suite/ch09/9.6/S9.6_A3.1_T1.js
+++ b/test/suite/ch09/9.6/S9.6_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A3.1_T1.js
+ * @path ch09/9.6/S9.6_A3.1_T1.js
  * @description Type(x) is Boolean
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A3.1_T2.js b/test/suite/ch09/9.6/S9.6_A3.1_T2.js
index ff373b4fc38c2b3f937e49383bb96f149cb5c9dd..5e99b13b315b58946bdf53465d131c0b584bd56b 100644
--- a/test/suite/ch09/9.6/S9.6_A3.1_T2.js
+++ b/test/suite/ch09/9.6/S9.6_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A3.1_T2.js
+ * @path ch09/9.6/S9.6_A3.1_T2.js
  * @description Type(x) is Number
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A3.1_T3.js b/test/suite/ch09/9.6/S9.6_A3.1_T3.js
index cc24dae718a0adb5e2a038103600040fbc4db35d..480ffd0cc24a6432bf82fd6a9e8492955fd4b7c0 100644
--- a/test/suite/ch09/9.6/S9.6_A3.1_T3.js
+++ b/test/suite/ch09/9.6/S9.6_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A3.1_T3.js
+ * @path ch09/9.6/S9.6_A3.1_T3.js
  * @description Type(x) is String
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A3.1_T4.js b/test/suite/ch09/9.6/S9.6_A3.1_T4.js
index 976ed1517777737f6dc05a4a04137a968b193f30..65381fd0d7ef4239d45e6f0058d85c59792d26d2 100644
--- a/test/suite/ch09/9.6/S9.6_A3.1_T4.js
+++ b/test/suite/ch09/9.6/S9.6_A3.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A3.1_T4.js
+ * @path ch09/9.6/S9.6_A3.1_T4.js
  * @description Type(x) is Object
  */
 
diff --git a/test/suite/ch09/9.6/S9.6_A3.2_T1.js b/test/suite/ch09/9.6/S9.6_A3.2_T1.js
index 17589af546c815183b2fe80c83642f46228b98b0..87d0b2a84622a68c1224192c3c46813cc45a5f81 100644
--- a/test/suite/ch09/9.6/S9.6_A3.2_T1.js
+++ b/test/suite/ch09/9.6/S9.6_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses floor, abs
  *
- * @path 09_Type_Conversion/9.6_ToUint32/S9.6_A3.2_T1.js
+ * @path ch09/9.6/S9.6_A3.2_T1.js
  * @description Use operator >>>0
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A1.js b/test/suite/ch09/9.7/S9.7_A1.js
index 2b91d22713b7c39e7b2e552cea35808e8dd17d0b..443711768e3d4eabf7cde68d7c3737bac1fcef6c 100644
--- a/test/suite/ch09/9.7/S9.7_A1.js
+++ b/test/suite/ch09/9.7/S9.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * If value is NaN, +0, -0, +Infinity, or -Infinity, return +0
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A1.js
+ * @path ch09/9.7/S9.7_A1.js
  * @description For testing use String.fromCharCode(Number).charCodeAt(0) construction
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A2.1.js b/test/suite/ch09/9.7/S9.7_A2.1.js
index 3e289b1bf64b69a4c6600025e3ca89df44522a4f..5073f9c8733c221dad66ee89e1d42149206cf5bf 100644
--- a/test/suite/ch09/9.7/S9.7_A2.1.js
+++ b/test/suite/ch09/9.7/S9.7_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * ToUint16 returns values between 0 and 2^16-1
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A2.1.js
+ * @path ch09/9.7/S9.7_A2.1.js
  * @description Converting numbers, which are in\outside of Uint16 scopes, with String.fromCharCode(Number).charCodeAt(0) construction
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A2.2.js b/test/suite/ch09/9.7/S9.7_A2.2.js
index 09a68aeef327e676055c8a9e987f640b3cc35cba..d631bd9120655f45b1a928d1c0fcef1e40f0f017 100644
--- a/test/suite/ch09/9.7/S9.7_A2.2.js
+++ b/test/suite/ch09/9.7/S9.7_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * Compute result modulo 2^16
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A2.2.js
+ * @path ch09/9.7/S9.7_A2.2.js
  * @description For testing use String.fromCharCode(Number).charCodeAt(0) construction
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A3.1_T1.js b/test/suite/ch09/9.7/S9.7_A3.1_T1.js
index 3cac04bb20dcdf2aadc399c2b46e9575f04d2d2e..315b133d23613c4dc9d044dd7cae7624a1fbef63 100644
--- a/test/suite/ch09/9.7/S9.7_A3.1_T1.js
+++ b/test/suite/ch09/9.7/S9.7_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A3.1_T1.js
+ * @path ch09/9.7/S9.7_A3.1_T1.js
  * @description Type(x) is Boolean
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A3.1_T2.js b/test/suite/ch09/9.7/S9.7_A3.1_T2.js
index f3f6fc92b30e413527f5b9b10921a57e6ab8b3ac..613229333b4516e092a667c73a28362c34fa383e 100644
--- a/test/suite/ch09/9.7/S9.7_A3.1_T2.js
+++ b/test/suite/ch09/9.7/S9.7_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A3.1_T2.js
+ * @path ch09/9.7/S9.7_A3.1_T2.js
  * @description Type(x) is Number
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A3.1_T3.js b/test/suite/ch09/9.7/S9.7_A3.1_T3.js
index bae8d7e39111c87d83dc8d2f39a84165cf405cbb..ff66475cad91574379820b29217ceb8b1fff06d0 100644
--- a/test/suite/ch09/9.7/S9.7_A3.1_T3.js
+++ b/test/suite/ch09/9.7/S9.7_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A3.1_T3.js
+ * @path ch09/9.7/S9.7_A3.1_T3.js
  * @description Type(x) is String
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A3.1_T4.js b/test/suite/ch09/9.7/S9.7_A3.1_T4.js
index fa3bd56b001a20d4bd3244afe848b96fc8656cc0..49627e759910c23a97e969dd08b4c7f6518ecb01 100644
--- a/test/suite/ch09/9.7/S9.7_A3.1_T4.js
+++ b/test/suite/ch09/9.7/S9.7_A3.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses ToNumber
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A3.1_T4.js
+ * @path ch09/9.7/S9.7_A3.1_T4.js
  * @description Type(x) is Object
  */
 
diff --git a/test/suite/ch09/9.7/S9.7_A3.2_T1.js b/test/suite/ch09/9.7/S9.7_A3.2_T1.js
index 4ac558a04257e9879ebc5567fea9885cd3849caf..b7b6ecbbebcdfc7e010fc20a20552867ac012a68 100644
--- a/test/suite/ch09/9.7/S9.7_A3.2_T1.js
+++ b/test/suite/ch09/9.7/S9.7_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses floor, abs
  *
- * @path 09_Type_Conversion/9.7_ToUint16/S9.7_A3.2_T1.js
+ * @path ch09/9.7/S9.7_A3.2_T1.js
  * @description For testing use String.fromCharCode(Number).charCodeAt(0) construction
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A1.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A1.js
index 065886395206473a53b29226705d26a606313920..b51e4cca17bb82e5a2893f6c765912f93590f2e7 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A1.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * If m is NaN, return the string "NaN"
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A1.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A1.js
  * @description NaN convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A10.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A10.js
index d22214706c7f3d0440ffeed2c91d7ed0763956e0..17fa406971f0438c8c2dfc9e804e1763bcc5f5f3 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A10.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A10.js
@@ -9,7 +9,7 @@
  * minus sign '-' according to whether n-1 is positive or negative, followed
  * by the decimal representation of the integer abs(n-1) (with no leading zeros)
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A10.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A10.js
  * @description Various float numbers convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A2.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A2.js
index e82669e7e086eb15f98f1d4002a2f0061e047e40..adc8e1f5e3a6f583252b9f75b8bf912ee87a16ad 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A2.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * If m is +0 or -0, return the string "0"
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A2.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A2.js
  * @description +0 and -0 convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A3.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A3.js
index 3e3d6a212b74a04bf5786ab21e07bcbd1cd84e2e..3945f22797c9980d11e94bea8976e47a2759194b 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A3.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A3.js
@@ -5,7 +5,7 @@
  * If m is less than zero, return the string concatenation of the
  * string "-" and ToString(-m)
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A3.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A3.js
  * @description -1234567890 convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A4.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A4.js
index 266853fe2d7ec14784f8150c3335b2dd91607852..f71ac7557a20f6bbb18701dd6e160e74f0fe76a2 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A4.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * If m is infinity, return the string "Infinity"
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A4.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A4.js
  * @description +/-Infinity convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A6.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A6.js
index bcdefb65913fe1985973867cd3f5d0c671e55836..8b9ddf42e8cf1dca405d1ca243e93d2575d88abb 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A6.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A6.js
@@ -6,7 +6,7 @@
  * consisting of the k digits of the decimal representation of s (in order,
  * with no leading zeroes), followed by n-k occurrences of the character '0'
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A6.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A6.js
  * @description Various integer numbers convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A7.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A7.js
index c48132acf050674a12f6f0b87f34dd491bf61bdb..5ad14c25df7b92367c44792d6712839375a36b9f 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A7.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A7.js
@@ -7,7 +7,7 @@
  * the decimal representation of s, followed by a decimal point '.',
  * followed by the remaining k-n digits of the decimal representation of s
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A7.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A7.js
  * @description 1.0000001 and -1.0000001 convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A8.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A8.js
index 46cde88a87144a0927443f109dba48d75e955480..91efe0b52b416191a31486570917bb684aff5d56 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A8.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A8.js
@@ -7,7 +7,7 @@
  * of the character '0', followed by the k digits of the decimal
  * representation of s
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A8.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A8.js
  * @description Various float numbers convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T1.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T1.js
index 382af3e2d0894b3a0ed11f97f28ab51bebc9fb3b..d4614194b8f47835bf4ac516c46b1994580184d6 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T1.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T1.js
@@ -7,7 +7,7 @@
  * sign '-' according to whether n-1 is positive or negative, followed by the
  * decimal representation of the integer abs(n-1) (with no leading zeros)
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A9_T1.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A9_T1.js
  * @description Various big numbers convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T2.js b/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T2.js
index 341f2ebc0604505219914854b93d5dd1c004069b..79ca7873ed9e87388edc0d22362e35fb0d5bb759 100644
--- a/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T2.js
+++ b/test/suite/ch09/9.8/9.8.1/S9.8.1_A9_T2.js
@@ -7,7 +7,7 @@
  * sign '-' according to whether n-1 is positive or negative, followed by the
  * decimal representation of the integer abs(n-1) (with no leading zeros)
  *
- * @path 09_Type_Conversion/9.8_ToString/9.8.1_ToString_Applied_to_the_Number_Type/S9.8.1_A9_T2.js
+ * @path ch09/9.8/9.8.1/S9.8.1_A9_T2.js
  * @description Various float numbers with many zeros convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A1_T1.js b/test/suite/ch09/9.8/S9.8_A1_T1.js
index 9756c0fa8c9b2ac3cb0eb0568a7a2e4452ad04c7..efce3a54683da51bb46200c88aaa4280ca918e3c 100644
--- a/test/suite/ch09/9.8/S9.8_A1_T1.js
+++ b/test/suite/ch09/9.8/S9.8_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of ToString conversion from undefined value is "undefined"
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A1_T1.js
+ * @path ch09/9.8/S9.8_A1_T1.js
  * @description Undefined values is undefined, void 0 and eval("var x"). Use explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A1_T2.js b/test/suite/ch09/9.8/S9.8_A1_T2.js
index 4178cdadf546c1f45a1b29af31f58d05a3fd5f9f..dd26c11b4409a9edaed09a2ceb96abaff32b97d0 100644
--- a/test/suite/ch09/9.8/S9.8_A1_T2.js
+++ b/test/suite/ch09/9.8/S9.8_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of ToString conversion from undefined value is "undefined"
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A1_T2.js
+ * @path ch09/9.8/S9.8_A1_T2.js
  * @description Undefined values is undefined, void 0 and eval("var x"). Use implicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A2_T1.js b/test/suite/ch09/9.8/S9.8_A2_T1.js
index 9926d87576e0892165acc80723463ca2574a8a93..0a1b982b741c8c9c77da52a8e209d129c9fe62d3 100644
--- a/test/suite/ch09/9.8/S9.8_A2_T1.js
+++ b/test/suite/ch09/9.8/S9.8_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of ToString conversion from null value is "null"
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A2_T1.js
+ * @path ch09/9.8/S9.8_A2_T1.js
  * @description null convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A2_T2.js b/test/suite/ch09/9.8/S9.8_A2_T2.js
index 6dbfd6238ddbaa3767fffcd10497d72eab9af20c..3b760909babfb8df090c2e8c1675f51732199485 100644
--- a/test/suite/ch09/9.8/S9.8_A2_T2.js
+++ b/test/suite/ch09/9.8/S9.8_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of ToString conversion from null value is "null"
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A2_T2.js
+ * @path ch09/9.8/S9.8_A2_T2.js
  * @description null convert to String by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A3_T1.js b/test/suite/ch09/9.8/S9.8_A3_T1.js
index c6d96dc15d3b8d6df64b5d2b54bb7ab8fa8f5d2a..cc267edc8fe79caba1a4b1a956f21deaffdd26dd 100644
--- a/test/suite/ch09/9.8/S9.8_A3_T1.js
+++ b/test/suite/ch09/9.8/S9.8_A3_T1.js
@@ -5,7 +5,7 @@
  * Result of ToString conversion from boolean value is "true" if
  * the argument is "true", else is "false"
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A3_T1.js
+ * @path ch09/9.8/S9.8_A3_T1.js
  * @description True and false convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A3_T2.js b/test/suite/ch09/9.8/S9.8_A3_T2.js
index cd7c666695bcd3d437441b04596a76731cdefb22..788bcb58dd158920a0668af9002fe7f4c05e1d45 100644
--- a/test/suite/ch09/9.8/S9.8_A3_T2.js
+++ b/test/suite/ch09/9.8/S9.8_A3_T2.js
@@ -5,7 +5,7 @@
  * Result of ToString conversion from boolean value is "true" if
  * the argument is "true", else is "false"
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A3_T2.js
+ * @path ch09/9.8/S9.8_A3_T2.js
  * @description True and false convert to String by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A4_T1.js b/test/suite/ch09/9.8/S9.8_A4_T1.js
index e45bea3cba05004b0e3e3d1483d9fee9bfd58bfa..0644584614ea8ee080841c9f86e495723562c019 100644
--- a/test/suite/ch09/9.8/S9.8_A4_T1.js
+++ b/test/suite/ch09/9.8/S9.8_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Result of String conversion from string value is the input argument (no conversion)
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A4_T1.js
+ * @path ch09/9.8/S9.8_A4_T1.js
  * @description Some strings convert to String with explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A4_T2.js b/test/suite/ch09/9.8/S9.8_A4_T2.js
index dc26c3e621eda0c12cc21f3a0bbd08b497777cd0..fdde4c38e220dc25ddc4daea9ba222f61f49f17a 100644
--- a/test/suite/ch09/9.8/S9.8_A4_T2.js
+++ b/test/suite/ch09/9.8/S9.8_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Result of String conversion from string value is the input argument (no conversion)
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A4_T2.js
+ * @path ch09/9.8/S9.8_A4_T2.js
  * @description Some strings convert to String by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A5_T1.js b/test/suite/ch09/9.8/S9.8_A5_T1.js
index f08c4c07386b2c81aa200b970b86742d4188f2c1..55d88c102607ee04751b92ce49f1ed88dfe9a613 100644
--- a/test/suite/ch09/9.8/S9.8_A5_T1.js
+++ b/test/suite/ch09/9.8/S9.8_A5_T1.js
@@ -5,7 +5,7 @@
  * Result of String conversion from Object value is conversion
  * from primitive value
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A5_T1.js
+ * @path ch09/9.8/S9.8_A5_T1.js
  * @description Some objects convert to String by explicit transformation
  */
 
diff --git a/test/suite/ch09/9.8/S9.8_A5_T2.js b/test/suite/ch09/9.8/S9.8_A5_T2.js
index 7a9bf88a91915ae761b9974a06dba96aa5b9c4f6..7911adaee18dfe6306ec69e60c38879fc18cadb7 100644
--- a/test/suite/ch09/9.8/S9.8_A5_T2.js
+++ b/test/suite/ch09/9.8/S9.8_A5_T2.js
@@ -5,7 +5,7 @@
  * Result of String conversion from Object value is conversion
  * from primitive value
  *
- * @path 09_Type_Conversion/9.8_ToString/S9.8_A5_T2.js
+ * @path ch09/9.8/S9.8_A5_T2.js
  * @description Some objects convert to String by implicit transformation
  */
 
diff --git a/test/suite/ch09/9.9/S9.9_A1.js b/test/suite/ch09/9.9/S9.9_A1.js
index c7f28190770810974f0c2becf916eebca83b7383..a1d36aabd650a45866a453f329077068a9cebe03 100644
--- a/test/suite/ch09/9.9/S9.9_A1.js
+++ b/test/suite/ch09/9.9/S9.9_A1.js
@@ -4,7 +4,7 @@
 /**
  * ToObject conversion from undefined value must throw TypeError
  *
- * @path 09_Type_Conversion/9.9_ToObject/S9.9_A1.js
+ * @path ch09/9.9/S9.9_A1.js
  * @description Trying to convert undefined to Object
  * @noStrict
  */
diff --git a/test/suite/ch09/9.9/S9.9_A2.js b/test/suite/ch09/9.9/S9.9_A2.js
index 4e9647c60374fd09ae07ff9617c9b26f3000d8ef..42e1980e7fef38a528847c944a05f2538ce795cb 100644
--- a/test/suite/ch09/9.9/S9.9_A2.js
+++ b/test/suite/ch09/9.9/S9.9_A2.js
@@ -4,7 +4,7 @@
 /**
  * ToObject conversion from null value must throw TypeError
  *
- * @path 09_Type_Conversion/9.9_ToObject/S9.9_A2.js
+ * @path ch09/9.9/S9.9_A2.js
  * @description Trying to convert null to Object
  * @noStrict
  */
diff --git a/test/suite/ch09/9.9/S9.9_A3.js b/test/suite/ch09/9.9/S9.9_A3.js
index 9515a572734f0d0e92a0dc27d7d1541becf7f7bc..f91cd8e82dfed43e90f012e4ee23db6d463bfd7f 100644
--- a/test/suite/ch09/9.9/S9.9_A3.js
+++ b/test/suite/ch09/9.9/S9.9_A3.js
@@ -5,7 +5,7 @@
  * ToObject conversion from Boolean: create a new Boolean object
  * whose [[value]] property is set to the value of the boolean
  *
- * @path 09_Type_Conversion/9.9_ToObject/S9.9_A3.js
+ * @path ch09/9.9/S9.9_A3.js
  * @description Trying to convert from Boolean to Object
  */
 
diff --git a/test/suite/ch09/9.9/S9.9_A4.js b/test/suite/ch09/9.9/S9.9_A4.js
index a8860e838ca8493eef54062954cc0f95db0301ee..2f08bf52cd0dd79cb7521100e36c6fffb92f93a9 100644
--- a/test/suite/ch09/9.9/S9.9_A4.js
+++ b/test/suite/ch09/9.9/S9.9_A4.js
@@ -5,7 +5,7 @@
  * ToObject conversion from Number: create a new Number object
  * whose [[value]] property is set to the value of the number
  *
- * @path 09_Type_Conversion/9.9_ToObject/S9.9_A4.js
+ * @path ch09/9.9/S9.9_A4.js
  * @description Converting from various numbers to Object
  */
 
diff --git a/test/suite/ch09/9.9/S9.9_A5.js b/test/suite/ch09/9.9/S9.9_A5.js
index f3c81893e540d2da879b35984b44bf8340f69e60..2f59c1182a3eca4a495a787253c7e791bb603315 100644
--- a/test/suite/ch09/9.9/S9.9_A5.js
+++ b/test/suite/ch09/9.9/S9.9_A5.js
@@ -5,7 +5,7 @@
  * ToObject conversion from String: create a new String object
  * whose [[value]] property is set to the value of the string
  *
- * @path 09_Type_Conversion/9.9_ToObject/S9.9_A5.js
+ * @path ch09/9.9/S9.9_A5.js
  * @description Converting from various strings to Object
  */
 
diff --git a/test/suite/ch09/9.9/S9.9_A6.js b/test/suite/ch09/9.9/S9.9_A6.js
index 7885a980a401e65bf5aac4be08f10752a916e504..a256790162da6939583f4e7bdf53fb9c89fed59d 100644
--- a/test/suite/ch09/9.9/S9.9_A6.js
+++ b/test/suite/ch09/9.9/S9.9_A6.js
@@ -5,7 +5,7 @@
  * ToObject conversion from Object: The result is the input
  * argument (no conversion)
  *
- * @path 09_Type_Conversion/9.9_ToObject/S9.9_A6.js
+ * @path ch09/9.9/S9.9_A6.js
  * @description Converting from Objects to Object
  */
 
diff --git a/test/suite/ch10/10.1/S10.1.1_A1_T1.js b/test/suite/ch10/10.1/S10.1.1_A1_T1.js
index 4ca0a1c8bd31a40caf0dc9a57674ca39216ff1cf..4085aa5ace9786ee60a57fcf83f9a7795937be0a 100644
--- a/test/suite/ch10/10.1/S10.1.1_A1_T1.js
+++ b/test/suite/ch10/10.1/S10.1.1_A1_T1.js
@@ -5,7 +5,7 @@
  * Program functions are defined in source text by a FunctionDeclaration or created dynamically either
  * by using a FunctionExpression or by using the built-in Function object as a constructor
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.1_A1_T1.js
+ * @path ch10/10.1/S10.1.1_A1_T1.js
  * @description Defining function by a FunctionDeclaration
  */
 
diff --git a/test/suite/ch10/10.1/S10.1.1_A1_T2.js b/test/suite/ch10/10.1/S10.1.1_A1_T2.js
index 7d2ac5b69259a862bf4ac693b75c10bdc7636ddd..d453d6e59675004d1a13784473e20f1713d797db 100644
--- a/test/suite/ch10/10.1/S10.1.1_A1_T2.js
+++ b/test/suite/ch10/10.1/S10.1.1_A1_T2.js
@@ -5,7 +5,7 @@
  * Program functions are defined in source text by a FunctionDeclaration or created dynamically either
  * by using a FunctionExpression or by using the built-in Function object as a constructor
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.1_A1_T2.js
+ * @path ch10/10.1/S10.1.1_A1_T2.js
  * @description Creating function dynamically by using a FunctionExpression
  */
 
diff --git a/test/suite/ch10/10.1/S10.1.1_A1_T3.js b/test/suite/ch10/10.1/S10.1.1_A1_T3.js
index d5b5585cddc1f5b20d72f97f00a571d3c3ab7021..5e49dcd5940ec9078a4e6cfb2918908190686e6d 100644
--- a/test/suite/ch10/10.1/S10.1.1_A1_T3.js
+++ b/test/suite/ch10/10.1/S10.1.1_A1_T3.js
@@ -5,7 +5,7 @@
  * Program functions are defined in source text by a FunctionDeclaration or created dynamically either
  * by using a FunctionExpression or by using the built-in Function object as a constructor
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.1_A1_T3.js
+ * @path ch10/10.1/S10.1.1_A1_T3.js
  * @description Creating function dynamically by using the built-in Function object as a constructor
  */
 
diff --git a/test/suite/ch10/10.1/S10.1.1_A2_T1.js b/test/suite/ch10/10.1/S10.1.1_A2_T1.js
index 1acac2859ba50c437085250b9b05e91f765d493b..aa5701155db3e0662f27e8da694404dca86b7812 100644
--- a/test/suite/ch10/10.1/S10.1.1_A2_T1.js
+++ b/test/suite/ch10/10.1/S10.1.1_A2_T1.js
@@ -5,7 +5,7 @@
  * There are two types of Function objects. Internal functions
  * are built-in objects of the language, such as parseInt and Math.exp
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.1_A2_T1.js
+ * @path ch10/10.1/S10.1.1_A2_T1.js
  * @description Checking types of parseInt and Math.exp
  */
 
diff --git a/test/suite/ch10/10.1/S10.1.6_A1_T1.js b/test/suite/ch10/10.1/S10.1.6_A1_T1.js
index bdd68069cf0e3724383cec3d24cdf4131492ff93..5dee9bf43d89d9d1fc1e9fb5fd51def9e442bee6 100644
--- a/test/suite/ch10/10.1/S10.1.6_A1_T1.js
+++ b/test/suite/ch10/10.1/S10.1.6_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The activation object is initialised with a property with name arguments and attributes {DontDelete}
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.6_A1_T1.js
+ * @path ch10/10.1/S10.1.6_A1_T1.js
  * @description Checking if deleting function parameter is possible
  * @noStrict
  */
diff --git a/test/suite/ch10/10.1/S10.1.6_A1_T2.js b/test/suite/ch10/10.1/S10.1.6_A1_T2.js
index 91092f11d58c6a9eae33d124422e24411a57cc58..8747b2f110be97507f994329efe144ec504eb3ec 100644
--- a/test/suite/ch10/10.1/S10.1.6_A1_T2.js
+++ b/test/suite/ch10/10.1/S10.1.6_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The activation object is initialised with a property with name arguments and attributes {DontDelete}
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.6_A1_T2.js
+ * @path ch10/10.1/S10.1.6_A1_T2.js
  * @description Checking funtion which returns property "arguments"
  */
 
diff --git a/test/suite/ch10/10.1/S10.1.6_A1_T3.js b/test/suite/ch10/10.1/S10.1.6_A1_T3.js
index 7d242ba0a58fed0492d45af583b4755f2c6300f3..95e1bf2ef3858b57d185ffa039b2d924fbb211ee 100644
--- a/test/suite/ch10/10.1/S10.1.6_A1_T3.js
+++ b/test/suite/ch10/10.1/S10.1.6_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The activation object is initialised with a property with name arguments and attributes {DontDelete}
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.6_A1_T3.js
+ * @path ch10/10.1/S10.1.6_A1_T3.js
  * @description Checking function which returns "this"
  * @noStrict
  */
diff --git a/test/suite/ch10/10.1/S10.1.7_A1_T1.js b/test/suite/ch10/10.1/S10.1.7_A1_T1.js
index d36d040075a3ad3341d2c439b593d29736cbd919..f7e7a0b0cca2bb7d86191c55666d9ec840bbd36b 100644
--- a/test/suite/ch10/10.1/S10.1.7_A1_T1.js
+++ b/test/suite/ch10/10.1/S10.1.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The this value associated with an executioncontext is immutable
  *
- * @path 10_Execution_Contexts/10.1_Types_of_Executable_Code/S10.1.7_A1_T1.js
+ * @path ch10/10.1/S10.1.7_A1_T1.js
  * @description Checking if deleting "this" fails
  */
 
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A1.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A1.js
index e5bfb3c85d6e3881b0b481f9a9aeb7b12ae83450..6206633b248de9a9f8c2b5de8fd1abcedb7abd6a 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A1.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A1.js
@@ -5,7 +5,7 @@
  * If the caller supplies fewer parameter values than there are
  * formal parameters, the extra formal parameters have value undefined
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A1.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A1.js
  * @description Calling function excluding a few parameters
  */
 
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A2.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A2.js
index 1490f3af96122b37de5dc60ca158ac6097e311e6..e622c54626fe323ca22cac480fb8ca081b24fe0f 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A2.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A2.js
@@ -6,7 +6,7 @@
  * the same property, the corresponding property is given the value that was
  * supplied for the last parameter with this name
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A2.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A2.js
  * @description Creating functions initialized with two or more formal parameters, which have the same name
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A3.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A3.js
index bcd5ba628704fb96da59d07c6eda788ca33aea07..1c15c0621d3c8281bb4b370a791e33ddde87a8d2 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A3.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A3.js
@@ -6,7 +6,7 @@
  * name as some previous parameters do) was not supplied by the
  * caller, the value of the corresponding property is undefined
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A3.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A3.js
  * @description Creating functions with two or more formal parameters,
  * that have the same name. Calling this function excluding a few last parameters
  */
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T1.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T1.js
index cb6dfde17e6719fe83698c956abe3b103a0f6930..a153af430f6530f51a687dc16d190fcb14f5b0fc 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T1.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T1.js
@@ -7,7 +7,7 @@
  * value and attributes. Semantically, this step must follow the creation of
  * FormalParameterList properties
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A4_T1.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A4_T1.js
  * @description Checking existence of a function with passed parameter
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T2.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T2.js
index 98459bca6794114c99bad11fa06d905d8a151014..16661df91dba4ca100e6050f5ffc9f39b01c50f6 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T2.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A4_T2.js
@@ -7,7 +7,7 @@
  * value and attributes. Semantically, this step must follow the creation of
  * FormalParameterList properties
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A4_T2.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A4_T2.js
  * @description Checking existence of a function with declared variable
  */
 
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js
index 6784005adbca10e448092fdb884287e223f51fa9..824aedeeec3b14745e4979490a4c25a831f68cec 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js
@@ -7,7 +7,7 @@
  * in the VariableDeclaration or VariableDeclarationNoIn, whose value is
  * undefined and whose attributes are determined by the type of code
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A5.1_T1.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js
  * @description Checking variable existence only
  */
 
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js
index 9ee8fe9ab22fe20343bbe45bf1e2ba96f68a6336..adef8b5c5d489494aa7e77763dcd80bfda395ad2 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js
@@ -7,7 +7,7 @@
  * in the VariableDeclaration or VariableDeclarationNoIn, whose value is
  * undefined and whose attributes are determined by the type of code
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A5.1_T2.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js
  * @description Checking existence of the variable object property with formal parameter
  */
 
diff --git a/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js b/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js
index b06580d44c050a5f495542ceb58ce881627c68d6..d5321c9079a32c4beed34fa0cc1e28faa845070d 100644
--- a/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js
+++ b/test/suite/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js
@@ -6,7 +6,7 @@
  * name of a declared variable, the value of the property and its attributes
  * are not changed
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.1_Environment_Records/S10.1.3_A5.2_T1.js
+ * @path ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js
  * @description Checking existence of the variable object property with formal parameter
  */
 
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T1.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T1.js
index a4e0323f111737bcf7a4fe1842f7b9bfd1842776..7aba918d1780f09ef7994510f51a560002e6c3ef 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T1.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T1.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T1.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T1.js
  * @description Checking scope chain containing function declarations
  */
 
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T2.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T2.js
index 7bd0ab1f56fbba4c974acd7ba78642209cc103b9..33b472418811994a838e2f40b74da4f490f460b2 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T2.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T2.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T2.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T2.js
  * @description Checking scope chain containing function declarations
  */
 
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T3.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T3.js
index 7d3c2e59fbc772b578338c90e147ec6f0269d7e8..a9a85deff061f0dd569ea3fd832c49fef159a60a 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T3.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T3.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T3.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T3.js
  * @description Checking scope chain containing function declarations
  */
 
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T4.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T4.js
index fba1eda67445f55f0dc02b9edeca281968f563da..e32ffac352593c278c2bbe3ad4a7e82ec12efd5d 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T4.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T4.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T4.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T4.js
  * @description Checking scope chain containing function declarations
  */
 
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T5.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T5.js
index 156bab36c0c72efc125433aaa34c2d1d619915e5..c71654f6fef1dc8ebba63e52cf6e8727ae36e85e 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T5.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T5.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T5.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T5.js
  * @description Checking scope chain containing function declarations and "with"
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T6.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T6.js
index d4247f85a39e2592dc8f2b59dc15ba0836b56519..990c27ef3c577374334f8636ec99b4c58e57a5a7 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T6.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T6.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T6.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T6.js
  * @description Checking scope chain containing function declarations and "with"
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T7.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T7.js
index d8b2fbdc1ab0a1d31f95bb4d3a75cfabdba20dae..cc719b5046c8c6d802789d477dcdef80cbcfab10 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T7.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T7.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T7.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T7.js
  * @description Checking scope chain containing function declarations and "with"
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T8.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T8.js
index 429741cec04df96325e8b442ff43fcf7a285cc0c..3aaefcf14bc07d76a19932a6bfcf324a1c686d1c 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T8.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T8.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T8.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T8.js
  * @description Checking scope chain containing function declarations and "with"
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T9.js b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T9.js
index 7ad5aa6d4cccd7384814e0cdf3848728b1488e08..c03fdd1cf4243c81072ba6643292ee72bf9cfa4a 100644
--- a/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T9.js
+++ b/test/suite/ch10/10.2/10.2.2/S10.2.2_A1_T9.js
@@ -6,7 +6,7 @@
  * A scope chain is a list of objects that are searched when evaluating an
  * Identifier
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.2__Lexical_Environment_Operations/S10.1.4_A1_T9.js
+ * @path ch10/10.2/10.2.2/S10.2.2_A1_T9.js
  * @description Checking scope chain containing function declarations and "with"
  * @noStrict
  */
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js
index 553b99a9b51d0e9fa9553b3d65dbc9a75f0ff5ff..6a133d7889016b229de7a5907f92a9691fef4b8e 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.1_T1.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js
  * @description Global execution context - Value Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js
index 6d067d9d9add98d3bf1990a1538bc9d646234564..1fafadc99ff2dbbed33356232d09e100f90a1d86 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.1_T2.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js
  * @description Global execution context - Function Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js
index e76916d0384fb31b184a3a0ff94370efaef82fea..3407039e88309365159a528c3e84235399723aae 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.1_T3.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js
  * @description Global execution context - Constructor Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js
index b752f6fb19622acedaf7cda9a3638fac2213208a..f59cc646e9d9a06118af62fb26fb185f5f3fc489 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.1_T4.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js
  * @description Global execution context - Other Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js
index 59ab50c50c1e5bc45a18ceff101e6998511827b9..a6b6c4bbf0d6c7cb706ca1e4f12cf0fe21396461 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.2_T1.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js
  * @description Function execution context - Value Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js
index 48e4a7b0723635bb7e11cf2d53002a912595d312..45ca89f366302fa5fd368028ed48135e6db9a206 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.2_T2.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js
  * @description Function execution context - Function Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js
index 4402003bf4f5162ba7c819178f934446411fbfcf..295943cb75b90f6b3a0090ed54c98e71ee156fb7 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.2_T3.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js
  * @description Function execution context - Constructor Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js
index 381b8c9de8d6cd5f4a6310bb1153e6c1f17ee707..01d02fb3938f9ebd619983dc26e789c347197a5a 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.2_T4.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js
  * @description Function execution context - Other Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js
index 85834d3934f7178ab44f0b19e914a8e5a55c6781..695f0acf5f06aa76a3eb0155ed466b909d48000a 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.3_T1.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js
  * @description Eval execution context - Value Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js
index 49ed920fbaea3a6b284a375aea197db4e2e34287..5afd0ef9356a9c64073f64bda2ea617b2805de76 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.3_T2.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js
  * @description Eval execution context - Function Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js
index 22f98d3df13023e682b7c13556badcb92b0d4c4e..b34b1e252eb80c5fabccc69ae0fdacabea0d4381 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.3_T3.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js
  * @description Eval execution context - Constructor Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js
index d6d6f76833d382a95bc7f167afd014b94a952677..054969ce2dfda7eb3d3615013cbf53268f72fb7d 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js
@@ -5,7 +5,7 @@
  * Global object has properties such as built-in objects such as
  * Math, String, Date, parseInt, etc
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A1.3_T4.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js
  * @description Eval execution context - Other Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js
index d41bb0d500195f414aeb65c4e303d39af8394384..db57ad5baedafe70cbe2120d3d930877c18324ee 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.1_T1.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js
  * @description Global execution context - Value Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js
index c2129f86a696aa2bc922ab952c77d0534b347a84..6a39d43a171a4a81882f412f4104ca8830a6bb61 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.1_T2.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js
  * @description Global execution context - Function Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js
index d4435455871ef686263b5e9a7b9ce0e2cb7336b6..c684a649a2a1e57cc006b0721f102eb6189ca958 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.1_T3.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js
  * @description Global execution context - Constructor Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js
index d6480454262d581128a091fd4e43fefe9b3d3d6a..cb575c5330fb29af33d97e8273e1de9fc3bc0c21 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.1_T4.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js
  * @description Global execution context - Other Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js
index 4385c0eba9ab4b1eeb6618bb340a3a1bc1554246..808cc1b605a8ded37d875c5a254826772a01d9f9 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.2_T1.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js
  * @description Function execution context - Value Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js
index 6f4a5ddca62a2b73df2599c7558440da797c2b51..ac87a58efd15d1f0eed764f566e9bf23e421208b 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.2_T2.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js
  * @description Function execution context - Function Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js
index 9ad7a969b34c118d7e251e7a3f753c1b5c8e7031..e6f5f4ac7b9580e42cee930264e3e3fcd1fb0a2f 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.2_T3.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js
  * @description Function execution context - Constructor Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js
index ec20ca1f91004c334585c2356febce21d70547fb..3a6afa5cc0c1b6d6291d499970b1762a4ffbee20 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.2_T4.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js
  * @description Function execution context - Other Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js
index 1a5d4f6764ed31b5da8c13e7563d8e47d0e09411..f7f32c563eb603896a58c4a6a0819443a8a9b09b 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.3_T1.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js
  * @description Global execution context - Value Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js
index eca5d6ddba37dd71200b84e3b800ce461c2eed14..8d3cfe7ee0a099ba4c9d1306533e533647ee6fed 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.3_T2.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js
  * @description Global execution context - Function Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js
index b77796f0e76909abdd9063d97acfffd53b22f81d..9ae75beb9ab5b9cfba8f58f28226e25b9d049a7b 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.3_T3.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js
  * @description Global execution context - Constructor Properties
  */
 
diff --git a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js
index cc186418389f9972bda01b3a1fedcdb160e6b10a..ed60835c9fd9ec220308f078716b59d2eb657ded 100644
--- a/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js
+++ b/test/suite/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Global object properties have attributes { DontEnum }
  *
- * @path 10_Execution_Contexts/10.2_Lexical_Environments/10.2.3_The_Global_Environment/S10.1.5_A2.3_T4.js
+ * @path ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js
  * @description Global execution context - Other Properties
  */
 
diff --git a/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T1.js b/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T1.js
index 0c45db329a909d951f83c2d3782f9f74e947d3b6..04abf8bef31870e0f3279be6daf5381cb7413bea 100644
--- a/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T1.js
+++ b/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T1.js
@@ -5,7 +5,7 @@
  * Variable instantiation is performed using the global object as
  * the variable object and using property attributes { DontDelete }
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.1_Global_Code/S10.2.1_A1_T1.js
+ * @path ch10/10.4/10.4.1/S10.4.1_A1_T1.js
  * @description Checking if deleting variable x, that is defined as var x = 1, fails
  * @noStrict
  */
diff --git a/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T2.js b/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T2.js
index 62649b1129af0028d51bebe944b9edc0c168e1d5..107381f2d44302ca10b31431838191c3e315c675 100644
--- a/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T2.js
+++ b/test/suite/ch10/10.4/10.4.1/S10.4.1_A1_T2.js
@@ -5,7 +5,7 @@
  * Variable instantiation is performed using the global object as
  * the variable object and using property attributes { DontDelete }
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.1_Global_Code/S10.2.1_A1_T2.js
+ * @path ch10/10.4/10.4.1/S10.4.1_A1_T2.js
  * @description Checking if deleting variable x, that is defined as x = 1, fails
  * @noStrict
  */
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2.1_A1.js b/test/suite/ch10/10.4/10.4.2/S10.4.2.1_A1.js
index 764096f5e1dc74f44eec8c3bd2321039d9a33e7d..3a3690ce93670437ce617bdd8f87580bc574515f 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2.1_A1.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2.1_A1.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.4.2.1_A1.js
+ * @path ch10/10.4/10.4.2/S10.4.2.1_A1.js
  * @description Strict indirect eval should not leak top level
  * declarations into the global scope
  * @onlyStrict
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js
index 392671d412e7dd7641937a1c02e5bc0eebb40348..077ae7be11faeca493a8a59fb73a78761c36bf2f 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T1.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js
index b70968fcc8713ed9cd5059971c298041bf0687ae..4903b5b3b9a028cffb5111f7d0286cc034fff898 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T10.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js
index 592c20d57f4640898ccc307c8aa90b1133dbf6cb..fb7b1690e26635f853b1eaaf507defbee41083c7 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T11.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js
index 488b9f687518c9501e0c6f39b5767dd425aa0511..b7eb20df00d0e93bb0cd5453246596550f69a8a2 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T2.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js
index 2e315444569f6a74ab22af56d017a8669b98f146..3b32b2bc2d9ed31f5e42e4306c9429a7ca31fa3a 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T3.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js
index 766f56e0fdc09e9e385f2d6ad73127a1d7e90f63..c5e5d0a046574e855b15dfafdb9a053db2feb374 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T4.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js
index ae42f8a44186c4acec08b261894258f5c8b86fb9..927a8007dfe903ca0f71d8e0cff7364b498c537e 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T5.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js
index e2672f2feb873f42f3364d5cbe55918434021f55..b9fb461f6c3d227c6aaf0a4a6a1409018304473e 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T6.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js
index 0e8dbd75e2285d4e17f5414255ba036a4d16bd89..93160490c4cc033ff53d9c399077b0aa5480b451 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T7.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js
index 9790ee0be1c3951be2ffc4c8d1434f562eb1e2f3..5376140af6752e47534a3597ff0e5722b9deb8bc 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T8.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js
index 7c17ef319ace3760be13801a5cb21382566a8259..76d75b8f9cc2e01692ccdcb07ae18d4c1c974c30 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.1_T9.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js
index c15e1c94ec0205db55cb50b981efc9be23c72ef7..229cfc63f82bea4f9ff49ec5f58fd518e9193e7a 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T1.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js
index 8dfd67ad0b5ddb7a4eb5a8eb2231aa3625a76595..1707379cf28971bdca43fa41eb9fb1a73b45c61f 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T10.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js
index 3e9050a1f3f14420cf7470f44964be63b82ae5eb..b94f2aa56e2cd419184727e8e37a03e54fd14bc4 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T11.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js
  * @description eval within global execution context
  * @noStrict
  */
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js
index a369d83f8f7528801c909f681e9ca2c65a5993a2..72611dc49a2f650c9863ed8288724902ff4e2468 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T2.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js
index 73fface0f18ebb5aaafa4e5f2e24f2f6d3890bd5..f3cd1b0bf6268a112cb4fe656527966a6b734b05 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T3.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js
index 41e682e93cc40dfb9148147b3610b993b4a71724..cebe8f3a2819d6cc5efd2d72a65291a60b5fab86 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T4.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js
index 167f4c00dc8612f093fa4740cf46076e7682e899..8024348499195679b34259989cc0c9a8ab0b4351 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T5.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js
index 0287368d4406de187ec3996e0a940150e8a5135b..275f8ce9878dc79b4fa463f0aa01e4ff12ddf371 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T6.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js
index 07793ab96b18ee5fdd95cbdda6c407a0a3b36bb6..1870bc1fd63945bd60e80ef2defe4def9f8b5657 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T7.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js
index 78d1e533fbf32f824f914d4acc7ce1cc5647b5f0..8f128246018e1351d033ad06595501bd4299ec00 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T8.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js
index 5f8ee314c48c355c18f216ad7413b00c09fc2c1b..e77ca4323ff7fa126a0f5b3f698e17f2c9736c5d 100644
--- a/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js
+++ b/test/suite/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js
@@ -5,7 +5,7 @@
  * The scope chain is initialised to contain the same objects,
  * in the same order, as the calling context's scope chain
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.2_Eval_Code/S10.2.2_A1.2_T9.js
+ * @path ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js
  * @description eval within global execution context
  */
 
diff --git a/test/suite/ch10/10.4/10.4.3/S10.4.3_A1.js b/test/suite/ch10/10.4/10.4.3/S10.4.3_A1.js
index 3b6f8f8d49e9d082b0c9b412c8cc17fe59c8ff01..ea2432219a5461620c78a44b953add87ce4c1c96 100644
--- a/test/suite/ch10/10.4/10.4.3/S10.4.3_A1.js
+++ b/test/suite/ch10/10.4/10.4.3/S10.4.3_A1.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/10.4.3_Entering_Function_Code/S10.4.3_A1.js
+ * @path ch10/10.4/10.4.3/S10.4.3_A1.js
  * @description When calling a strict anonymous function as a
  * function, "this" should be bound to undefined.
  * @onlyStrict
diff --git a/test/suite/ch10/10.4/S10.4A1.1_T2.js b/test/suite/ch10/10.4/S10.4A1.1_T2.js
index ff1c394b1429e142e485cd59888372cda55a16b8..080aad06abe1ea65a84f031c44f6b82de8b0a417 100644
--- a/test/suite/ch10/10.4/S10.4A1.1_T2.js
+++ b/test/suite/ch10/10.4/S10.4A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Every function call enters a new execution context
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/S10.2_A1.1_T2.js
+ * @path ch10/10.4/S10.4A1.1_T2.js
  * @description Recursive function call
  */
 
diff --git a/test/suite/ch10/10.4/S10.4_A1.1_T1.js b/test/suite/ch10/10.4/S10.4_A1.1_T1.js
index 87768c69348ad60a302d96ed3bcb9467f9a1d8eb..408d50770695f7dd9cdec9cd2764c6b38adf9888 100644
--- a/test/suite/ch10/10.4/S10.4_A1.1_T1.js
+++ b/test/suite/ch10/10.4/S10.4_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Every function call enters a new execution context
  *
- * @path 10_Execution_Contexts/10.4_Establishing_An_Execution_Context/S10.2_A1.1_T1.js
+ * @path ch10/10.4/S10.4_A1.1_T1.js
  * @description Sequence of function calls
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A1.js b/test/suite/ch10/10.6/S10.6_A1.js
index 321117de8ebc30c2a3fa3a6ee6bf20f512f60745..89df9c4dd3c5c22e014bfecd4946e1d59c192d1c 100644
--- a/test/suite/ch10/10.6/S10.6_A1.js
+++ b/test/suite/ch10/10.6/S10.6_A1.js
@@ -5,7 +5,7 @@
  * When control enters an execution context for function code,
  * an arguments object is created and initialised
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A1.js
+ * @path ch10/10.6/S10.6_A1.js
  * @description Executing function which uses arguments object
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A2.js b/test/suite/ch10/10.6/S10.6_A2.js
index bc0c70d6fa0dd6159e4f1b1a82054064628ba685..18698be004f95ae1994321f167c75de1b1dc8f55 100644
--- a/test/suite/ch10/10.6/S10.6_A2.js
+++ b/test/suite/ch10/10.6/S10.6_A2.js
@@ -6,7 +6,7 @@
  * created arguments object is the original Object prototype object, the one
  * that is the initial value of Object.prototype
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A2.js
+ * @path ch10/10.6/S10.6_A2.js
  * @description Checking arguments.constructor.prototype===Object.prototype
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A3_T1.js b/test/suite/ch10/10.6/S10.6_A3_T1.js
index ab2834e891b14b31a4c9ead4992b1f09d90bebae..234d6ad1aeb6e90c2f9effb9f14ebf1c07032c19 100644
--- a/test/suite/ch10/10.6/S10.6_A3_T1.js
+++ b/test/suite/ch10/10.6/S10.6_A3_T1.js
@@ -5,7 +5,7 @@
  * A property is created with name callee with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A3_T1.js
+ * @path ch10/10.6/S10.6_A3_T1.js
  * @description Checking existence of arguments.callee property
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A3_T2.js b/test/suite/ch10/10.6/S10.6_A3_T2.js
index a6d8fcb1588adf281cbe8b1974927e1ca40e1e86..327e5cf36504361c7d09cd6b553e731487c376a8 100644
--- a/test/suite/ch10/10.6/S10.6_A3_T2.js
+++ b/test/suite/ch10/10.6/S10.6_A3_T2.js
@@ -5,7 +5,7 @@
  * A property is created with name callee with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A3_T2.js
+ * @path ch10/10.6/S10.6_A3_T2.js
  * @description Checking if enumerating the arguments.callee property fails
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A3_T3.js b/test/suite/ch10/10.6/S10.6_A3_T3.js
index e505822c7d143b43c9fbd43f69dec9f524d4d360..4b26265702416bd4b62a0a4d11181dc7b92304f0 100644
--- a/test/suite/ch10/10.6/S10.6_A3_T3.js
+++ b/test/suite/ch10/10.6/S10.6_A3_T3.js
@@ -5,7 +5,7 @@
  * A property is created with name callee with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A3_T3.js
+ * @path ch10/10.6/S10.6_A3_T3.js
  * @description Checking if deleting arguments.callee property fails
  * @noStrict
  */
diff --git a/test/suite/ch10/10.6/S10.6_A3_T4.js b/test/suite/ch10/10.6/S10.6_A3_T4.js
index 28bc73cdb7e34f838f6917beb966cf3149995d95..c83983507d138dca6785f7936fcc095fa23a81b8 100644
--- a/test/suite/ch10/10.6/S10.6_A3_T4.js
+++ b/test/suite/ch10/10.6/S10.6_A3_T4.js
@@ -5,7 +5,7 @@
  * A property is created with name callee with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A3_T4.js
+ * @path ch10/10.6/S10.6_A3_T4.js
  * @description Overriding arguments.callee property
  * @noStrict
  */
diff --git a/test/suite/ch10/10.6/S10.6_A4.js b/test/suite/ch10/10.6/S10.6_A4.js
index 036f1682054d3983d5b382c9932e0c2782fb298e..b49902a45e38712cfe2ab5c7b64124598f08d638 100644
--- a/test/suite/ch10/10.6/S10.6_A4.js
+++ b/test/suite/ch10/10.6/S10.6_A4.js
@@ -5,7 +5,7 @@
  * The initial value of the created property callee is the
  * Function object being executed
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A4.js
+ * @path ch10/10.6/S10.6_A4.js
  * @description Checking that arguments.callee === function object
  * @noStrict
  */
diff --git a/test/suite/ch10/10.6/S10.6_A5_T1.js b/test/suite/ch10/10.6/S10.6_A5_T1.js
index 0cf170275b64fc0fe8710c80afb2ca1b0dede4b5..a76e58d47bda6e33faf25a91653d2a2c2b8ba5ce 100644
--- a/test/suite/ch10/10.6/S10.6_A5_T1.js
+++ b/test/suite/ch10/10.6/S10.6_A5_T1.js
@@ -5,7 +5,7 @@
  * A property is created with name length with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A5_T1.js
+ * @path ch10/10.6/S10.6_A5_T1.js
  * @description Checking existence of arguments.length property
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A5_T2.js b/test/suite/ch10/10.6/S10.6_A5_T2.js
index 0420f4cf7e1b41f9287ba8e937ce11921cf8c471..a0f4df7a9ead8e0c9592a0343a82661a63916c26 100644
--- a/test/suite/ch10/10.6/S10.6_A5_T2.js
+++ b/test/suite/ch10/10.6/S10.6_A5_T2.js
@@ -5,7 +5,7 @@
  * A property is created with name length with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A5_T2.js
+ * @path ch10/10.6/S10.6_A5_T2.js
  * @description Checking if enumerating the arguments.length property fails
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A5_T3.js b/test/suite/ch10/10.6/S10.6_A5_T3.js
index 823c557f91ed8aa6b028c800928589daa8d6e6c1..c8187fac8531aa80c8f8e917a9360131019724ba 100644
--- a/test/suite/ch10/10.6/S10.6_A5_T3.js
+++ b/test/suite/ch10/10.6/S10.6_A5_T3.js
@@ -5,7 +5,7 @@
  * A property is created with name length with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A5_T3.js
+ * @path ch10/10.6/S10.6_A5_T3.js
  * @description Checking if deleting arguments.length property fails
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A5_T4.js b/test/suite/ch10/10.6/S10.6_A5_T4.js
index 1e1eec6d432d328dd8c20f2b370b96c9c4cf15b4..7178bf4240a78261a974bb548ebea9a7548e1bcc 100644
--- a/test/suite/ch10/10.6/S10.6_A5_T4.js
+++ b/test/suite/ch10/10.6/S10.6_A5_T4.js
@@ -5,7 +5,7 @@
  * A property is created with name length with property
  * attributes { DontEnum } and no others
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A5_T4.js
+ * @path ch10/10.6/S10.6_A5_T4.js
  * @description Overriding arguments.length property
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A6.js b/test/suite/ch10/10.6/S10.6_A6.js
index d219b6610711581e2dfa6a8cdff64e4587941393..3f1d0d1c1ddecf8da059697836f2c1fa7997622b 100644
--- a/test/suite/ch10/10.6/S10.6_A6.js
+++ b/test/suite/ch10/10.6/S10.6_A6.js
@@ -5,7 +5,7 @@
  * The initial value of the created property length is the number
  * of actual parameter values supplied by the caller
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A6.js
+ * @path ch10/10.6/S10.6_A6.js
  * @description Create function, that returned arguments.length
  */
 
diff --git a/test/suite/ch10/10.6/S10.6_A7.js b/test/suite/ch10/10.6/S10.6_A7.js
index 700996f7ce2bc0b6bc50ee08bb43bdd01a59a409..f013ba013361f257af372739a2f80b8ad653d7fa 100644
--- a/test/suite/ch10/10.6/S10.6_A7.js
+++ b/test/suite/ch10/10.6/S10.6_A7.js
@@ -4,7 +4,7 @@
 /**
  * Get arguments of function
  *
- * @path 10_Execution_Contexts/10.6_Arguments_Object/S10.1.8_A7.js
+ * @path ch10/10.6/S10.6_A7.js
  * @description Use property arguments
  */
 
diff --git a/test/suite/ch11/11.1/11.1.1/S11.1.1_A1.js b/test/suite/ch11/11.1/11.1.1/S11.1.1_A1.js
index df5323c397d6c1f7069d2359c99ee8826b1b039d..c68c327360fdcda9fe427a4c746e914bc5a1e3e7 100644
--- a/test/suite/ch11/11.1/11.1.1/S11.1.1_A1.js
+++ b/test/suite/ch11/11.1/11.1.1/S11.1.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The "this" is reserved word
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A1.js
+ * @path ch11/11.1/11.1.1/S11.1.1_A1.js
  * @description Checking if execution of "this=1" fails
  * @negative
  */
diff --git a/test/suite/ch11/11.1/11.1.1/S11.1.1_A2.js b/test/suite/ch11/11.1/11.1.1/S11.1.1_A2.js
index c08abbaa9ad8e65db9e1afe1eb5bd79fcd79c454..e8ecbba70024cfa71da17c9bd47b9c003a661314 100644
--- a/test/suite/ch11/11.1/11.1.1/S11.1.1_A2.js
+++ b/test/suite/ch11/11.1/11.1.1/S11.1.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * Being in global code, "this" and "eval("this")" return the global object
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2.js
+ * @path ch11/11.1/11.1.1/S11.1.1_A2.js
  * @description Checking if execution of "this" and eval("this"), which are in global code, return the global object by using toString function
  * @noStrict
  */
diff --git a/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.1.js b/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.1.js
index 07c0a831c1fe656c0805331bddc78c50677b5ef8..4094fa91428a6499af25758d58e72677ee4dea9d 100644
--- a/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.1.js
+++ b/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * Being in function code, "this" and eval("this"), called as a functions, return the global object
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A3.1.js
+ * @path ch11/11.1/11.1.1/S11.1.1_A3.1.js
  * @description Creating function which returns "this" or eval("this")
  * @noStrict
  */
diff --git a/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.2.js b/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.2.js
index 0c6f87db11e32cb7173518c58333bdd57af6c562..ca0d5e699054042dec6b3916d1721bdd3d69e8d4 100644
--- a/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.2.js
+++ b/test/suite/ch11/11.1/11.1.1/S11.1.1_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * Being in function code, "this" and eval("this"), called as a constructors, return the object
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A3.2.js
+ * @path ch11/11.1/11.1.1/S11.1.1_A3.2.js
  * @description Create function. It have property, that returned "this"
  * @noStrict
  */
diff --git a/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.1.js b/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.1.js
index 48a84255b0904257e43a62ab5194ccd0f399c846..38e2adbbdae42d67761e7d2803595b36c917bfa0 100644
--- a/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.1.js
+++ b/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * Being in anonymous code, "this" and eval("this"), called as a function, return the global object
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A4.1.js
+ * @path ch11/11.1/11.1.1/S11.1.1_A4.1.js
  * @description Creating function with new Function() constructor
  */
 
diff --git a/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.2.js b/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.2.js
index 676ed58681c17894c6850112491ef60519837031..cd37d682443eb48b5335396f42eae0d696ff6ede 100644
--- a/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.2.js
+++ b/test/suite/ch11/11.1/11.1.1/S11.1.1_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * Being in anonymous code, "this" and eval("this"), called as a constructor, return the object
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A4.2.js
+ * @path ch11/11.1/11.1.1/S11.1.1_A4.2.js
  * @description Creating function by using new Function() constructor. It has the property, which returns "this"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T1.js b/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T1.js
index 7e8327bb89c3301dab30b4728c4cc0b5b386ea7c..46955d3cad3499c8616dd31e27af440a1dc0d78b 100644
--- a/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T1.js
+++ b/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The result of evaluating an Identifier is always a value of type Reference
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.2_Identifier_Reference/S11.1.2_A1_T1.js
+ * @path ch11/11.1/11.1.2/S11.1.2_A1_T1.js
  * @description Creating variables without defining it
  */
 
diff --git a/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T2.js b/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T2.js
index 03e7a436221ec70c1edc1659c878e98dcec4f099..df170468d0702ac9c6c4780da7639a81f8459f19 100644
--- a/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T2.js
+++ b/test/suite/ch11/11.1/11.1.2/S11.1.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The result of evaluating an Identifier is always a value of type Reference
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.2_Identifier_Reference/S11.1.2_A1_T2.js
+ * @path ch11/11.1/11.1.2/S11.1.2_A1_T2.js
  * @description Trying to generate ReferenceError
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.1.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.1.js
index a7e6cd6aa91f55a3c67e310690a66a401d9c1f77..6e202534bb63b8ac3ebba03191133942c3fc2623 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.1.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.1.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.1.js
  * @description Checking various properties of the array defined with expression "var array = []"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.2.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.2.js
index f7cb3ff600446dcb4a7cc799081ac966d5504d30..e1b0ff3ee14ff23c7ab101c2f210a0e0dcb98050 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.2.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ Elision ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.2.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.2.js
  * @description Checking various properties the array defined with "var array = [,,,,,]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.3.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.3.js
index cfde62ebe3b228cece4bcc896a46c54d3316506b..6682a8eef98aa7f0e72a7b5fd9dd874949120d97 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.3.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.3.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ AssignmentExpression ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.3.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.3.js
  * @description Checking various properteis and contents of the array defined with "var array = [1,2,3,4,5]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.4.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.4.js
index c11c8df96413c39eb3987afbeb892466bacabff8..28e67233e2f68721c4d24ca8c03959a9c5fb9615 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.4.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.4.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.4.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.4.js
  * @description Checking various properteis and content of the array defined with "var array = [,,,1,2]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.5.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.5.js
index da2dedd777d45403ce9c201ffa985293f1ac376d..d08183f2e568fd440bf7d732271526217c687b6e 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.5.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.5.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.5.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.5.js
  * @description Checking various properteis and contents of the array defined with "var array = [4,5,,,,]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.6.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.6.js
index 2e94a03689bb9c57d8fbd1b0b50a9e9b3dae43af..589eb3c0d8c32b868b1ce86bec977932d46bae6b 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.6.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.6.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression, Elision ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.6.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.6.js
  * @description Checking various properteis and contents of the array defined with "var array = [,,3,,,]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.7.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.7.js
index f30af54d1a6160c1be6073a1e06faf632564bb6c..4689d6b00d0d5b0cac81c1693cf06a5b24df9a4f 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.7.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A1.7.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision, AssignmentExpression ]
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A1.7.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A1.7.js
  * @description Checking various properteis and contents of the array defined with "var array = [1,2,,4,5]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.4/S11.1.4_A2.js b/test/suite/ch11/11.1/11.1.4/S11.1.4_A2.js
index 49e67eef3e32e4cc96b8440a852e43e1396d0efd..3e1c699fb0a963c90f6d677ab740b839ac653697 100644
--- a/test/suite/ch11/11.1/11.1.4/S11.1.4_A2.js
+++ b/test/suite/ch11/11.1/11.1.4/S11.1.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * Create multi dimensional array
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.4_Array_Initialiser/S11.1.4_A2.js
+ * @path ch11/11.1/11.1.4/S11.1.4_A2.js
  * @description Checking various properteis and contents of the arrya defined with "var array = [[1,2], [3], []]"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.1.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.1.js
index a8971c0013640a39cc8f331606748e26a088942e..0f4a1936ebb8ce611be98adc7cfc28bcb8c7983d 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.1.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ObjectLiteral: { }
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A1.1.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A1.1.js
  * @description Checking various properteis of the object defined with "var object = {}"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.2.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.2.js
index 603189b12706120fcae8f80854d2d363c46d4e8e..9eff8264019d257daade67fe2fe1259803104e8c 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.2.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ObjectLiteral: { NumericLiteral : AssignmentExpression}
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A1.2.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A1.2.js
  * @description Checking various properteis and contents of the object defined with "var object = {1 : true}"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.3.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.3.js
index 6504442671d39c8cae9a3f83568d2fa15f34a064..dea77e509e39408147e25e859ca50f63219c5cbc 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.3.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.3.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ObjectLiteral: { StringLiteral : AssignmentExpression}
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A1.3.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A1.3.js
  * @description Checking various properteis and contents of the object defined with "var object = {"x" : true}"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.4.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.4.js
index 65dadaad5fe5c9583559f35890b8afc7181bf8e9..5919596dc61853abad8acb50fb654230c4b764da 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.4.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A1.4.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ObjectLiteral: { Identifier : AssignmentExpression}
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A1.4.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A1.4.js
  * @description Checking various properteis and contents of the object defined with "var object = {prop : true}"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A2.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A2.js
index 8fbe77e0834fee8d623c1e89b512e578f6c5ba0b..8085783925361857f78ea576d4597a44a3006f08 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A2.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ObjectLiteral: { PropertyName : AssignmentExpression }
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A2.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A2.js
  * @description Creating property "prop" of various types(boolean, number and etc.)
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A3.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A3.js
index 067325940ded31e13f3c14b1069470224444b2a2..1d0024a9f8f5c4240999cf48eee3e440c9e83a17 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A3.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * Evaluate the production ObjectLiteral: { PropertyNameAndValueList }
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A3.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A3.js
  * @description Creating the object defined with "var object = {0 : 1, "1" : "x", o : {}}"
  */
 
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.1.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.1.js
index 13761fad8c48cf332879e7c0c4272e5073564c3e..2e46d8bb1b10c37e7174015a30e985d452d4b570 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.1.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * The PropertyName is not BooleanLiteral
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A4.1.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A4.1.js
  * @description Checking if execution of "var object = {true : 1}" fails
  * @negative
  */
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.2.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.2.js
index ca3564cb9ede7ddededd61bee0b43803c486eb8d..d694e323891670aa1475a73ab0c78bdf58466f48 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.2.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * The PropertyName is not nullLiteral
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A4.2.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A4.2.js
  * @description Checking if execution of "var object = {null : true}" fails
  * @negative
  */
diff --git a/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.3.js b/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.3.js
index a49697bc6c5d51922c4256bdccb6b09f53ff75ca..03c89ee9926a2bd9415c797b8b3dedc57b7b71c5 100644
--- a/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.3.js
+++ b/test/suite/ch11/11.1/11.1.5/S11.1.5_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * The PropertyName is undefined, ToString(BooleanLiteral), ToString(nullLiteral)
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.5_Object_Initializer/S11.1.5_A4.3.js
+ * @path ch11/11.1/11.1.5/S11.1.5_A4.3.js
  * @description Creating properties with following names: undefined, 'true', 'null'
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A1.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A1.js
index 6c95f97caef5a2f4a75de3838cb6a46a82c979ca..d6b8323a8abdfe52fa93f8863bf47b4ddec7ee1b 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A1.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator inside "grouping" operator are allowed
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A1.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A1.js
  * @description Inserting WhiteSpaces and LineTerminators into grouping operator. Eval is used
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A2.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A2.js
index fab7a340fd7d21e1ecf11001bb69dd17fe60b382..30d5c290cdbcf6dc13a03801b07bd8587863452f 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A2.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A2.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator doesn't use GetValue. The operators "delete" and "typeof" can be applied to parenthesised expressions
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A2.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A2.js
  * @description Applying "delete" and "typeof" operators to an undefined variable and a property of an object
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T1.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T1.js
index 5015f0b9206006fa16d819113af13d8195e7a8e1..26a0301043059ece774e079cc76f91a950a3eaa0 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T1.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator only evaluates Expression
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A3_T1.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A3_T1.js
  * @description Applying grouping operator to Boolean
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T2.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T2.js
index 9340740568f393c16c4f8aad09a24c9aeee591e0..e29e039f46fb54014cd2883bc475f8154d03e022 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T2.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator only evaluates Expression
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A3_T2.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A3_T2.js
  * @description Applying grouping operator to Number
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T3.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T3.js
index 1ce87d862e84448571806181ea87b97d3dc0191b..a673bd31d8af1dd351962ead3ef7415368deccc0 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T3.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator only evaluates Expression
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A3_T3.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A3_T3.js
  * @description Applying grouping operator to String
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T4.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T4.js
index 74e3f637037c62b223f0eccae33e20964c4e59cd..2c049ccc9661b093a3daf2a50fd3f6740c585571 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T4.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator only evaluates Expression
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A3_T4.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A3_T4.js
  * @description Applying grouping operator to undefined
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T5.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T5.js
index 01f772fe4f3f8be95538e8cfcfde9616309b3bcc..6fe51bbe93f889c6e4eb2906c0b548286b2beec2 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T5.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator only evaluates Expression
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A3_T5.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A3_T5.js
  * @description Using grouping operator in declaration of variables
  */
 
diff --git a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T6.js b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T6.js
index 56b5ea3086fca3aa0250b053035821b2b36ea91d..e4398bfffa77954add0dbef581f6930790390b3a 100644
--- a/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T6.js
+++ b/test/suite/ch11/11.1/11.1.6/S11.1.6_A3_T6.js
@@ -4,7 +4,7 @@
 /**
  * "This" operator only evaluates Expression
  *
- * @path 11_Expressions/11.1_Primary_Expressions/11.1.6_The_Grouping_Operator/S11.1.6_A3_T6.js
+ * @path ch11/11.1/11.1.6/S11.1.6_A3_T6.js
  * @description Applying grouping operator to delete and typeof operators
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A1.js
index add530898bf6e7edc39166991d7f2d2c89734c5d..25416cdca1a12941fc928d32951562e26dc0fe46 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between BitwiseANDExpression and "&" or between "&" and EqualityExpression are allowed
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A1.js
  * @description Checking uses eval
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js
index 7979b371095c7161a9daa70f16438ec732903b09..4acb431bc999c2de826d48be5b1de12ca5559d07 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.1_T1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js
index 58df02eebde12d9042d43ceaf7ee9369614cfcc4..91f0369a6b302cc3004d49158cfd6fb1faee320c 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.1_T2.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js
index 65f46922a136b0af99494e1f4f239dbfc8907ae5..eb308b1b83229ab5b39a22f1a091335459b19eb1 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.1_T3.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js
index cf5919063972027e70de8ca4c9d9a2c1deefdc78..b5aafe3d8d124a3cd8c5bb44aca3077289ee728c 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y uses [[Default Value]]
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.2_T1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js
index 08dcf32c0c7729461e152a17b019c7cc8ab1a01d..079e2ccb49605cb4810689dda37fa40229aa2822 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToInt32(first expression) is called first, and then ToInt32(second expression)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.3_T1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js
  * @description Checking by using "throw"
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js
index ea9ab533cfe254c88aa0078ec8aa197a305e3fa8..c77c23d5de941deffa0bcc2ce86144a65e61dcf8 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.4_T1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js
index d534252880c43a7539d0b1bfe4b6038914a4cd68..23b8d91cf7950c6d4b840342ad069d906db0288c 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.4_T2.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js
index 6e88d68480b89cd44566cbf0400fa57fdf975644..2aef6019b2275e26eb76040775dced523468b2a2 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A2.4_T3.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  * @noStrict
  */
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js
index a6f1e3cfb77d97f7d2f57520cd77a6d1746d4192..3818831d22da40a9a75b64a67f7b76283771f51c 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T1.1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js
  * @description Type(x) and Type(y) are primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js
index 162226cbf1efc3d2e835e63c3f6501a3c00b4af2..96f0a7c524f5c29c5f1269e005c740c9c98e3eac 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T1.2.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js
  * @description Type(x) and Type(y) are primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js
index 7bec9996c44e34f34416e2ef306b85f4668c581d..e94451b589a92660438d45632f3fc31865bb57f2 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T1.3.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js
  * @description Type(x) and Type(y) are primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js
index a08f85f2a3e8b33abe28f136e22866e79236d8ab..ba187bd355ed6c808f19d78e972659d04f9c00a9 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T1.4.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js
  * @description Type(x) and Type(y) are null and undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js
index cb61f0f4ae036d5f445ec22c0f82ba03a7b669c7..437336a4b9a06b707d4a962be4e81cdce7b913f0 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T1.5.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js
  * @description Type(x) and Type(y) are Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js
index 1579daa8318d80ed17adecaa8159ef46761b680c..7a70acf5fac70cd07b3081e8913694d28ea523c4 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.1.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js
index 5b97697a8baf433087bfb1b107fe19f7a04afd16..72765faf28bb3d3e488b8115523fcd32ed537fd6 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.2.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js
index bd9ef9a0d66a0c26070529d51c3ebfd0d1e379b0..a133e1f43c7942e13ca9350c1ea9b2f0caa300cf 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.3.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js
index 7922ff445342b8773d4f9d319ececff9e0b234cc..1ceb71fa04b4c09be3bc5e34aab37ce782ca8054 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.4.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js
index 55a7146d0563f014a325e79d837728bcaa9c0b75..3983069f4fd9162133b587e6671513413b1e7b21 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.5.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js
  * @description Type(x) us different from Type(y) and both types are String (primitive or object) or Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js
index 6e9c372192d526999266c64b3c160290303c8366..b9f66bb79e6ca67a39190e2ae097f5f20779f190 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.6.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js
index afdebf881539302c42cbc429d172265cc13e1923..0dbabe1f0eb693bf3b864c6e0eae4c063539bbe8 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.7.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js
index 065aca60898c10055eae89106e17655ee2cae365..33eec32410f5e6f3799610c040aa11bfe30c947e 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.8.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js
index 5fd65e374e80b701a670c95c9691d7b925b1a1ce..9c94ad0e7d7fc11347496567d2b1454f90157aa3 100644
--- a/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js
+++ b/test/suite/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x & y returns ToNumber(x) & ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.1_AND_Operator/S11.10.1_A3_T2.9.js
+ * @path ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A1.js
index 90925c81bb1036f6d27ae2ad3fb4c4812c402cbe..6798a9ea4c87107f338baf1139899c4e41e56513 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between BitwiseXORExpression and "^" or between "^" and BitwiseANDExpression are allowed
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A1.js
  * @description The check uses eval
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js
index 33a8d0b9524abc5427efcd36e574ef430566cbf7..f4aad4a19764c6b067de7c8c118af19fce9e5bc3 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.1_T1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js
index d59b9729351398540f0fa30d2bf48630a6670c21..503ac9678558407a0861727e3eb26fae5ce9e9e9 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.1_T2.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js
index 0365157abc7e7ad44d6b39d1c0ce3ca3ba477ed3..6c59696145639e7173bd5a3c33cf656cef16782c 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.1_T3.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js
index ae9619ec12d6e1d52646b5cd7034516983a25fac..0a00ada6de1934f4416abea02d5effa7e269ccd0 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y uses [[Default Value]]
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.2_T1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js
index b8a69f3554738175d8abd6a8dadae419021fa098..cbf3009a1b3e2f8c1c6c9218caf71f566eec057a 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToInt32(first expression) is called first, and then ToInt32(second expression)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.3_T1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js
index 9300d3fffebbc717153db102a69338ac7771ab8c..e1af1b864e2d7bb2f89afbaa5ab47ae5f8115ebb 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.4_T1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js
index 45889e6af364b62e93207e3fcfa62785230b7ca0..5cc5a154089be3a422064bd2f18c7a660fcd6ae2 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.4_T2.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js
index ca99bea70bc9b224ecc213333a9921c2adfe73de..5241ec5578b13498502593effbff03d9533c36a5 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A2.4_T3.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  * @noStrict
  */
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js
index 56575ecc2b7f4d451a0ea5c6dc3dc60cfaac06eb..e6466e78408745ccdd2a2916ec4e565e0593841f 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T1.1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js
  * @description Type(x) and Type(y) are primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js
index c82594af4b068d7a557b194d5e72bb7d263c0f1e..9b997e82f3a3d991d444e2fe3ad8291a77d0d38d 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T1.2.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js
  * @description Type(x) and Type(y) are primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js
index 7bc8465382d44dff60b89fbfcc9614b5a2353aaa..acd61cf117e8ba5065ec5196f7858d7f6720712c 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T1.3.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js
  * @description Type(x) and Type(y) are primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js
index 90ec22e25a51df0e293d789176e3058cb936eb7c..72698a6560b3a36a7e484e338c965ef0f1fd78c2 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T1.4.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js
  * @description Type(x) and Type(y) are null and undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js
index b656e902e67e0376e9a43b460fb61ed682963bf0..b415d1c75ec0f9f939c90ce2366f8c888bd1ee09 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T1.5.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js
  * @description Type(x) and Type(y) are Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js
index 1f3d085ab99039d19d9e4b99ab916ebce32cf2dd..c32718b6e1dd23900e9d19691b1c6a525f4fc0cb 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.1.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js
index 09a1825b70fa2e3d4d249d431faa82effc5b91a6..1503fbaf5ad5c9096e5e8d87ade4b0eeafae38fd 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.2.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js
index fdc8a9df69f11e5ee51b38506f2c7480400cc745..7944312eb18f631fcd536c83485799c561ea04cf 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.3.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js
index b5d6676d6ae53e42f05c1554ff26f66f913e208c..6578ce84d29a9105fd80bf3d68241533f1f3bfed 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.4.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js
index 991ba29a10db6a3fc4d0ffc87dbb1e32d34d6ea9..2e80dfef244704c504477faf4c3240b3733975ec 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.5.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js
index b271f4c1cf2d12d61e8e8c4b1336caa0da9d93c5..b433b597e5a15ebae39c26941866fba1861675e8 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.6.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js
index b53bbc86d873f88efcb86bdecae3cfb8332631a8..17996c7b8fdae8944f236364e7df5d6802fac780 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.7.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js
index 019382cf3e90bc042724af03047202f0119e9642..36c1c1d2339940b68509e86b3c39e6e72d532c9e 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.8.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js
index b1c9c55ee7d0277ed895087ce049f42176f508ea..6a9d6cb0db6d9d7b69b67379533e145dd7d40641 100644
--- a/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js
+++ b/test/suite/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ^ y returns ToNumber(x) ^ ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.2_XOR_Operator/S11.10.2_A3_T2.9.js
+ * @path ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A1.js
index e4a695cf9d04ee78aa0048f33a4079810cca67d0..193860824cfc05edfdd7abe3539fec5d5c44d929 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between BitwiseORExpression and "|" or between "|" and BitwiseXORExpression are allowed
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js
index eef4469ce1e853b4a37854d078b0f24229a3fc4c..4c39440fe0fa6df33917aa6158674e1b63bd076d 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.1_T1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js
index b8eea455e17d7562f0a6777fc8fd2059795222c3..38886529fa893a32196ff359266ea4fb35e6ad0f 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.1_T2.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js
index c5f18c4e2288a6f7a5314f6e4a6d3269fc45aa66..313ea95885c912ce6d7536dfc37fe678aa9565ff 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y uses GetValue
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.1_T3.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js
index e0da215800d869d21e9192b065fb1f133711c036..1c7331411f8f5329c888926d303769f8362966b6 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y uses [[Default Value]]
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.2_T1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js
index 5101492279d071a1d5310274d628e96060be0337..fe60b24d1af1c848403e036421593c10e66cb0f1 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToInt32(first expression) is called first, and then ToInt32(second expression)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.3_T1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js
index 332318d738dbe968288158a82261ad8d795a9f84..4c5705d003d8457e48f3529ff2706128ee1b7077 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.4_T1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js
index 9763e7daf7742eb3079f7d9e32ebc027fec6c9ac..886ae2af5809d4f5ae5a563018ae03b9cd491284 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.4_T2.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js
index f7921210d9fd785ef4a2c4dba4891900bd0966c2..975bba911540656ed85305a0c1f928f796d20c00 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A2.4_T3.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js
  * @description Checking with undeclarated variables
  * @noStrict
  */
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js
index c11211618f6b952bccc5605d15efc2bd023f90a2..bdf1dddd2a31f6aeaa6555092cf79a2e0c266b5f 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T1.1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js
index b0227097a81cc951b30ad09c70c48ec3d21bfa51..057a8fd55052899ce918ddec167250615d59bfa7 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T1.2.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js
index adb5e7ed2a7e8b060707cf5c434dee06fc80d19a..f627989513a55f589cbcf286af1226e94bbcf7ac 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T1.3.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js
index 8d835f522ecfb161c3fece24cd788c712b4a8b21..1fcf3aea4e2901d36719b0f3fc88220cfb417ec8 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T1.4.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js
index f449144a5a329b3a5f43be1c91dace38b8417644..c3df41a2c024e929a827a7cf6924bb0baea8d5f9 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T1.5.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js
index da96fca65bea8196d305ba8ca43bce737b4ddff2..a54f2dbdf9b2d6e0c3ded66da0961aaf03c93bd9 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.1.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js
index fdac2e15f9cd624f6cf0d9f8427e5124176288be..78795a5431aeef2aba560ad53f2ea77b5a7cfd8f 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.2.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js
index a98065169b174dcf54956afaeba0f568b588e2ad..c01d6e72669bd1cf957cb2e7c6c7fc867c3c5190 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.3.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js
index 6404e5aa0d4c609068d2b274c5ddf74ce55ac827..eb7d1432aca386655962179b25ec7c374b429502 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.4.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js
index 464624c163a809e5582c47cfbf3a3264348ece4c..3195c149d3ef35f83d01701b2a397d486cb217f2 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.5.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js
index c659b79cef98de08cc28d6fd31cdb8f77903ec02..c6aeffafd8676ef060baaff2d360d8f78a9147ac 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.6.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js
index 1f1980b5fb1d50d7fd6952c424c84d2587935530..fc0e39bb905aaf3379a3e232057934078624f4e3 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.7.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js
index 3c30fc667c1f5616ac12a0d7de11321a461f8d63..4208476dd43dacb9558e4688646c097a05ea55ba 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.8.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js
index 2cbf03c7f4c1c4e0f3b71b37e1e264e9ed8f254f..2c892773b95628eb5003d5f1904a7446d8975c53 100644
--- a/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js
+++ b/test/suite/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x | y returns ToNumber(x) | ToNumber(y)
  *
- * @path 11_Expressions/11.10_Binary_Bitwise_Operators/11.10.3_OR_Operator/S11.10.3_A3_T2.9.js
+ * @path ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A1.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A1.js
index 8899c5de5371a9145c8873fd77b712b314d87dde..71ff7400e6171f0158245741a41bc1351bcc56a1 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A1.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LogicalANDExpression and "&&" or between "&&" and BitwiseORExpression are allowed
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A1.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js
index 2389236d1e53a617b8bcbad8f1fb435688e78290..f637f4d7357246a388c5f1f85e2fefa9b0386e0c 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x && y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.1_T1.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js
index 71869b20c46d27cadba76d9e50d12610fdec6cba..3c3585d1ed59bbb21e52e1d990c03b89928ebcb6 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x && y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.1_T2.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js
index 5236885338234f08b41b3cb9d775107331ccd84d..65eb292aa64379e157dd1c8a663dfba984f23c34 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x && y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.1_T3.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js
  * @description If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js
index 60002da91dca1711be21cdfe999295e083f8df04..e58d74ed298b0133399c8f28ac550347d0d29230 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x && y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.1_T4.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js
  * @description If ToBoolean(x) is false and GetBase(y) is null, return false
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js
index 2a9a94fb7e870c938fca8ec272dbbd2466eb3a2b..44fad0ce8160a08dedeb6f43a47987ddee72dce6 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.4_T1.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js
index 2674e70c94ffdddcd493dbe27e5ddc7e9df6049e..b5efeee142ecbc329ee25a45b864cbfcc4d01873 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.4_T2.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js
index d0af36bae0698f395b5d4b8202d45a9ea55144e6..cf973f0ff6790e18489f7b2a3e7ea94520aafb3d 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A2.4_T3.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  * @noStrict
  */
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T1.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T1.js
index dbf67a886365ebb89f338641d291cb560b574323..8274f3c61442a37b0ea4b428242bf2c612ee118a 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T1.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A3_T1.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A3_T1.js
  * @description Type(x) is primitive boolean and Type(y) is changed between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T2.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T2.js
index bfa8b60be471e9adf7a3ffdcab72c85c993b2d6d..01d206b5e46a35d449dc202584b51a1ab166653f 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T2.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A3_T2.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A3_T2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T3.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T3.js
index bb2aef61f329e89b109b6b5eb95d7d95b3cbd8cc..034f9e2d824e48d54f5eeaa2409cdb988e0b38f3 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T3.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A3_T3.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A3_T3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T4.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T4.js
index f29fb7ddea79083e776cebf1a1d8d80bda70644f..1a10a4ce4f0bbe0145559352fab6dae6298b5e4d 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T4.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A3_T4.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A3_T4.js
  * @description Type(x) or Type(y) is changed between null and undefined
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T1.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T1.js
index f8611977093a42a118d20fe9679ec374f56d9978..82f45be1fae4fe342d65bf0019ecc7ac5954eab4 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T1.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A4_T1.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A4_T1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T2.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T2.js
index e96457a2d96542ffc18ae07e6c3745d6d3b6236d..5aaea6dceaf0754faa1cedfd746a42719dfdb30c 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T2.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A4_T2.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A4_T2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T3.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T3.js
index c4fc7192a2f89c89576202aca7ea2b85a97411bb..1ae1808d15f507c50b35aff14cb6f5855e20728b 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T3.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A4_T3.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A4_T3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T4.js b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T4.js
index b79ad7281a2cb4b26010cdadd43f9fd05be52029..1097443864a6f90413d1c381a1fdfa739b1add30 100644
--- a/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T4.js
+++ b/test/suite/ch11/11.11/11.11.1/S11.11.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.1_Logical_AND_Operator/S11.11.1_A4_T4.js
+ * @path ch11/11.11/11.11.1/S11.11.1_A4_T4.js
  * @description Type(x) or Type(y) is changed between null and undefined
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A1.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A1.js
index a883dcf4e4665f74ad55ca29f8a369430c7a3995..904d903e8ca6a31c17153f71a8dc2aa3de3877d5 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A1.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LogicalORExpression and "||" or between "||" and LogicalANDExpression are allowed
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A1.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js
index 72648615a3bb80915fa6e1ecf7135cdd7d97c136..2c79c2a5c9bfc55b674c3f3564eae4d0318bda54 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x || y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.1_T1.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js
index 51a91f3fa2e21d9453219211dda44fc6d3bb421c..7c3e743644ba8e03d25ea17595876454faf86e85 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x || y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.1_T2.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js
index 3a70ba7b78bebc717f805ac6ca033e84b9a71f9a..1535d1ca6c1b25d399fcc8547df670aaac2e21dc 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x || y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.1_T3.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js
  * @description If ToBoolean(x) is false and GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js
index e49ba8f21925327c36b1c704c9ec61dcba320066..47101ac9033fe1318d0f5adad08666fa990c30ec 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x || y uses GetValue
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.1_T4.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js
  * @description If ToBoolean(x) is true and GetBase(y) is null, return true
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js
index 7e2812743e2811493014774773bfd2cabdf33496..fd60270da1f5590c6924a8b61cb3cd3a0cf2b939 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.4_T1.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js
index 235a3e40985b177bb6e1a5dff07d03a1b1ada60f..5d2ca6568236744dc00e5d2b60a6bb148ee09f8b 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.4_T2.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js
index 70ade96acdea96cb34ed2cd04aa90e0aeb3502b9..c818312c845beb56289fa271689dda5d9395a71b 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A2.4_T3.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  * @noStrict
  */
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T1.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T1.js
index ca66de065574f734ef77077b9f23c42a097cc196..d039585657680988592d59f4bab1cf61e3cfe3ed 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T1.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A3_T1.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A3_T1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T2.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T2.js
index 3cb27bbabd6905c8b34d47ce084c262073644d51..dccc098d2f1bbfd4a0d4423d2a178e235d6047d3 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T2.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A3_T2.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A3_T2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T3.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T3.js
index 73b1d36be66b1f0c1eee938a10429818c88efa9f..6e500ede8c270568029539eedfab024b350404ed 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T3.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A3_T3.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A3_T3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T4.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T4.js
index b213c940fcd7c26662b500f047979087d110ac00..15b5579afbf283d4a3c662bbeb70989bae665eb4 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T4.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return y
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A3_T4.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A3_T4.js
  * @description Type(x) or Type(y) is changed between null and undefined
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T1.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T1.js
index 3b1ba0894d09907b4ccc98aad0c4286417dd0e05..567fbf522e4ed2e171be426da4253fdb1e9a99b6 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T1.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A4_T1.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A4_T1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T2.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T2.js
index 681afc573114b27f84e10996b452ad26b123346a..ff3c67a646d6665cbeee9dab724fd7a50408fbab 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T2.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A4_T2.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A4_T2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T3.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T3.js
index 26d2e2d08a2439a06beb922011f992477cfdf8a1..ad71dfed7e133792215dde301bc29d9ad21cb4cb 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T3.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A4_T3.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A4_T3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T4.js b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T4.js
index eca107eb2cee54f66b03c4ce7b659e27500f4822..d37b2ea598b6af7a88801bcc5dbe7cf7678a5499 100644
--- a/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T4.js
+++ b/test/suite/ch11/11.11/11.11.2/S11.11.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return x
  *
- * @path 11_Expressions/11.11_Binary_Logical_Operators/11.11.2_Logical_OR_Operator/S11.11.2_A4_T4.js
+ * @path ch11/11.11/11.11.2/S11.11.2_A4_T4.js
  * @description Type(x) or Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A1.js b/test/suite/ch11/11.12/S11.12_A1.js
index 934ae25d2904f37ceb07af0a28ac55cc93f0a3fe..b813aeb7f1083a8bcc4bdf31b13f9a4fd93b7f48 100644
--- a/test/suite/ch11/11.12/S11.12_A1.js
+++ b/test/suite/ch11/11.12/S11.12_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LogicalORExpression and "?" or between "?" and AssignmentExpression or between AssignmentExpression and ":" or between ":" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A1.js
+ * @path ch11/11.12/S11.12_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A2.1_T1.js b/test/suite/ch11/11.12/S11.12_A2.1_T1.js
index c4394ae0225fe23803426311cad7a9827e27bf12..2a9e568a9b7b213fbbc9585b2f041994ba2c4a31 100644
--- a/test/suite/ch11/11.12/S11.12_A2.1_T1.js
+++ b/test/suite/ch11/11.12/S11.12_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ? y : z uses GetValue
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A2.1_T1.js
+ * @path ch11/11.12/S11.12_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A2.1_T2.js b/test/suite/ch11/11.12/S11.12_A2.1_T2.js
index 93515aec3ff13112224c02a8d71fd0e21a93dcaa..465976c49f9d08aa446d80c3e10b3ac0d3362047 100644
--- a/test/suite/ch11/11.12/S11.12_A2.1_T2.js
+++ b/test/suite/ch11/11.12/S11.12_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ? y : z uses GetValue
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A2.1_T2.js
+ * @path ch11/11.12/S11.12_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A2.1_T3.js b/test/suite/ch11/11.12/S11.12_A2.1_T3.js
index 934c4de5d465741ac4bf1c830de4cad1013a65f6..1e59cd63a201c8161714b127d5ee96f464709a62 100644
--- a/test/suite/ch11/11.12/S11.12_A2.1_T3.js
+++ b/test/suite/ch11/11.12/S11.12_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ? y : z uses GetValue
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A2.1_T3.js
+ * @path ch11/11.12/S11.12_A2.1_T3.js
  * @description If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A2.1_T4.js b/test/suite/ch11/11.12/S11.12_A2.1_T4.js
index 82985e653376958edcec29e6af9932a36158e0f8..0d3c01b298600c6c6c09c6aa169452c6ae551b32 100644
--- a/test/suite/ch11/11.12/S11.12_A2.1_T4.js
+++ b/test/suite/ch11/11.12/S11.12_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ? y : z uses GetValue
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A2.1_T4.js
+ * @path ch11/11.12/S11.12_A2.1_T4.js
  * @description If ToBoolean(x) is false and GetBase(z) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A2.1_T5.js b/test/suite/ch11/11.12/S11.12_A2.1_T5.js
index 8451dd1cbc2e08e6b09e475b8948696cca6983dc..05df26fa508d984eeac7e2508acaeca65a0506eb 100644
--- a/test/suite/ch11/11.12/S11.12_A2.1_T5.js
+++ b/test/suite/ch11/11.12/S11.12_A2.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ? y : z uses GetValue
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A2.1_T5.js
+ * @path ch11/11.12/S11.12_A2.1_T5.js
  * @description If ToBoolean(x) is true and GetBase(z) is null, return y
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A2.1_T6.js b/test/suite/ch11/11.12/S11.12_A2.1_T6.js
index 3e4d57b441477f38b44da9472f170869a62991c7..f25c22a52e296d9cf475441eddbd1b5e6cafe6db 100644
--- a/test/suite/ch11/11.12/S11.12_A2.1_T6.js
+++ b/test/suite/ch11/11.12/S11.12_A2.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x ? y : z uses GetValue
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A2.1_T6.js
+ * @path ch11/11.12/S11.12_A2.1_T6.js
  * @description If ToBoolean(x) is false and GetBase(y) is null, return z
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A3_T1.js b/test/suite/ch11/11.12/S11.12_A3_T1.js
index 15a1fc8bf19bbba1ff918cd2918cbf7c70987750..6614bb7f21df44bbacdd220607750c2fc1cf2ebc 100644
--- a/test/suite/ch11/11.12/S11.12_A3_T1.js
+++ b/test/suite/ch11/11.12/S11.12_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return z
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A3_T1.js
+ * @path ch11/11.12/S11.12_A3_T1.js
  * @description Type(y) and Type(z) are boolean primitives
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A3_T2.js b/test/suite/ch11/11.12/S11.12_A3_T2.js
index 8fa9e4f1eae2a6cd82f8774cfcae078893a3a61b..311cce7d16832f26c0b0d1198d31657a44113177 100644
--- a/test/suite/ch11/11.12/S11.12_A3_T2.js
+++ b/test/suite/ch11/11.12/S11.12_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return z
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A3_T2.js
+ * @path ch11/11.12/S11.12_A3_T2.js
  * @description Type(y) and Type(z) are number primitives
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A3_T3.js b/test/suite/ch11/11.12/S11.12_A3_T3.js
index 9988875c580c376190bf5afc7df90e0de7dcbe3f..644a58fd0414d66a2c4c0a2e221286343b85f778 100644
--- a/test/suite/ch11/11.12/S11.12_A3_T3.js
+++ b/test/suite/ch11/11.12/S11.12_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return z
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A3_T3.js
+ * @path ch11/11.12/S11.12_A3_T3.js
  * @description Type(y) and Type(z) are string primitives
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A3_T4.js b/test/suite/ch11/11.12/S11.12_A3_T4.js
index 118a7ff60faacd55728795073f78bd96f6b2d59f..296ae94eb75bd8e4dd276edaba56fafc41f4ef99 100644
--- a/test/suite/ch11/11.12/S11.12_A3_T4.js
+++ b/test/suite/ch11/11.12/S11.12_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is false, return z
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A3_T4.js
+ * @path ch11/11.12/S11.12_A3_T4.js
  * @description Type(x) or Type(y) is changed between null and undefined
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A4_T1.js b/test/suite/ch11/11.12/S11.12_A4_T1.js
index 887023b548680d667a9be79dab0fd73451367276..588d9014125808adc135b49a3d34cfe98fd31786 100644
--- a/test/suite/ch11/11.12/S11.12_A4_T1.js
+++ b/test/suite/ch11/11.12/S11.12_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A4_T1.js
+ * @path ch11/11.12/S11.12_A4_T1.js
  * @description Type(y) and Type(z) are boolean primitives
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A4_T2.js b/test/suite/ch11/11.12/S11.12_A4_T2.js
index dab893bfd151f9be3edcfecc59c090ce01852125..eda208159fbc0eb14fbfd961ba2ecc0a38b8a9d2 100644
--- a/test/suite/ch11/11.12/S11.12_A4_T2.js
+++ b/test/suite/ch11/11.12/S11.12_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A4_T2.js
+ * @path ch11/11.12/S11.12_A4_T2.js
  * @description Type(y) and Type(z) are number primitives
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A4_T3.js b/test/suite/ch11/11.12/S11.12_A4_T3.js
index 9ecf264653287de177b4f3ccef4c11584bd124a8..168902e1366f935f5a72e178d0be67e01f6d1259 100644
--- a/test/suite/ch11/11.12/S11.12_A4_T3.js
+++ b/test/suite/ch11/11.12/S11.12_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A4_T3.js
+ * @path ch11/11.12/S11.12_A4_T3.js
  * @description Type(y) and Type(z) are string primitives
  */
 
diff --git a/test/suite/ch11/11.12/S11.12_A4_T4.js b/test/suite/ch11/11.12/S11.12_A4_T4.js
index 1549eee1b3970aa026cd0a52d51978091cca7f49..c3b5f477146cbe714ceecf1d9ea690935e85ced4 100644
--- a/test/suite/ch11/11.12/S11.12_A4_T4.js
+++ b/test/suite/ch11/11.12/S11.12_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * If ToBoolean(x) is true, return y
  *
- * @path 11_Expressions/11.12_Conditional_Operator/S11.12_A4_T4.js
+ * @path ch11/11.12/S11.12_A4_T4.js
  * @description Type(x) or Type(y) is changed between null and undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A1.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A1.js
index e93ed9ebd2e5decb0e6d40d27b14af5df9ec4e7d..533091b570f9dadedf147cf034cc953976081f87 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A1.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "=" or between "=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A1.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A1.js
  * @description Checking by using eval
  * @noStrict
  */
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js
index 67ca19d8ffc92ee06d981e48701707ec9c9baeb5..3c3a793ed6e7db4f51376120a030b054819672bc 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x = y uses GetValue and PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A2.1_T1.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js
  * @description Either AssigmentExpression is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js
index 661d1445fb267b5a0c9502542234936ac120d9c1..7f48afc64b3e1fcaac5beef86d9a4614b2deb895 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x = y uses GetValue and PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A2.1_T2.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js
index 448eff4eb32f2da979dc2e583883fc07820aa857..3e153946fbc6e447c0517787c8d1a3a5050446de 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x = y uses GetValue and PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A2.1_T3.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError)
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.1.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.1.js
index e395d0d8a03ad8bc9c6d2246e0d1c49c8a12acb0..d02876814c5951a780c81a7ec3a8589b1d2370f6 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.1.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x = y PutValue(x, y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A3.1.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A3.1.js
  * @description Checking Expression and Variable statements
  */
 
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.2.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.2.js
index 570c6ca9003ddc43185fde4853d5603c6b334425..f369e21c3348ea0dbf1ee61548fc334d2278ca85 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.2.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x = y returns GetValue(y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A3.2.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A3.2.js
  * @description Checking Expression and Variable statements
  */
 
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T1.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T1.js
index 7eef012835d826dc85c2714c53c1e3ee5c951296..5781fbdfcd7f02986806ef752932128175ac076f 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T1.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * AssignmentExpression : LeftHandSideExpression = AssignmentExpression
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A4_T1.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A4_T1.js
  * @description Syntax check
  */
 
diff --git a/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T2.js b/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T2.js
index beee8927dd98b7ecf0d68110cf7a38d131ce8432..d1d4ea456af9f780c69c89a70794dfb349acf370 100644
--- a/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T2.js
+++ b/test/suite/ch11/11.13/11.13.1/S11.13.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * AssignmentExpression : LeftHandSideExpression = AssignmentExpression
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.1_Simple_Assignment/S11.13.1_A4_T2.js
+ * @path ch11/11.13/11.13.1/S11.13.1_A4_T2.js
  * @description Syntax check if "x = x" throws ReferenceError
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T1.js
index 5eb81d2ab634b22134985f482a7e227457081419..db0495c5c6ebeeda84450f8e26cb18c10e6bfad5 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T1.js
  * @description Checking by using eval, check operator is x *= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T10.js
index c14f1d8b7f8aac1663d26e7650cd2112953568ef..3487b3dd0270e4f10b1976e68cab075202c5b92c 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T10.js
  * @description Checking by using eval, check operator is x ^= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T11.js
index 3c77dbb9317fac8f2e2992eaf65fdff65cdec6f3..fc81632c0bfec0bfa6c5bc72a4a4cbd62136399a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T11.js
  * @description Checking by using eval, check operator is x |= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T2.js
index f5e11cbec7b2b821789f9738ac211b1480e9a0cf..1e15c0115c73e6eb175f386bd6477aef32881c56 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T2.js
  * @description Checking by using eval, check operator is x /= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T3.js
index 2b764d0a90f2d2de5d1b162c8be6083829fbf281..1e2a6760aa8d524f56b05a41fb41df7cd346ed5c 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T3.js
  * @description Checking by using eval, check operator is x %= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T4.js
index fa1efbc08aa6dfac6d0e1379adf4e45ae4e6acba..fa97eb77f8cc69f788548b4a45745e2af45a7ea1 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T4.js
  * @description Checking by using eval, check operator is x += y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T5.js
index 75369e16f9d9446ad16964df5d45636ad3685c85..d4fc5a620e2e67ef6fb31aa2a82e378fc056f7d0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T5.js
  * @description Checking by using eval, check operator is x -= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T6.js
index 2d01a534eb1c4d4b3947a6c14641bed982aa5a66..65370cf1b5fa8ca3ee3ca9a40e4c91e5354ee0b8 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T6.js
  * @description Checking by using eval, check operator is x <<= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T7.js
index d16b437cb6c225d473601fd510019352bd5fe2ce..5093eaecab0b010518ed76057206af6361abbba0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T7.js
  * @description Checking by using eval, check operator is x >>= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T8.js
index c5f40e3aeaea117120d3326696c96c4ac14dd58a..8469f353de58ec070bd82e14fb46a7624e2b8b83 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T8.js
  * @description Checking by using eval, check operator is x >>>= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T9.js
index 6952103e565b7fcd24096d54459060ca3829ee73..c73eac5e1b4bb00ecc18bc9aff7a9bd03c6c6193 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A1_T9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A1_T9.js
  * @description Checking by using eval, check operator is x &= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js
index 95166c941502c97e573118d47032f06a70aa77a3..e6a01dd52d5b214204c56648f800b61380206cc9 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x *= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js
index cf1805ac6d45842fee74ab8882111a9c85354f03..a85d13eb0ef5b5872146d8e4712976f3fce91e73 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x ^= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js
index d6f80d2dac6ffe60fdeea4e0542f1ed01e2e19e3..925ed41d62ceff08e1d79cb45b91428e5a25a4d7 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x |= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js
index 7615925c1ac39e74c5e0332321e04e1da9365476..d9ee6bd593f3db12685929f14080dd31f527cb06 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x /= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js
index f225dc65dccc2f5f16464b849ed866b12dfdc3d1..70586cfbb38117afafab3fbca1f78a0844baf9b3 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x %= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js
index 74726c4f0ae8ad3315c1515b356454fdd58ac7f0..7fcda2fec6383e3d3e4f260a3b2147fd825b6c89 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x += y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js
index d8c58fee5f95129e2bbd562b6b9601738fcb7caf..db68d55859cdb165b5c7aae6abf44b9f92aeba92 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x -= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js
index 553038eaf9d17add5dca72dc457498e0991615c1..f6f5ac7cabadc54dec3fa6e0a5e714b1818ba671 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x <<= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js
index 3c170b777a8715f9f23023865bc93317e1b2242d..cdc37d9ba0b9a7a2bd6ec179c3eee26a205815f9 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x >>= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js
index 343b8cb5cbb9bcd5aa2edf00d0c8ece5ce78acb4..e53d41a516132b3c014efcda70455a4f4fbf501d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x >>>= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js
index 2b2feeb1a95b859a12e8e5323dcb86026a48e95f..a74dee97d49832250a1fc9d64fb14bdce42e51e1 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T1.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js
  * @description Either Type is not Reference or GetBase is not null, check opeartor is "x &= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js
index 7ed9a477f5b1d2f3c13d88ac0f3d1eb14bf4b931..eede73f3d519be53f735d750f18e70a14ee37478 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x *= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js
index a3a929add4cb7fca03c3aa697bca0f576b1d053d..27c243325c42705ae32d8dd2616d2e22aa7dca38 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x ^= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js
index b565dd949e98ae5586232ad473c6258343f2535b..22cd6c1b848f1685709eefce46cf8bce2efc8a38 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x |= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js
index 0cbb8d87aada4b0a8e828ef52ecedf81414ca384..02a39f6c45a4178779914baed6e3894dc1407faa 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x /= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js
index 8c0681caf3f4a84336d6d64659600249c1e38776..1d11d3bcea13093b7702b16c196e82c5af128b3e 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x %= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js
index fd88ba1421f6c4476faf797158a93f8f5b42a5ec..77130277792cc189ff957fff5a82552035eb4912 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x += y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js
index dfd8958a279a0dae3d11db5b32a88bb465080955..500e5e6a93d006fdccc56cb8db7937a5263e09a0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x -= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js
index 88c5617c4f8102f9627a3796e2aab035c81adb0a..9042f94bb654bb177c06a0b53e88efbee785d58d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x <<= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js
index 543427edbe45bd1ed96184ea7ab26657e066685c..8c391557ebefd6722e932a4aab5706d5f9b4c304 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x >>= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js
index ab29ad01e93948e43a0995379a21c246f4d98286..8db8963a90329595b0b0594d537f6b9c5a420538 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x >>>= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js
index c3835430b7285f942d27565b0dbc56ea96e36bbe..a9155a34e973be9138249d910a7ff8dd3ae7ac0b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is "x &= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js
index b460d0b5a4c9c7fbe5582492fdd8ce51d2d1e492..247f69ebc39faf8b08ac832fb10f99341fe714d4 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x *= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js
index 18c83dffb4a41f1cb365813c0b979b95f332bc43..2c8495ca837f1a4a851f4d71a389d991209c3cd8 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x ^= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js
index 2bdabc365bfb6c04075d5ec078a4f7dc84b23880..9901b9db11c7fc848ae678d0c04162c45a64f704 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x |= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js
index 73fae1571d32c0c956533ab1f601d23433f5c413..6832765ef9d0f8279b6af5e21fe878f0e969cb0a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x /= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js
index ef4bcc4abb992037fe166c4cffda826755f04842..dc0df0e522cef839c38e8e61563df0a2e6b6ac16 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x %= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js
index 8454d3505361c5a73411dddc18d1ad12fbf84e95..a32957d99d7c0146254a31d591f9b4263ea485f6 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x += y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js
index 4bc905b7d1b0eebe24016b50ff2d003c23b17175..7e8f4601d3456b2fcac0a05488763877247d152f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x -= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js
index adf72c9e8d57da91fe0bfb089987d6af2255758e..0c1d107bdae379b795940819296b5f28e296b00a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x <<= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js
index 0daf5f881570f8ddb1d50c0cabba62f2ce8f4e7b..0fd60d869f346e7ae848738534229aebcf68980e 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x >>= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js
index 08f77d6e352fc4719096f4d8140879bcae8d610e..57259d1da1da0e9fbe16c35d17b66ae7ccc09a34 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x >>>= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js
index 34a018468fcec2ad1fddcdeb3778029fa72e94ad..eac242da489da7b6ee29ac3b864f9c9ad25e6fd8 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.1_T3.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js
  * @description If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is "x &= y"
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js
index fe01bdada6a3adc1310c0e062a66ca5dc6f0a269..d9ce71a56cb2d66f721888c35714daab5c9a383c 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x *= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js
index ef191b9ce5acc585f6472845f9cfc09c3518adcf..38c494279b6cedbdab4b717251d37ea1b2778a52 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x ^= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js
index 00cab77eac2aa7b7da6dd9fffaba994199e3af9e..45c162f86a4a2b96b76d2a9b478fd3ea1134c800 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x |= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
index 1b779706746743ae88bb8dccf181ed81691ebca9..7ba092e8879d314ffbede3f27cfd87daa2297b65 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x /= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js
index ef7e98aeafcda36b68429d636cae0ccaf588e6d8..c26da6dd40daa571494357731f0c8db46623c7f8 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x %= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js
index 64fc9e4c0a128befdc14b895ba03624d94da4724..bbfbd0f41738f211ff2fff10fded57e1e5ad78d2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x += y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js
index b073929c7e8b940d17e63b81b7cc4f33bc0fa6e7..d9a53ecaf73cbe727db52881dbf7007f6155f4c4 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x -= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js
index 7171fbc637565439e836b441954ca854b1f265df..34154341dbfd7e2f0f4a0cc9415ebadccb6e22d7 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x <<= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js
index 41ab124dece2ccd9282905e68bf0c940177b6d3b..6f0e3fd4d515e8b27709e671bf8a5b655880112e 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x >>= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js
index 315da0705070dd6b36e94fa91d27871a06b72358..d822353911bdbe9dbeaa315538f011f81a8c103b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x >>>= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js
index e2e2938500dac787df5eeba5c090e5c3f34aaecc..f85aa27ddd0d411810f088dd8fa33c5d35c8993b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses PutValue
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A2.2_T9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js
  * @description If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is "x &= y"
  * @negative
  */
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js
index 7bf71c02e543b4402c5dbe55128335f702991ebc..a50a1cba5c9606827e0ba0248619138390a40e40 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js
  * @description Checking Expression and Variable statements for x *= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js
index 745c07c7613cb9729e5273a304478917febacb2d..a552f7d08104ea090cd66c81429381062ccc84ae 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js
  * @description Checking Expression and Variable statements for x ^= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js
index fb8dffae7e5cfadf943db2659d09ccf6d6e140d6..6bacd074452693ed74ee9fdbe6e8dce23e5a331f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js
  * @description Checking Expression and Variable statements for x |= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js
index e8c83553ce9e202773df51cbbe8526d737570e59..2b07ad143e77ecd4467df8f013db60d85e9a234d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js
  * @description Checking Expression and Variable statements for x /= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js
index 8a0b52334998c449b53dd0eb84103ef8b035e04f..74ca601ac3bd98076ce6150f66faa79d7e41f0d1 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js
  * @description Checking Expression and Variable statements for x %= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js
index 58245c869f4b66810c65a7f1c5f85e1dfa70896b..b97dce0b019d7ab39803f21625516c5a896e77a2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js
  * @description Checking Expression and Variable statements for x += y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js
index f806e9c024f7f4e9f9dbd3b1cb8375e9768f8964..266953269601c404310bc060360f22317e7985fd 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js
  * @description Checking Expression and Variable statements for x -= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js
index a70d79bf08dcba07c839a32307db3eb720dd885c..08aac79810e83517098c892d543b0fe56f0c63fd 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js
  * @description Checking Expression and Variable statements for x <<= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js
index cb353c252cfba2502e095bea5253b596a344f1e5..b2102b2b8238ea32e59f55f42e9d2bd57f8987a0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js
  * @description Checking Expression and Variable statements for x >>= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js
index f5863b45191f167eaaba3fb2c0e6caea22a6cb9d..7a7dbc7f62424b950ab9ba4e25816098a80e277b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js
  * @description Checking Expression and Variable statements for x >>>= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js
index c1a5ac08ef4d2d644738a45f547a3cf3717f1348..8e1408df5fbad1310a6c030ac317420bab4b3ada 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y uses PutValue(x, x @ y)
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.1_T9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js
  * @description Checking Expression and Variable statements for x &= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js
index a3b93a493c27b37dbb89dc9dec2bf4e0aa07ef46..8a092bea6feb2d95cceae154c9879612097127c8 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js
  * @description Checking Expression and Variable statements for x *= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js
index 3c2969b75d16b1a93e64adff9b9e10f7b690d59d..26de3f6ed78879e0bfdba8b560ecc55236322468 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T10.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js
  * @description Checking Expression and Variable statements for x ^= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js
index 4be8aad2b8941c0d746a1b787cb12947a7303db5..e9c1ed403510de940306c2cb2c1415d8798abccb 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T11.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js
  * @description Checking Expression and Variable statements for x |= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js
index 64b01990713b2b53088f1a058d14022b0025a4b7..8de215e0f5ae62e8f0bcd95671c38330513b28e2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js
  * @description Checking Expression and Variable statements for x /= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js
index 75f7e5d88e310d423acf80cb2f46cc6ad9b1ae6d..2e4853ae286ab0d6894cff4298d8925f3fb66b53 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js
  * @description Checking Expression and Variable statements for x %= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js
index 76fafa1e4fc2896a16162ec8440916f1745c48c4..8aa84317f6c163f830f0111b5f1212e668a1fa88 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js
  * @description Checking Expression and Variable statements for x += y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js
index 123a753c6431928cad8e48ad2696a842548cb966..50ca35e716ed4e118c3e0db1a240201f8b502779 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js
  * @description Checking Expression and Variable statements for x -= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js
index 4a77967eb7e849109c991d1668522d02f4a61f29..250be77af30cc5049c943b09d448bf63af752873 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js
  * @description Checking Expression and Variable statements for x <<= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js
index 60faf4900bc13b981f89b49554b28723dd46172b..d37cce49838e7ae22ee7b0f4cb3663f642f4899f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js
  * @description Checking Expression and Variable statements for x >>= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js
index dce5922ff1c7730e00e90f1d7de2442838642806..f636cbfe54bf686661b7410852468d31af2ae4cc 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js
  * @description Checking Expression and Variable statements for x >>>= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js
index 01d489f9da58ae992effb12227b3b135a38ea08d..de09e1fd5c9d1aaafb552b44916cc47acc283fbd 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x @= y returns x @ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A3.2_T9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js
  * @description Checking Expression and Variable statements for x &= y
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js
index 0312853e111b52eaab0d4be9f6cfa12d844615d6..e9b0ee0c46f082272567a3deb5cd3d8c1004d102 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js
index 26257e663d3a981f08c9f8af47c3864cd0d14008..28a622e5bd4a0b3042d2dd551b04fc536e030501 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js
index dd0ae30a96f25584cec6a14500db747ca826b049..bfaec704b164e692db1e13be65476b7164582cae 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js
index c0a11957aea55b7aacf20b6af00df035617b9811..03b9f63e5a126075c0270e8978b42b9308591002 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js
index 8f140620cfa7c439373bd3e5ab05a4a598ab1f32..82f1762914db558dd9f0f02ef4cf29734c3b93a3 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js
index f16adaf68f4633941f192e8262fd308b3474d215..5b877f27a40e6047237f7cdc385411c40f41b878 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js
index 150ef8f080f839ca2b0a04533636b1fc5dd00148..a41eb8d6ce8a6eccf454385bfa8767a9d6b3c860 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js
index ed19b15c3b1214e44da06691dad61cda6b335c8d..666f20604dc258c74e9ce07184844075c47db113 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js
index f850af5836d285e9b280502920c135b6af4b661b..aff6b25dae3f6cf96a549e0efb1b42462b7657c2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js
index 568e0f31c4224e86e141297f3f101d07d49d42ac..4b30cef36971ea73456a3d01c24cd33c38616b51 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js
index 9c84a46caa5dba6bdbc3341793a3c8dc1ea76ae2..880fb66ec10cef32d666fb5e42d432ba8655caba 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js
index ed8f42b4fe8cbb47f5d36fb5b817df2e379b163e..4e0e83855dd7aaae9b07c7d9d8b465077a72768a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js
index 84b35bfc438b077757091c2f36777a13f4c3a63f..59a622d54d7e0c0084cc67395d1986e2066ad1c7 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x ^= y is the same as x = x ^ y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.10_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js
index c234d7b133717f82bf8afb01c00993841c14274a..afc6d63cf6d6f11cd75e93a1f1605d87dacc1fbd 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js
index 78240b795fb525e1dfe68fb4171e3758a014b103..24a4a8fa506b5c96db735ee19baf1a11e3a913c6 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js
index e350d767a7396132fd902d537c207233103491aa..5e6ae229aedb0939e9b2808c4a49d13232641772 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js
index 82f62f02b97ad323314c9f27b710b7c19ce720da..2c16de0589376d587e426d72e64572b8bef14c39 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js
index 22c07fc0c80a771875f232c3de28998fae9b07d5..f764964f08e45363442c8321ac92f0de122634be 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js
index 61b8fc924c9e0bb50bdb4fc2dd4b340fd20ee77e..46e183eb9a3536b8060b33c1adc4b50b2ead79ef 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js
index df1bd0681bb44788a5b270719170dfaa50f4a391..070f1ecfe49e1cf803e81a77e437a282ded26983 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js
index a1919dad8deb18d2898379eebf44cb83aed71ce3..e83610f3651137cb59e42939deb5628afcc2f741 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js
index 0c2b3317650221cea96074a0b7fadfcf11d433cf..0511f66745af792feaed1c8127547a3b3d05017d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js
index 15e6c83258afb1a9a1420904ea4d8dda6d43af8c..b3aa7445c8962754ee638988f80f9065cc63801a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js
index 6c0d84da861e66d3b8b2980bc5effe6b52de3653..b1539ad746704b0f0aca1411e4e209bdb218af14 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js
index 0e9fa5da1f2a7f6899c87d93548d53bf53193bc7..dbe3e0a1ff5b10fdfde799c6560c2e4e441875c0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js
index dac96cd8c224a661f5681e25ec838498aceb15b2..aaf7e4a8757de52a9840f9d1d1657eb22c2941a3 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x |= y is the same as x = x | y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.11_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js
index fd739fb70bda303a9c8bd11eb99424f02ab37471..bfc284bbc3f4297870b1b43b4cb36a3790933481 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js
index 59ad604f7aaba10e2a9e5569bbdef6c7b59a0e5f..f13415b2810b235b12d8ea8149f25a9b63bee857 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js
index be4aae8c60307c67f463e36b76aa64050a3561bf..67aca8fc14c7bbf8fbfd2b45b029f6a4969a8b18 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js
index d1a62584897768f0914be1413decb7c758f325df..fbb268105732414a747b444138f3a30a701e98d5 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js
index c3df542fc54093edf2b8a630efcbe11a2a23a1f7..29db0f5cb901ad2b283b84b57da0ec168fd05053 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js
index 750f3e4e01b98baadb547e604a50ecc976cd68ec..7d30461277c47ae709ad47bc99443bc1c7e6d733 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js
index 403a7900575162c7b37d796424edbf66f4a9cbc1..b796dc5cb8edf7a10a71f67ff9777b168a815910 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js
index 515d980c9b7814e32af8f4db00c18fa221ec87a3..925d736344031dd9bc311e06bb03964b8042e527 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js
index c83dcb0a54e08c70305ede07fc34b163e588bba6..7799377cd60f458d091a3448ff195b523259ec41 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) amd Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js
index d5e84704ef64f21607626775876fab56400cf68a..07be013510503a7899d6f1e44112e84ceb717931 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js
index a07510c88d2997201db8724893737740c470199a..b0e8eddc4bb5ff78c76f35af696ce992405883eb 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js
index ae003c092b03864cda27ac96d98371adb8ae9704..dc0adc04cab97d5d4e500b68b330ef37f125c9b3 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js
index b890a6f893c8d6ede3b23a6b2b0e92cf00625b18..0a7443afee1a794f5bb5ecd9c4983a7d2871d968 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x *= y is the same as the production x = x * y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.1_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js
index 582131a10c1d9a4d07ed1fe9b1e0d22bd7403a22..da1ab4cdfc0a781d45704d3d03523bcbfa530843 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js
index eecf58d7ada0c2c75dfb96341128692e12d071f0..3287c7c7845a86af6bc6b01b7dc3097c8c9a0681 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js
index 6f818572687cd6651828ecc9958fc072011dac6e..d327257ff66f7776a13cc65f4ced88a5f68a25f4 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js
index 14db456ca13e7845b09458fe4d8cb21d86e89ddb..e97535c9458cb558bd5052967ea703392c56bf00 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js
index 28e945bcf0abb6a83f79cdbaca034124fcc3eb33..46eae946e60276bc85c38aacc678ed5faa14c6f9 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js
index c8f87bb5e776d9d2c9d3ca336efbeb5ef8d532c2..8a607b515180bffa81793c029511085b1a6a1e92 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js
index 82546898e652afe8a56b0267e62370ee07ab6b92..dae7a092aba61c100f3166868bbeb17980b953c5 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js
index f46631c66c8ddb3a69a68af1968deec882ebe3a7..28c6d611d7ce3d4f081eec5bfa755dbca6b988f2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js
index b10fe3d15c684a8c34ed2b40afb400a565f94615..f4ea9ad5f84337d842adeda94c4ed330809495f5 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js
index d7b9689eb78f7f1c757bba49283a89183d734ba9..91ce4dd2b19554774094d592e516f6b7735a134f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js
index 7992ff6e8dc0da5946cabba755b4ac737204a469..99905f4d99ccdbadb35b6234130c4e341068832f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js
index 23034f31e583d769379347abdcac1497b369bb19..c5c373b765d865b3ce0c2e3d945b58ead7ddb659 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js
index cc9584b2e8cd6ce8c93b8468acfc13d074f11822..466f9ce87a38c02a162f42c6d9cdaf13f493b54b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x /= y is the same as x = x / y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.2_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js
index f69e4255dffb83e78cee2b287c1170f758dee274..bb8d9cccd1a10903a0bc8d4da718d32f6eaf880d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js
index c1b14b8b9433ad54f104ae6ef04f788b6480fa3f..97093ecdb8ddc4224cf9018341cf883abe794f24 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js
index b9bd79edc8b4c0bde1c6c08e9b21435a2f313273..e95df69bb873948105bc364bd6abfa7b5469d571 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js
index 7f06b6bda4e2093aa0cb9ec76bce6656f2084232..51e763cace776498dd8544918b27232b305840f5 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js
index 535ad9a1913f79de59052fb390c6ea0c73b44efe..a45476433156044156d18b3efec85eda7a34a263 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js
index 8fae8db125fd491542a33137b57adde9ed497d6a..e2027c6b35ac980bf9033999178e3f88d4a3a301 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js
index 508856ed5ddd7ba00735cd063c712a776a138a20..8566f870238e514c8c180a27870fb552ce8f2658 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js
index 181046954c09765d6494b5db07cae32f73dfa40d..259c937b41df55396b0e021d0676f288cdbf7c94 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js
index 514102b38e0add02fbc30943c25cee5a9fc2dc30..69bff3cb45a41310116d5e0276a1d4b1044ac7ec 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js
index 688e4582bc96d009aca63a43490882f8aa8ed2d9..51f30a6d05af23abacc2aeab24220ca1c1340742 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js
index e20d53bd1d9b13363e6c96ee8bd97987c260743e..e451b5bfed1e4d5df91a240515c25c39bb50cd51 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js
index 3a351f5f4d70dfc92103407a1f9c30f0657bb584..59a57095dc0cb4b2cc816a50e75863662020273e 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js
index 886a85809d286bf95b83d0d789191fde9d10c98f..ebb9b209f08719c1e6fad12d6b49888e82f104eb 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x %= y is the same as x = x % y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js
index 84356f64e83fe79e8c356bc368ecc0dff66e0fac..11313aac68ae573882e0b4369ba2a2e16b410a88 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js
index dd3737ce7ab905e78fcdf407f707fa8d72d5b951..141d56b4d30859903b18244a5aadb24e3c7cec30 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js
index b2c35a880f63a71800feb991c04ad2d6edc54fbf..da89e37893f7f0211d51931c00f4ce61cb59baa0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js
index b62a0e6d36801e72f8e92af649b888ad639f3154..3ae788c91b3256c3c44bbc6d8e2241888413f084 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js
index ebaf69f143046d55cbc4a173658c944748bdb48c..b26a00f80a824aa9f8e188057318ce5b0f0ec663 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js
index ea2f79f3180308ba94cd98deb50911ba23e92b06..73b6923bf7bfbf617844f3580da86c7790902534 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js
index 03deb855ab5d8220d57ed3c8e79449bc387dd47e..158d2aa2462e7a4c73edb51719acd0dc8d1ab717 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js
index 15d0b260ef7e7ce46e2ca85311eac0d5f3fc56ce..f54e30a4541274c1f21730d5a5e5055724cf3143 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js
index 3ec72f9e3771559f7fbeab712f64ceffa09c6533..b020ca56309709f1d3acb6406739febb14cdf0d8 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js
index 79f9f7623807be03f453fda7fa14fb8fbe99f6d6..7833c0ce94e3d74b94535067bc0b3c0f617b6958 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js
index 8b426407733d5361cb1c720040467719b9615393..2d80cf7509ca081ffba36291aa90f21fca38cb72 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js
index 75c282aab26a1f116d6102eaecb7bb3e72a8e65d..c5f364c15ed375bf1b288082cac070b51abdf9c4 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js
index 67ee9f84de1962d5c63ba720faabe82f5b18006e..f2a986ab876fb00366ceb40864c956f66d9a9ece 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x += y is the same as x = x + y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.4_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js
index e39311c7f533eb827f9660accb39c7a29f34616d..1a155d3da1d8c756fa3c6fd06c565dbf33bb23f1 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js
index 7a95aeca7c2cab63d85fd78044f66db937dda754..42d5abdb7676aea246922b5bc037c6d9c91e643a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js
index d1a61e4ee419e08676930d9da2e97c4ddc4dbafc..298948f618138f16db3c5d7fb24e6f77083d0ba2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js
index 9eee9c5d7d318a5e14dcb87ab9bc6690968c1149..28a9d2d767eecdcacf9983e1d0c98a1e60acd59f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js
index 5187785d532db92f661873447337bfb0695ad039..94b810cbcdf720b0fb52152664fc97eeb0931b8b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js
index 9ddb7c48c5a0b948ceeaf31df1767a266d7999dd..e71788b751c20ba6ab08e8e7ab4d128cd9567d75 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js
index 1f43a9256bfe042b00b7ae20028338914ea25e83..f7385f53ff612a0e86312105c27d7de60e980b44 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js
index c2039182450dca3b708df7cfe6c08566102520f2..0c1c5375fc586529280951245e0b064798b80646 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js
index b7fbb11dfcc9ca22c85a3fc41341378612f616e5..c6c26409c401ba82292b3ca7745011112006930f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js
index 55656e74f8f282a0b02b4562ca2648cf9e65cff9..39b17aeeb77aeb185a98626811817377eff50acd 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js
index 3c77326bce2994b0ede1165f23bea2000a053e6c..b6d0cc0a8dafc9c39ddd8f71394672d3c01a94bc 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js
index 6c2d0c92c647f794ee86f74393e0395cb6a4ba90..61c68cfa3c8ff7de7733b3fa2766b685d9e97773 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js
index 738fdfeec0ee11149886957e548ed8daf098c329..4881e2d8bfc456ae58efb6d56c3d4b6ae0dcf2d3 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x -= y is the same as x = x - y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.5_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js
index 8b8edc607c9124a6604d484d12f24d903945f279..d4b6680cffa6cd504cd27d128db3e38bf2afc58d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js
index 35774d144ebc0a64d457446b76fa39c07e240784..63493abb6339671317e7110755a47add4d6d814a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js
index a1189df70f3e166e24a982e6b912cda43ea3d6b2..8a31b37ed05b2b92c4b9183bd4f82a8c4dec6048 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js
index a4f0dc70e1b0830f8dd5b7377fbdbdcaa921bc7e..1c1a8178113350cf611829f151b3c1623ea4bffa 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js
index ecd0daf54cd3f3021e4d5ec0c0ecbee30b0ceb32..9348c745e28326cc5c9a664b9ed25f73f743db8c 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js
index f3344b2581b5393d6f233ed4bac00288471cef6f..2cd913d8ef9c9fd487a1e9b05e9572a89cefd948 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js
index ada0cbaed445b149c4a39067033aabad26efcadb..6040e1de88206d8ed718b26956e618b9a81fce6c 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js
index 139416ff08176bd9181894d8013706eb306d9bb4..1eee513205603a1feb3c1fbacb1a6c18e2cab785 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js
index 5fa792d7dff469672a5ce1f0114f727d3b88f222..7616e4e7c93cea8ad85aa95dc485d9873e00d8d0 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js
index 46e08be7166b3f81232b4679570fef3fe825ac97..6fbf4f4f2cae6c70366abaf8552e915aff71c685 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js
index 6d09995ccd57c665ec20752a0b08448d0dc337f4..ce324f83a548d2298e5397c077f2f74aa38cab55 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js
index a355c8d2ceb104925796864ed8edeb23de9697c7..606ae17bcb363e621e2ab74058fdde488bfc6516 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js
index bac7b1f88c86f276205f03f4b37973ae470ab221..2b0820a85d91ada8fc54a7a0f74c3a884772b1de 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x <<= y is the same as x = x << y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.6_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js
index 80eb573a38a9a8917cf49b705be2527abe9b5918..aeb328d7cea32b26a99d9d3bbdb583418303b7f7 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js
index d4dc713df3e524330fa25fca25662348ecd1ddc0..dc83e1ad0b49f87ad0febfba9df84df6136f2003 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js
index c5dc07c9c2920a17d7d8d6dda9a681cc6c19bdf1..9513cf37da76f9c90c4673851bfc3e87b83c5502 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js
index d7e32dc3413cde43c48cc420930f8372dd481e55..7195a5e44d1d921a4e695401a4b99f99f6e6348e 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js
index 091f15ac94a68ea551db0e2be77f74a3b75eb165..8fa6a383c0bde48c2778532033949e9655e9aad2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js
index c01954bd1ae253573c5ca63f2aa38afb245cb114..87e69c0aa2282b8adf064c14074cb6ae2c75f823 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js
index 1945b3ed5238417327d8ea76b996f1df00697c0d..0cf56fb531ae9575dbba50f26535f34d70df7059 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js
index ed825a6bfa33a59e0a670a409b2a3e843f2632a3..f9ad58a3092a613f5ceaf9bcf9e1154446a00a39 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js
index 604108b80f7539743b6785cb8c7753c45ed2b4c2..bdc8b729fcab1aaa50b4c05e6b09d5ebbe7e510a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js
index 70acfecc5577c6eb9ad1ed129075964801195720..970a3540b49f6027071b57f7ca05a36b62b8a2b7 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js
index db9055f19c68242e728ad78f6e34c7bc80feaa9e..7720b55124183575a49452301de43982d8d0027d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js
index 185f89c4b969b68d43ee421ffe2a00d529e1a26b..05a4415a1509123bf8bd086f077afc2524bb3565 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js
index 8b52acce2370b045c71ba664cc574c342a13e5eb..ddfdbfc644397c303671bee3e67b4558955a370a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>= y is the same as x = x >> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.7_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js
index 9a8a605f7cdeeb887e1c04fd904cdbcf6d5e1b8c..0b2e033dc4a0a4b8ec95680c9494219cb75dbbb2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js
index 8478d2e58db39a42ef3dec0b2b637ef1995cbf8e..64cb86684bff943692c4c6f62d3deb57d119406b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js
index 024b470e838560a75b6a32b21fc95fb704b9b1f2..47f1978869314f8bdfb5117700b4b957afded62e 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js
index eff9be5522a9a205376e54de265321bfd07151a1..6464ffa82dbc2383f7e069977363d3aa2ab7f102 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js
index 8d09489fe30c23705870979c68f121993c27f3bd..f610d8278a8e4ec404ba2c7412c05e6a3bfe5333 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js
index c77db67c66f3a63883c675b49ae0bb3306b8ddaa..9a1d719fe359ae08c94313f1788823abc6e14e91 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js
index bf25a8fe7c0c027fc65782d2e2264502876db66d..bf809a2729929de1e6708b66a37dbff820f5b193 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js
index 87677db957398b19681dbc16fab86aea8503b3d0..4e034735f03ae94e0071da6a62d7371aa737ca90 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js
index fc185777a6b03ec1b8525f4f125f248a7c1a2025..cf319f71d67a1bd91c6d4b29f53ece515bb1a765 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js
index 73ccd9be9a0146e58ea3a25118d2dab17f93e83b..d73b02dd2df2f70b1b9a58b838f199823e742dcb 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js
index 221b6c885d832030147280f9a8e5129149650aa0..b62931e6b276275c122a7f0396ce6a0cf5a0db3f 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js
index c19564ee168390839a1ab863346c52a12c1d7b7a..a463cca10545384bd3bddbe10f97bbf71bd7ecc2 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js
index c4b90e684e233cb173310099a54a29a7cef69c62..e055c7d2dd34f1bea6f27c85cf087f9dc07f2f81 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x >>>= y is the same as x = x >>> y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js
index 49aa26d1d7ecfb5984e9d951f16d39594f97dede..13be4e0025079af11505d3f27f34005fd6d230a1 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T1.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js
index 01b6b015bd24aaa2ba4e8168f4078160be2f2c3c..cc1eb514bc54f1bec05682152b64423df3b9d520 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T1.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js
index 3a3afa960e29df0def30dcb6ed707f83d744465f..e845b3c9d979e9a12ae98a1d7dbfde71cf84a40d 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T1.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js
index 96455528420fe1ed93b65757cd439daf06b6c597..dd93cbb914bdcb5b6314680a315e0a9da1bc4b30 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T1.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js
index 9b8c896f3ab7812c13845121520775d9c8062f22..05cd8f837291f1dc22584806a92884b1fd00553c 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.1.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js
index c45aa71c6155293eb3e20a3506674d3e5267f7fd..b394dd6e7f85f64d7c792ad4bd82779985677df3 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.2.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js
index ce01e4b95f0237abeb899fc160eefd849e7b9879..b4150a583d803fdad7f2cec60b48920c2bc74456 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.3.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js
index 01ddb89ee5b7934d82305e3224fb0f17abfe64de..f7bb4d4d8ab12860056b8bb1763357a246049619 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.4.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js
index a53c44575aa8eba2e3556444d50f4759e207a664..a9ce33f785003e200b2fc8db05a3ec4eed80845a 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.5.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js
index 11d99a3546d90710299c369a4afe64c5f16998e3..2a62b9723f3bd5d257016f6e72ca9175ba6353db 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.6.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js
index 01de8df357a4540fceadb2b7eefb2dff5723e590..b9303bf5f965cf1029c3081addf44b909a3f31d5 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.7.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js
index 28f0ca3a8295d627afd0727b84343ddbb6e87c73..0e4db1ffebf4a9c58df2151d7981b71b6819201b 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.8.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js
index a5535c17a7ead648e0281dcba9a29767bf6bb7f5..3e5a053044f13518563e373833a9fa13a1b58644 100644
--- a/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js
+++ b/test/suite/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * The production x &= y is the same as x = x & y
  *
- * @path 11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.9_T2.9.js
+ * @path ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.14/S11.14_A1.js b/test/suite/ch11/11.14/S11.14_A1.js
index 0594db5c7458bc6f3263cdbb9b24fcd7a093d759..2e3528db4d660e821839e31b3c036a645598a0fc 100644
--- a/test/suite/ch11/11.14/S11.14_A1.js
+++ b/test/suite/ch11/11.14/S11.14_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between Expression and , or between , and AssignmentExpression are allowed
  *
- * @path 11_Expressions/11.14_Comma_Operator/S11.14_A1.js
+ * @path ch11/11.14/S11.14_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.14/S11.14_A2.1_T1.js b/test/suite/ch11/11.14/S11.14_A2.1_T1.js
index f826ed93f7fde04ddad3e5f0127fe851bd885f6d..e533368865bd8e2ed38695079dc5f516c8193842 100644
--- a/test/suite/ch11/11.14/S11.14_A2.1_T1.js
+++ b/test/suite/ch11/11.14/S11.14_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.14_Comma_Operator/S11.14_A2.1_T1.js
+ * @path ch11/11.14/S11.14_A2.1_T1.js
  * @description Either Expression is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.14/S11.14_A2.1_T2.js b/test/suite/ch11/11.14/S11.14_A2.1_T2.js
index ddeeb2be00bb6a52a7e5bb44c144c41662bb3316..3a6106eddf5d41595a22fa78a1fcf7044a8faf67 100644
--- a/test/suite/ch11/11.14/S11.14_A2.1_T2.js
+++ b/test/suite/ch11/11.14/S11.14_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.14_Comma_Operator/S11.14_A2.1_T2.js
+ * @path ch11/11.14/S11.14_A2.1_T2.js
  * @description If GetBase(Expression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.14/S11.14_A2.1_T3.js b/test/suite/ch11/11.14/S11.14_A2.1_T3.js
index 45c1f7e5789f093268789382f76cc788616b21cb..ad654eeb0ee88dbc209ec5c348302d9be55f7da2 100644
--- a/test/suite/ch11/11.14/S11.14_A2.1_T3.js
+++ b/test/suite/ch11/11.14/S11.14_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator uses GetValue
  *
- * @path 11_Expressions/11.14_Comma_Operator/S11.14_A2.1_T3.js
+ * @path ch11/11.14/S11.14_A2.1_T3.js
  * @description If GetBase(AssigmentExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.14/S11.14_A3.js b/test/suite/ch11/11.14/S11.14_A3.js
index e3ba62c8ef2a594f21f5cbb6d8dd7342a8d022c7..d8858aa3d2f1ad271eba550ed1f3bc5340eed4e5 100644
--- a/test/suite/ch11/11.14/S11.14_A3.js
+++ b/test/suite/ch11/11.14/S11.14_A3.js
@@ -4,7 +4,7 @@
 /**
  * Comma Operator evaluates all Expressions and returns the last of them
  *
- * @path 11_Expressions/11.14_Comma_Operator/S11.14_A3.js
+ * @path ch11/11.14/S11.14_A3.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.1.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.1.js
index b6c3300cab99eac3fb0263acbc1a217e9ca9b488..d8b3561b8a3091ca163c14e7ec9d1ed473d63da3 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.1.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between MemberExpression or CallExpression and "." and between "." and Identifier are allowed
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A1.1.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A1.1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.2.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.2.js
index 03392c4220c36b7a7aa392171845558ece6a3330..a820dbd5d09107cf2f2283484ec623f14dc4bcee 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.2.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "[" and MemberExpression or CallExpression and between Identifier and "]" are allowed
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A1.2.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A1.2.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A2.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A2.js
index c4fc1dd2cc6fe64fb78108d78456db2aa6768635..1237eae5ed706edeab76b454fccc9f6d0e5d27ab 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A2.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * MemberExpression and CallExpression uses GetValue
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A2.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A2.js
  * @description If GetBase(MemberExpression or CallExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T1.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T1.js
index e0772c62280ae5df15de050f2f433c43bbf2ffd4..a13f25e7b87264654b050a8eba1b08a4cb4ca933 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T1.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A3_T1.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A3_T1.js
  * @description Checking Boolean case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T2.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T2.js
index 3111ba50956faa3b689c33db01ec084715f2e00b..defe6a8c8927ce73b3b5fbdfcefa1098d7023382 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T2.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A3_T2.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A3_T2.js
  * @description Checking Number case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T3.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T3.js
index c7026cc2ce78e8ce6304aed0a9f24a32e5a5a8af..14a0e85e35d26974b4de63594da915ca06689382 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T3.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A3_T3.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A3_T3.js
  * @description Checking String case;
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T4.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T4.js
index e4021d991093ead1f7b666575aa16af8244de2a4..2c360c65dbfc3e87fd48df17b26ab02cbe074c14 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T4.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A3_T4.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A3_T4.js
  * @description Checking "undefined" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T5.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T5.js
index 21d0c5e8957ed0e8d760f4f0859cd578bac2677c..405415f722ed4079faa29fa7a963999a9dbcea8e 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T5.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A3_T5.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A3_T5.js
  * @description Checking "null" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T1.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T1.js
index 444f9d2674a83cd38e3bed4c33398112a908bf57..fb78048fb0bbdfb44d2537bb09ebb7ed6edef7fa 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T1.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T1.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T1.js
  * @description Checking properties of this object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T2.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T2.js
index a2b408028f1dc95da052ed90e018be3a2476a067..ed27f85344b67d859a6bd3025e7d60daa40638e2 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T2.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T2.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T2.js
  * @description Checking properties and methods of Object objects
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T3.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T3.js
index 40088c6af355f18ab59193c93b2ebb3b03a25879..dfa72b139e137e41a1ad978f09e2be9b798f62f7 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T3.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T3.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T3.js
  * @description Checking properties of the Function object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T4.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T4.js
index f3229a0450ec97d3bfabfe51f48b7fc298298fc8..da4633fe2ed51426b85c03cd5ee27fffa83fee10 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T4.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T4.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T4.js
  * @description Checking properties of the Array object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T5.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T5.js
index 48ea4d4762d47ae638387c2a07aacff9baa428de..02904c0b40703571c5960564b614361120f5947f 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T5.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T5.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T5.js
  * @description Checking properties of the String object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T6.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T6.js
index 35f364f52e5d804764dc41a9bd58c8749248a10c..0d866884630f609fdcd0b5b7f3a57d04349c5a5b 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T6.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T6.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T6.js
  * @description Checking properties of the Boolean object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T7.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T7.js
index 500b297a073a75753caa8aef9a172ce017c89fe7..7d8826d802256af34caa247d2dd523b4bfcf9560 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T7.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T7.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T7.js
  * @description Checking properties of the Number object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T8.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T8.js
index cd49d3b1b0f8fe18bb666ed0564703d5565823f5..fd3846e9ca168f4f283324c6628384f313fb02b1 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T8.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T8.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T8.js
  * @description Checking properties of the Math Object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T9.js b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T9.js
index d60bc3168af375a692cdd259a6463559131a892e..8aecb182fa2d0d6098892171e2c94ffb3d26efdc 100644
--- a/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T9.js
+++ b/test/suite/ch11/11.2/11.2.1/S11.2.1_A4_T9.js
@@ -4,7 +4,7 @@
 /**
  * Check type of various properties
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.1_Property_Accessors/S11.2.1_A4_T9.js
+ * @path ch11/11.2/11.2.1/S11.2.1_A4_T9.js
  * @description Checking properties of the Date object
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.1.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.1.js
index a4a1fff9082251b518c71c1b97f31cedbce4b1c2..10811b4b0684d75f110cefa2c553c80388878f36 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.1.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "new" and NewExpression are allowed
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A1.1.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A1.1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.2.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.2.js
index df6ffb56ceb3100a8856a1ddfd2ee528d23c07f7..d47eb10bf1e849b5aebac31581262b5fb27d0287 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.2.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A1.2.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "new" and MemberExpression are allowed
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A1.2.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A1.2.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A2.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A2.js
index 8a1bbb1e96ba6fdb9db6b1ff71ba3cf49f14770f..e879390fc6b9c39d5355005b56c6ca548c4cbae8 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A2.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * Operator "new" uses GetValue
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A2.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A2.js
  * @description If GetBase(NewExpression) or GetBase(MemberExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T1.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T1.js
index ddc009bb794ac639476865c81223eb5747c9aa04..3f52d95274dda154628971f61f2e239857572b17 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T1.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A3_T1.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A3_T1.js
  * @description Checking boolean primitive case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T2.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T2.js
index 3d8de5cb3630b10dd7983e9bc2c94f21bb3129f3..1ad67c5489283194bec05d923d3c412395a71ed0 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T2.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A3_T2.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A3_T2.js
  * @description Checking "number primitive" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T3.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T3.js
index 27bfcc1fba620fda958ca3721e80ba533c80d473..c934060123469678e8e1b2ac35b2f9551e03e7e7 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T3.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A3_T3.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A3_T3.js
  * @description Checking "string primitive" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T4.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T4.js
index 3cb248c9ed62d86d913e76feb0ff85bda3a0b11e..adbd1356c0c3dc468b33196a469fea50afca0604 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T4.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A3_T4.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A3_T4.js
  * @description Checking "undefined" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T5.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T5.js
index eede817dd8cc5a5289faa385bffaa6d4aa4a54eb..abf71da19198c77a63f091f0f83ae039c00f8505 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T5.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A3_T5.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A3_T5.js
  * @description Checking "null primitive" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T1.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T1.js
index 9a695a000f0583209fba9c566ef582c5813a5bf1..cd6517cbfc6b465340eacf2f1fbe0b59c8ab4aae 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T1.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A4_T1.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A4_T1.js
  * @description Checking Boolean object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T2.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T2.js
index 1e175f904f3987bc6ea7e2d53aaf07023f33e48a..bc776ec65b4764412d53efffd666d580297e0820 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T2.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A4_T2.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A4_T2.js
  * @description Checking Number object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T3.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T3.js
index 1d030944e69e9cd40c8cd8ea64ccd2795bcc6f28..9027cf051cd4f71e8ef0c250d5a57bb02dabe657 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T3.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A4_T3.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A4_T3.js
  * @description Checking String object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T4.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T4.js
index deeb5a3eb5237e976daf11917bb98a7b460a58bd..e240ba827c5df881e69624d3e2aba80f055c94c3 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T4.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A4_T4.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A4_T4.js
  * @description Checking Global object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T5.js b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T5.js
index 06c518690deb79c72c64c2516a95cc714834f772..72fdae876685ee50d92bdca101bff1794eca310f 100644
--- a/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T5.js
+++ b/test/suite/ch11/11.2/11.2.2/S11.2.2_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.2_The_new_Operator/S11.2.2_A4_T5.js
+ * @path ch11/11.2/11.2.2/S11.2.2_A4_T5.js
  * @description Checking Math object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A1.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A1.js
index 7d892d3060d9e70d1b2a59b1de092e623ceabc59..19dfdce735ee64b7eaddb32ae9dcbabd76e7dd55 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A1.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between MemberExpression and Arguments are allowed
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A1.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A2.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A2.js
index 75b0bc3fb8e5c5ac90633c078c8b2389d1c74e38..29ae4a55a688759dd4aab457f2ff8148063c34e8 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A2.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * CallExpression : MemberExpression Arguments uses GetValue
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A2.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A2.js
  * @description If GetBase(MemberExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T1.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T1.js
index 3bce03f8dc6da76fcd6b8f5708102a2d0391561b..5fbf7b68dba12ea593aa57f7e2cb03fd8a7ac869 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T1.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A3_T1.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A3_T1.js
  * @description Checking "boolean primitive" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T2.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T2.js
index 3e32af4a30a183480d95acf8ac2d2c5bda75b842..253f1b0e6e0e087bd2070d87868ea08c7b7fb77d 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T2.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A3_T2.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A3_T2.js
  * @description Checking "number primitive" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T3.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T3.js
index 5b670f582956a31f887e729ddbafd585575748e0..388510f21c81ab43b0b9127cd8da96b645ac79b1 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T3.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A3_T3.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A3_T3.js
  * @description Checking "string primitive" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T4.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T4.js
index 2e9ace30f28b600b8bbef055378a5930f699076c..a167260ed860b74999565d918da5edcffd2f132c 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T4.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A3_T4.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A3_T4.js
  * @description Checking "undefined" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T5.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T5.js
index bd08db1ac00bad41100e85e0cca2fc5c8e7a5de9..77cd76fa4fc6b4323a4deaf7a0ac6e529a2d95a0 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T5.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression is not Object, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A3_T5.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A3_T5.js
  * @description Checking "null" case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T1.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T1.js
index 9fa45e30969176f1ba8d54779707ce626a72ea00..ca028fa5acfc86ea4396978e733c4ed6568f4be1 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T1.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression does not implement the internal [[Call]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A4_T1.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A4_T1.js
  * @description Checking Boolean object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T2.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T2.js
index f50b09293c4aa9573e196242336cf7e5f779dc71..41f8983052482a935d0152d33fbc2a0c2a239517 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T2.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression does not implement the internal [[Call]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A4_T2.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A4_T2.js
  * @description Checking Number object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T3.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T3.js
index 3361ff5b9bdb74e75d8a4069034eacd5d448aa7f..108085425ca2c058e871543a6a591e7ad10bfce8 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T3.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression does not implement the internal [[Call]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A4_T3.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A4_T3.js
  * @description Checking String object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T4.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T4.js
index b78cfba3722623302923faafc5ec65d9a037fbce..a19cc05e6b490cc142eeef6e186438fc6cd6281b 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T4.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression does not implement the internal [[Call]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A4_T4.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A4_T4.js
  * @description Checking Global object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T5.js b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T5.js
index 9fde0f25b909d7f5ecae189293e1f7943f43752f..ddaf40c8d76f32bb0e439766d2b6c1a16326ed9c 100644
--- a/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T5.js
+++ b/test/suite/ch11/11.2/11.2.3/S11.2.3_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * If MemberExpression does not implement the internal [[Call]] method, throw TypeError
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.3_Function_Calls/S11.2.3_A4_T5.js
+ * @path ch11/11.2/11.2.3/S11.2.3_A4_T5.js
  * @description Checking Math object case
  */
 
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js
index cf8f55f9f78aac30fa572c3eb39ea56c748decdd..0d31a6c2298414646f9d0a4373d458e4e504af7d 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : ()
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.1_T1.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js
  * @description Function is declared with no FormalParameterList
  */
 
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js
index d553fe74b003f3e2a104402d037ead078910a6fd..6be2a99377a5b62432a47950c7782c6bfa876ecf 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : ()
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.1_T2.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js
  * @description Function is declared with FormalParameterList
  */
 
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js
index 72894af10b16d2167f4c6221e98d1aaf95a4d647..aa419e295ada767211f6b3aa1777ad3093291de2 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.2_T1.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js
  * @description Function is declared with no FormalParameterList
  */
 
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js
index b688f8e19a9ab929631ddda6073f91cb4d2c8c82..2541df3d19d3ff8fab50c14258a944bebc94efbc 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.2_T2.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js
  * @description Function is declared with FormalParameterList
  */
 
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js
index 164170e4955f81fbfa98dbacbf6e75ca74a412f7..e54238ea12b23bbd2cc1deb8ba8212d2390a7fde 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList : ArgumentList,, AssignmentExpression) is a bad syntax
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.3_T1.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js
  * @description incorrect syntax
  * @negative
  */
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js
index 70c141a03cd359009909e77e7ae55fdf51710442..a2eb7989beaf7f463ffd041b41fd773ba275942d 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList : ArgumentList, AssignmentExpression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.4_T1.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js
  * @description Return an internal list whose length is one greater than the
  * length of ArgumentList and whose items are the items of ArgumentList, in order,
  * followed at the end by GetValue(AssignmentExpression), which is the last item of
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js
index 75fbeca24a7b0c87ace6b175ccaeea27afef4c5e..0db853abdd49fd2444a4193d2787a61b1c2c4b09 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList : ArgumentList, AssignmentExpression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.4_T2.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js
  * @description Return an internal list whose length is one greater than the
  * length of ArgumentList and whose items are the items of ArgumentList, in order,
  * followed at the end by GetValue(AssignmentExpression), which is the last item of
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js
index 5e079a40d52dacd2dd2dccb566c90baac0b794d0..7d8bd02c9301e3e2240fe296e03c7dbf9d3ee624 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList : ArgumentList, AssignmentExpression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.4_T3.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js
  * @description Return an internal list whose length is one greater than the
  * length of ArgumentList and whose items are the items of ArgumentList, in order,
  * followed at the end by GetValue(AssignmentExpression), which is the last item of
diff --git a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js
index 8f163c71451558b930536a7525496ea41e23b9a7..83b228a88068eccd7d783a47621f5004c43b15b0 100644
--- a/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js
+++ b/test/suite/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Arguments : (ArgumentList : ArgumentList, AssignmentExpression)
  *
- * @path 11_Expressions/11.2_Left_Hand_Side_Expressions/11.2.4_Argument_Lists/S11.2.4_A1.4_T4.js
+ * @path ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js
  * @description Return an internal list whose length is one greater than the
  * length of ArgumentList and whose items are the items of ArgumentList, in order,
  * followed at the end by GetValue(AssignmentExpression), which is the last item of
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js
index 651769e5970ad495b732b8b09315e4af5ba68f77..9f8bc65a171bd4c9d31d666334bc9d6168cecfe4 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "++" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A1.1_T1.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js
  * @description Checking Line Feed
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js
index a5fd017b2baf841616a76521f3049830b667c07e..4c97a56d133d6bc55cf4ef484c31c63df472e096 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "++" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A1.1_T2.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js
  * @description Carriage Return
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js
index f18a4fd6f74ff316feb9083bda00b0d5481f925f..16eb546f4b4bdd4b93689f0cee42da542eb45bc5 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "++" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A1.1_T3.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js
  * @description Checking Line Seprator
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js
index 265efbd8a4b43b10aef041f6acd8b963c9486441..8f9d56e7158918cafbc053848a2f9a3e114c4da3 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "++" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A1.1_T4.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js
  * @description Checking Paragraph separator
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js
index 0299651972d761ec9a53bd62aa8e880b71cdc1d1..b8df6ebd731f15b36722b6c813fdaa9238764b56 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * White Space between LeftHandSideExpression and "++" are allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A1.2_T1.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js
index 3c477b35e4fc3e8dc6be121c17e01217a00eddb2..3f32ea5b701c53a0a5631ab12dbe82bb5913570f 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ uses GetValue and PutValue
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A2.1_T1.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js
  * @description Type(x) is Reference and GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js
index 06f6888fc30271134fc22ffe29d33a9636f8ce08..5bc1abbad0ca55723eaa7234f3661858f8ff91dd 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ uses GetValue and PutValue
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A2.1_T2.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js
index ffb844b0578fc00bfeb97530db17111c8d599de8..fec236e6dbce2809c945e164123ff09e5984d0f1 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ uses GetValue and PutValue
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A2.1_T3.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js
  * @description If Type(x) is not Reference, throw ReferenceError (or SyntaxError)
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js
index f5131c20efe6f2c194942dc3e547a59a9c510001..dc82a92da99194c1fe35f6311d1875987d896fb6 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ uses [[Default Value]]
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A2.2_T1.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T1.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T1.js
index 96b8e89d3adb892ff0b01db51b8391a5afd689e3..e3003d2d4db32564d2f5dac55b6b9bdf0a610ada 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T1.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A3_T1.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T2.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T2.js
index 5b57383e5d100bf29abb17990f2d9d27e5134878..6b5560d1a6543ca498a9efea8da2fdacc445af11 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T2.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A3_T2.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T3.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T3.js
index eca4505c8569df1a16b0f3b7b49d064901c871e2..b43aa2c4224a5c4af6ece50898f8466adcc6c187 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T3.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A3_T3.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T4.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T4.js
index eff5c49e27328f627e49d389f30ac92aa983e019..1a6fd79ec53613873205ea3d474bd37e4eebd6db 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T4.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A3_T4.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T5.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T5.js
index 2dcec2ed641f6f04c70d1317fd606e8208ee7e2b..c18fc2085f1b9e724ac6a71fd707a48411fd7e5a 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T5.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A3_T5.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T1.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T1.js
index 7d6eb5a0a46e556f7fe72bf64b3548fe436d7fca..174800a776958e4b57c819f921727a35b99a067a 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T1.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A4_T1.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A4_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T2.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T2.js
index c82e1f17f768f2afd7daf62ae0413b88873b0caa..36fe9aec56ce016240f08ff35aa15201b3cbbb05 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T2.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A4_T2.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A4_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T3.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T3.js
index 46445b304ec4a91019ea3581968ac829fe0cf70b..540ee90240ab021fa368f4a271854a7a3c82f6e6 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T3.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A4_T3.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A4_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T4.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T4.js
index 80ff8993090d111cf88fd864069c88848cb615e0..cf703689d636780f61dc46594fc045822614603e 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T4.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A4_T4.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A4_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T5.js b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T5.js
index 06e13ccd159721b0e8bfe0bbc8bbf09124b03628..09a248cf38d3d6932863e12c060060b4b77160fc 100644
--- a/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T5.js
+++ b/test/suite/ch11/11.3/11.3.1/S11.3.1_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x++ returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.1_Postfix_Increment_Operator/S11.3.1_A4_T5.js
+ * @path ch11/11.3/11.3.1/S11.3.1_A4_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js
index 757558885ab60fa9300fdf8eaa533ed5ef57aa04..2fe2120bf31c591e57eb771ab7dd75bfb5fc20a9 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "--" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A1.1_T1.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js
  * @description Checking Line Feed
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js
index 2972da2e321c12d08434e8b05655d595b8422721..49654288ae9b4f99a8601442c5e013229c7519d2 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "--" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A1.1_T2.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js
  * @description Checking Carriage Return
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js
index 4fc0e68e3079f3e1f01000bf98b73805d32c6f03..5e0af0e99aea8958aff794e3fe5261a7f5c4715d 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "--" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A1.1_T3.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js
  * @description Checking Page separator
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js
index b7cab20a8eb8a0f59c01166ece62a1e5dcd53d96..e7d54a741efc2e70544ca3e5498115178cc4f6ad 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Line Terminator between LeftHandSideExpression and "--" is not allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A1.1_T4.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js
  * @description Checking Line separator
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js
index 4474f498c3e654886f79a427a15638263e4bdc91..8140d2b8e99f08269bd00e1801c0760380c73069 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * White Space between LeftHandSideExpression and "--" are allowed
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A1.2_T1.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js
index 2071ea5a57ea568b66adc2028e2f4061e0947171..b665af599e8951eebdd4a613c150b6044543232b 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- uses GetValue and PutValue
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A2.1_T1.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js
  * @description Type(x) is Reference and GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js
index ab73a29b5bcc9b3a0b78f3d17640545ac4519ce1..cae6d80b58fabb7b7a39100b5939cfa975b4e01f 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- uses GetValue and PutValue
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A2.1_T2.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js
index 0c0128cc27daebdc0f396452f1c0841f4fa99be1..adcf758c3668024d2417e4eba76c68626f19655e 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- uses GetValue and PutValue
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A2.1_T3.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js
  * @description If Type(x) is not Reference, throw ReferenceError (or SyntaxError)
  * @negative
  */
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js
index 2846dc05ccdb89c9272d8672946b36e08bfe2845..22f31a1faa65a3b40bacf76994a65f8b7da95ae5 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- uses [[Default Value]]
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A2.2_T1.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T1.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T1.js
index 5a81ba72832b1b813375d1a9a754dbd45b1ef38b..d35aeffc5bdb553f2df48434723b4ea3f7fbaf42 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T1.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A3_T1.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T2.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T2.js
index e3f9ed80b64f8b9f24d7d854cb79246f60560248..cf1435a4c34e092977a23dab49270905588f9dc3 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T2.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A3_T2.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T3.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T3.js
index 55a18c8120f44533056961f0e5d388980886af0e..63108752b6dba45bddea3d0ddf192321e5accaf3 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T3.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A3_T3.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T4.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T4.js
index 983cf6ee38193f0e3a3d828d269976973dcedc0a..ea248bfb046c11c75a2efa1fe3a22d146b355cf6 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T4.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A3_T4.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T5.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T5.js
index 2a0cf4bfd3e499592c0980cfb6bd3084df3ed7c7..b571f0654dd9891700c7c854c724bbe163945e23 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T5.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A3_T5.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T1.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T1.js
index 2577c248ee9b4452099695c216396e5f2eb9161b..4d07e77e4f5a639b066c29062c2089eeb1f6e9bf 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T1.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A4_T1.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A4_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T2.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T2.js
index bf0f1d93a7b1423ab7aae6e4146beb01d04f8a76..eb5c3bcdeef8ca625cd08742e1b06ca24533cc4a 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T2.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A4_T2.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A4_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T3.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T3.js
index a0c639f4906d95f2b5835e13c9b4114fe87d1eb9..8a4edfca8211cc337a433f0e8ce9195dbad5f9fc 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T3.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A4_T3.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A4_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T4.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T4.js
index 0ed457d49807172c14494e852e10f59572883548..add21d32a40df822e2ba43b7fe81dfaa006d4f6c 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T4.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A4_T4.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A4_T4.js
  * @description If Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T5.js b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T5.js
index 5502694e7afff734d97583cb38d80d459d97fe08..aa6856568487a96e9733cefd027820dce9116d5d 100644
--- a/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T5.js
+++ b/test/suite/ch11/11.3/11.3.2/S11.3.2_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x-- returns ToNumber(x)
  *
- * @path 11_Expressions/11.3_PostfixExpressions/11.3.2_Postfix_Decrement_Operator/S11.3.2_A4_T5.js
+ * @path ch11/11.3/11.3.2/S11.3.2_A4_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A1.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A1.js
index 98933da13bffadfcb77d18ac0d3cc44a3c3b4328..35764288fb1842b76a027b3f3b041fec93500b7b 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A1.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "delete" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A1.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.1.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.1.js
index b3ba807586bffdf53ac7f29c10e23803350f2d43..b993e4a9dc2b3c89b77162221000d662f32a1840 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.1.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is not Reference, return true
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A2.1.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A2.1.js
  * @description Checking primitive value and Object value cases
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js
index 5b58b7aac3149e2da2c084537531b5e333e1c1f8..97fd1093982012130a9a3d52dff417362419d358 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If GetBase(x) doesn't have a property GetPropertyName(x), return true
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A2.2_T1.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js
  * @description Checking undeclared variable case
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js
index 067abed0cb136c6589ef9267c15840e6597c61f7..e5c0cbe54c9e3a53507c837def48fd1dbdb96e6e 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If GetBase(x) doesn't have a property GetPropertyName(x), return true
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A2.2_T2.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js
  * @description Checking Object object and Function object cases
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.1.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.1.js
index 3d75d5c0c5190871c55150e71570f2fd6f718a19..b1edccca90d9be2f3a9a54f7a95e4bd215c10bfd 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.1.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * If the property has the DontDelete attribute, return false
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A3.1.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A3.1.js
  * @description Checking declared variable
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.2.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.2.js
index 4cd639829410fda90869bfe99b79e35ef9ebaeaf..bee091183824f4ad3887fb4640eb1ea30a03359b 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.2.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * If the property doesn't have the DontDelete attribute, return true
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A3.2.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A3.2.js
  * @description Checking declared variable
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.3.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.3.js
index 5e147d25a5480009314e2f1f36a666c023ed4896..e396ee626c0d67cb34d3915b552bd31681c55b6b 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.3.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A3.3.js
@@ -4,7 +4,7 @@
 /**
  * If the property doesn't have the DontDelete attribute, remove the property
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A3.3.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A3.3.js
  * @description Checking declared variable
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A4.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A4.js
index ae289316874c95197650155e61ef015547df60ae..a534ce959295341b5883dda5aaf7082278bc17ec 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A4.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * "Delete" operator removes property, which is reference to the object, not the object
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A4.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A4.js
  * @description Checking two reference by one object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.1/S11.4.1_A5.js b/test/suite/ch11/11.4/11.4.1/S11.4.1_A5.js
index 15854417bf95d15bbfff1e995026e726d2b44a27..2fd5f5243b79eb52fe48392ee87c1a48a48c734c 100644
--- a/test/suite/ch11/11.4/11.4.1/S11.4.1_A5.js
+++ b/test/suite/ch11/11.4/11.4.1/S11.4.1_A5.js
@@ -6,7 +6,7 @@
  * should fail by throwing a TypeError. Under no circumstances
  * should a strict delete return false.
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js
+ * @path ch11/11.4/11.4.1/S11.4.1_A5.js
  * @description See if a strict delete returns false when deleting a
  * non-standard property.
  * @onlyStrict
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A1.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A1.js
index 9cf1f8525e70a232fa67f478beff404c82dd70ea..6211fc2427ecc0d67e05ccd465cd7537dd8f4e42 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A1.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "void" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A1.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T1.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T1.js
index 62c2ae3fe6810de3b910da0a1e9162e1fe1abebc..bb2ba2a9db4e3fa3014b1c43d93b6ad613f8f5fb 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T1.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A2_T1.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A2_T1.js
  * @description Either Type(x) is not Reference or GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T2.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T2.js
index 9e7b11cb1220fc6497a966d6b01e17759c44c4fe..a6074837aecda3605f77eb5672a9b7940e852710 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T2.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A2_T2.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A2_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  * @negative
  */
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T1.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T1.js
index 68d690335b5d15be257b8cb9c8b4040d2edc16b5..169eeb6c805db9ff7d1ba5cdff81b699ef4eb3de 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T1.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" evaluates UnaryExpression and returns undefined
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A4_T1.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A4_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T2.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T2.js
index 5b556748d6453a8f3c104b9cdc8e0fd43ec4f1aa..0175474af5e674efafdca587b79415de79d64029 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T2.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" evaluates UnaryExpression and returns undefined
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A4_T2.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A4_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T3.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T3.js
index f5c2d9c5f6f7a9534d1e2c74b68a898c08db5540..884b84af49ef98facd9ae163d623ee140909e52f 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T3.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" evaluates UnaryExpression and returns undefined
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A4_T3.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A4_T3.js
  * @description Type(x) is string primitive of String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T4.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T4.js
index e938541d1b4507caa0ad83a63caad038a2b1e786..d6da81854862457115fce57701fccd28a19bc6e8 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T4.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" evaluates UnaryExpression and returns undefined
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A4_T4.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A4_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T5.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T5.js
index ddae7380d848a507002efe34c3f8c7df4d1aea0e..2be1def1568f3f2fefa3f9171d185c258affd0e7 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T5.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" evaluates UnaryExpression and returns undefined
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A4_T5.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A4_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T6.js b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T6.js
index 99296641accfea2a7b90bdfc1b433a3f493f3ab9..40c184cbe87e1269b57240f69fd4c6a121649682 100644
--- a/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T6.js
+++ b/test/suite/ch11/11.4/11.4.2/S11.4.2_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator "void" evaluates UnaryExpression and returns undefined
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.2_The_void_Operator/S11.4.2_A4_T6.js
+ * @path ch11/11.4/11.4.2/S11.4.2_A4_T6.js
  * @description Checking Simple Assignment operator
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A1.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A1.js
index 3c36b0e6913d21dcc2a371bc45cdedd26784b810..5021bab91b99c6de610ad09c8c527cc8e5f1d2ba 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A1.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "typeof" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A1.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T1.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T1.js
index f044a387469512626284f750e9e99bc72518291e..02217c33307b53998788bc83b3826756eb913225 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T1.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator "typeof" uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A2_T1.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A2_T1.js
  * @description Either Type(x) is not Reference or GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T2.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T2.js
index 5f985667da90f36413cdb41e6c187bc474b9d6af..4030c1257daf3687113efcacc4916452f350c945 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T2.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator "typeof" uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A2_T2.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A2_T2.js
  * @description If GetBase(x) is null, return "undefined"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.1.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.1.js
index 8ff5b9ee92c7cf0b573578dfc28de9f8d8a6db39..1609ad326d17e5c48ab2584287260521e1b25bd8 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.1.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * Result of applying "typeof" operator to undefined is "undefined"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.1.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.1.js
  * @description typeof undefined === "undefined"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.2.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.2.js
index e763b367602a953b6b107bf4742e2724ec8b90d9..94353f55738f51cb0930b674e7560f883d14ff3a 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.2.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * Result of applying "typeof" operator to null is "object"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.2.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.2.js
  * @description typeof null === "object"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.3.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.3.js
index 77aaf470ca3bacba725459df60282354c28509a1..70dcf3ec6517773a0c18e080f43cdecf2d0dbbd2 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.3.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.3.js
@@ -4,7 +4,7 @@
 /**
  * Result of applying "typeof" operator to boolean is "boolean"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.3.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.3.js
  * @description typeof (boolean value) === "boolean"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.4.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.4.js
index 07b0363a01ad674305b4e7354b525602e7bed162..e1444e9f5a6ff9e30d4949ef8ab54fb6cf92b520 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.4.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.4.js
@@ -4,7 +4,7 @@
 /**
  * Result of appying "typeof" operator to number is "number"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.4.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.4.js
  * @description typeof (number value) === "number"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.5.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.5.js
index 84ca64877760c3fdf3d1fd58bde72282939db14c..f1c07acd1e06ce5064b4698dee4a844a867431d8 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.5.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.5.js
@@ -4,7 +4,7 @@
 /**
  * Result of appying "typeof" operator to string is "string"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.5.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.5.js
  * @description typeof (string value) === "string"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.6.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.6.js
index bd11f9e1ac78ba74d74e8483a7ff1e2dbd8f48cb..feab82ac695e88531744bd1cceaed80b2745ce8b 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.6.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.6.js
@@ -4,7 +4,7 @@
 /**
  * Result of applying "typeof" operator to the object that is native and doesn't implement [[Call]] is "object"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.6.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.6.js
  * @description typeof (object without [[Call]]) === "object"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.7.js b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.7.js
index c8f4b9ce162d572e91107ac5e4ee96256d4817d4..66282799a15af9d744bc8cb51736002ca2acd054 100644
--- a/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.7.js
+++ b/test/suite/ch11/11.4/11.4.3/S11.4.3_A3.7.js
@@ -4,7 +4,7 @@
 /**
  * Result of applying "typeof" operator to the object that is native and implements [[Call]] is "function"
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.7.js
+ * @path ch11/11.4/11.4.3/S11.4.3_A3.7.js
  * @description typeof (object with [[Call]]) === "function"
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A1.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A1.js
index 8681f3b82e8060113a790ca07102c5b2308900f7..1a6f53940a3778c7c628809b0b52983e3496076b 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A1.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "++" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A1.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js
index b0d8e20e487ebd931be4109c5b2c7c2130f4aece..253e2a97026bf7888587036abeec56782fd7ce1d 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x uses GetValue and PutValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A2.1_T1.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js
  * @description Type(x) is Reference and GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js
index 0b57956bdf0a88966d77f01011f79dd6f02eca8d..a67137e4b20b82b8628e6c0b230467b10d1a972c 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x uses GetValue and PutValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A2.1_T2.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js
index 8d3826f03faeae1792a0fba0f96fc7a79ead8dee..7faa4d81f23d6c854798315f6a24babf267622a2 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x uses GetValue and PutValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A2.1_T3.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js
  * @description If Type(x) is not Reference, throw ReferenceError (or SyntaxError)
  * @negative
  */
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js
index e8f163adb0d6294a1a2527b1e9547ed0d4b46883..bdc909df110705616c921afe611863126e8d8c36 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x uses [[Default Value]]
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A2.2_T1.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T1.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T1.js
index d3117cf5d8c084d704fcbd9a0724761509e168a0..9c41505c96bc77d7a6b6f4c8060625317bc242e3 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T1.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A3_T1.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T2.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T2.js
index d7f99eef2269df56e24b67222742d93aa826aa8c..52296a94883a32a72bbafc97fc12cd60e27a1216 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T2.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A3_T2.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T3.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T3.js
index c2af245ba4a0ca61795361469a445a3d888fe039..aee3607dd50c9cf07f8d2c4e13f006d0bee0f47b 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T3.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A3_T3.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T4.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T4.js
index 641f9381903ef4b436c577cb6aa9dc7f6d595d8d..89619003e22ff5852c87f341d63de135d9fe18a5 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T4.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A3_T4.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T5.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T5.js
index bb17197222c4c6f079ede7b2d3371bc5a971c13c..d08522f72613fcaba33dbaf24e39eaea2a849059 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T5.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns x = ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A3_T5.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T1.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T1.js
index af1c374c2b6fe9397c0b9075b970ddd8f42c0618..585e75091bfac286ba5dc25fd7b8a9377b23620d 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T1.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A4_T1.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A4_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T2.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T2.js
index 45d1e0ec317b20d4322eb23a7f79478d43760ac5..3aacac1b8f93aa6fe21a28ef4a1944fe6eabb098 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T2.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A4_T2.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A4_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T3.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T3.js
index 4cd895c10ed9cb97d7ad7669516d79ca7bc0f929..4e2d5f22ad3c76eb6eb04d3f49ac9552f64bbf0a 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T3.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A4_T3.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A4_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T4.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T4.js
index c8f8500ce15d65acf37a14ba1f9f1a351f90c1e6..f0edb536eb4623b356b65a3b6e7cf1ce327863d5 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T4.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A4_T4.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A4_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T5.js b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T5.js
index a50643f0fe3aea91537e06715a0b41b03cf3e774..c6c9d526acde3e517fba5ae821af2bbae558a07c 100644
--- a/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T5.js
+++ b/test/suite/ch11/11.4/11.4.4/S11.4.4_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator ++x returns ToNumber(x) + 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.4_Prefix_Increment_Operator/S11.4.4_A4_T5.js
+ * @path ch11/11.4/11.4.4/S11.4.4_A4_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A1.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A1.js
index b74f1ea331b2b3ecfc463229285997a462ecfa46..5be2493ee19f02e2cabf6cb6854234e68f0b1af1 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A1.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "--" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A1.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js
index c9686de32d011ab58d1d7a91b14b761bee3be2d9..136b72c51cea299b480eeedcfbf698dfb794930c 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x uses GetValue and PutValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A2.1_T1.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js
  * @description Type(x) is Reference and GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js
index a3ab550352ed3b649e783cc6f1c72098acafaeeb..2dabef975873bcfda2e25aea48b7edbfc68f6b35 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x uses GetValue and PutValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A2.1_T2.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js
index 686054707beeca7f2ddcd771f9f777391e382d30..5700185b92cdcff255bca4d8cd7c7404cd3de00c 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x uses GetValue and PutValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A2.1_T3.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js
  * @description If Type(x) is not Reference, throw ReferenceError (or SyntaxError)
  * @negative
  */
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js
index 7841a4f2d1ce85815cc887a25f041c9eb8b91831..6f19db9db2e486b6f597a969fd0ea33a7b10e676 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x uses [[Default Value]]
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A2.2_T1.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T1.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T1.js
index 0c51a94399e50903eb08d4d63c034f049c49aa2a..f7fd9fc7b5e97662f5f1843feceb192862604d0c 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T1.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A3_T1.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T2.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T2.js
index b44dbd23242d4daf193c25ebc70384cd4132e055..a946e8648338461bb9c63327990cc4332c00aa9a 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T2.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A3_T2.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T3.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T3.js
index 70a9870328343936e638a99f29d990409840f8af..6ed487073d808b3d2731c92965363c8ad8391c95 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T3.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A3_T3.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A3_T3.js
  * @description Type(x) is primitive string or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T4.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T4.js
index 600939b8bc05db01228a1881437f54faabb635a8..ed0d7798b92e414ef4572da17170d2ab861878e4 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T4.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A3_T4.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T5.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T5.js
index 22f29b4731314e0bd429196e41dac5d17a12e138..0fd3f76acd7ec84963e9362eda367461581eab0c 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T5.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns x = ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A3_T5.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T1.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T1.js
index 5b7ab4724cea2f4274ba9c350a63cb52b04fc4cd..7f424a2393ef46bae166afbb9ad2094c5cdcd5e8 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T1.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A4_T1.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A4_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T2.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T2.js
index 26a032bfd9e84fe887e4e44462e84c8595e32882..c5c77de06d6d8e1dcb87301d6174b6354a17fa17 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T2.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A4_T2.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A4_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T3.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T3.js
index 73b7a9f5f2bf5df5c77bb4eaa183e2246a09e6de..29d4d123f3aaed7f68913d0a11bd475d70b507d2 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T3.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A4_T3.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A4_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T4.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T4.js
index b999821d621b1f041415466d12675e9178d60c96..a1f600ace33ee7087e5e4741ae9ddcca4b3e461a 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T4.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A4_T4.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A4_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T5.js b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T5.js
index 08aaab87563b0ef3ef7579006c2a8f83a28ae6ec..fe40976df9cf567c810072ac3e92a1f1807dbce7 100644
--- a/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T5.js
+++ b/test/suite/ch11/11.4/11.4.5/S11.4.5_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator --x returns ToNumber(x) - 1
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.5_Prefix_Decrement_Operator/S11.4.5_A4_T5.js
+ * @path ch11/11.4/11.4.5/S11.4.5_A4_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A1.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A1.js
index 35b3e1919feda4295c3e84a16174cb4a5203f0b7..ac0f45a12b99082935ef50f61a91759f13a94295 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A1.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "+" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A1.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js
index da28b0c06044591a306e5caf68e7f0102665b3f9..a3074769af375843f189bc80a65dcd9ad97cc1d4 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A2.1_T1.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js
  * @description Either Type(x) is not Reference or GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js
index 865ad2d879120784734222ec52005adc44d892d6..ab6aa9fe4de17893e1790ed51088808202b8851e 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A2.1_T2.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js
index f8b19545d332d2b49f1458c17f1bfe26b2a3afb4..78eb580bb0db5f807f4acb1393176d9bc3413583 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x uses [[Default Value]]
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A2.2_T1.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T1.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T1.js
index fa670bdc0520c8123a1c24fb224f0bf52320a00b..7338942de7eefa453a3c796c1ffaa446268cff69 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T1.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x returns ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A3_T1.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T2.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T2.js
index 796b233c113db6a3a27a42c08706a0d7c50778e6..86f537c6420cf255ea7fd1816190d6ec13f1a8be 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T2.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x returns ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A3_T2.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T3.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T3.js
index e13c1c139ef540fd653dbc54acdd366887e1c7f2..36628861a09c87bffc7e4344f1ad9896c11cf545 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T3.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x returns ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A3_T3.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T4.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T4.js
index 9ef2e59492fc22f74204346bfe3855f0c5533e9a..61b8533757614afcfc6cc999d6e2b9cae8950ffb 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T4.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x returns ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A3_T4.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T5.js b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T5.js
index e44857e3986c798540f547594d680915e5f59f8e..9b56ff09f0bfc1f2c43d87814684115c1aa35bc3 100644
--- a/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T5.js
+++ b/test/suite/ch11/11.4/11.4.6/S11.4.6_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator +x returns ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A3_T5.js
+ * @path ch11/11.4/11.4.6/S11.4.6_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A1.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A1.js
index b4f253669807cf14a57ef42a0469e038f388b6d7..13234518b6f62ab01581cafc2901fed8fa967a87 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A1.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "-" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A1.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js
index e913402f7d81f07e4b3c0dff65873c6494a39055..8b3c47a90397b8cb895b0cff23a8cb6601c7c893 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A2.1_T1.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js
  * @description Either Type(x) is not Reference or GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js
index ffdc6b344321d8393438aabf9946b41348188d1e..e7de28aa537b7b6294cfd5abc8312ed48ba7e2d5 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A2.1_T2.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js
index 898892ee50be4c2822cdbc00e2156bcce13b9a53..a9ad69e5c6bd7528e804994d7e3afa61ad232cc1 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x uses [[Default Value]]
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A2.2_T1.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T1.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T1.js
index 5220bed0ff8f899c712e32bb3cb27d4b09720195..f421d913331dba716ed45319b79bd400d6b26980 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T1.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x returns -ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A3_T1.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T2.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T2.js
index 8e7bd2f531fe87ce3750911f7de57d1f926e1ca2..611683c12de404b7ce69e5172e499c7697b1ef21 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T2.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x returns -ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A3_T2.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T3.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T3.js
index 20426a5522908f2ef3b11913a52ebb2bf5ba4ea8..9a439804e4c4b14d32265391376819184386cea4 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T3.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x returns -ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A3_T3.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T4.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T4.js
index b99c84ebf08dcc9626eb1b0f308ce984893e7e1f..7fda40e953d5ec84546c7a2c9357cc7f1d9fe9e8 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T4.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x returns -ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A3_T4.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T5.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T5.js
index 3c66d103c3fae4df35e2d11b55de7ea97cab8494..426a4fd8b90a9811b7f695370d7d48cded3d36b3 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T5.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator -x returns -ToNumber(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A3_T5.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.1.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.1.js
index b8128b134539b858232557e058b87eaa7047431a..e8d1dfe86f03d92148c108277bd32e9cdf3fa9b4 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.1.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, operator -x returns NaN
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A4.1.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A4.1.js
  * @description Checking NaN
  */
 
diff --git a/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.2.js b/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.2.js
index 9f8742fa132635b092656fafa8a3e7df1b08945e..8b39bd2491cc7e8c3921a7a172fd959383ab77ad 100644
--- a/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.2.js
+++ b/test/suite/ch11/11.4/11.4.7/S11.4.7_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * Negating +0 produces -0, negating -0 produces +0
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.7_Unary_minus_Operator/S11.4.7_A4.2.js
+ * @path ch11/11.4/11.4.7/S11.4.7_A4.2.js
  * @description Checking Infinity
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A1.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A1.js
index 26240a6b97e89e7384e304c74825fb6f42f4d7d1..7a646edfd352371f8d9b3c5ce9d408af78e016c8 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A1.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "~" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A1.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js
index 98220e07a60386cb7999918ad2d8d7979366f881..6dc44f7aec7f89b33e6b03a8607ad12aac88dc8e 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A2.1_T1.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js
  * @description Either Type(x) is not Reference or GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js
index bc021ed8ed4efd8d3d0aefc135e6aacce9f079cc..3f53f46733f2c240988e542e8c4dac8c1d95d387 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A2.1_T2.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js
index c6c6b53a14d7bc383eefc5b9889a5dbb904aa68e..44b5e6127fdac2b1cf71e7082607375c47b900d1 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x uses [[Default Value]]
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A2.2_T1.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T1.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T1.js
index 91c99af70220e554b451d83ad50499de73aad0b4..0958a0570479ac072f34eafe97e49a9484111105 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T1.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x returns ~ToInt32(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A3_T1.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T2.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T2.js
index f02a029b7e011b615e523bdf24030f3907042fd6..a7b6d4bbc6bbcfb2f2b9473950ea2d2becb2c251 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T2.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x returns ~ToInt32(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A3_T2.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T3.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T3.js
index ba3bd653f1d7e3cf39ec4ee721e041d423e8c3ad..ec54ebd4841c45b6972b3e0e93cc95227c953a9a 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T3.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x returns ~ToInt32(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A3_T3.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T4.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T4.js
index 4396bedb2e3e521a79f157721adeaf238fdc51d1..d8be652d4bebffb68b0c5019fc923a2ec6750f5e 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T4.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x returns ~ToInt32(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A3_T4.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T5.js b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T5.js
index 5964f89eaa0f7b9987fb128a7248d63df5544cd3..8fcfc740b73406ab40eb1d4c5f068c583d34b0f0 100644
--- a/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T5.js
+++ b/test/suite/ch11/11.4/11.4.8/S11.4.8_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator ~x returns ~ToInt32(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.8_Bitwise_NOT_Operator/S11.4.8_A3_T5.js
+ * @path ch11/11.4/11.4.8/S11.4.8_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A1.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A1.js
index 57999d64fb3ceaa99d09dba85e92d6b8e6a2476a..e4c26d0a1080249596d7c28e4730f5135cdeada6 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A1.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between "!" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A1.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js
index f7ff5e0c3305be9e6f0dfa1e71b9b4e5113fdf8e..d08fdd181f5e1aaffb5e102cf5a46ddb64550ee8 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A2.1_T1.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js
  * @description Either Type(x) is not Reference or GetBase(x) is not null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js
index 603d39cdb274cbd93212a087fbd00e84a6855e5e..b6592471d9daae711142b4992aa611e205351a20 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x uses GetValue
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A2.1_T2.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js
index bfe227b3bdc1407d6a436ebfc8cdc2989c339591..3f156e9d42b425611acc0e1ba19f978b5f62732c 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x uses [[Default Value]]
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A2.2_T1.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js
  * @description If Type(value) is Object, return false
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T1.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T1.js
index 123aea33a4470c49071ff31263742d8c1a0b8bed..05a4ebcc704a57ede7f857b0c04cf259dbd1fbdd 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T1.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x returns !ToBoolean(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A3_T1.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A3_T1.js
  * @description Type(x) is boolean primitive or Boolean object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T2.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T2.js
index 76eafe68dd958bab7d2f871bc22a20e117d7f2fe..a2e13b0c0f208b45dc6f7e6e103ecbeccacd349b 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T2.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x returns !ToBoolean(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A3_T2.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A3_T2.js
  * @description Type(x) is number primitive or Number object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T3.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T3.js
index f49c819a2e15af773c2904dfc6577785de006f1e..a15994ddc1ed9680deb410a1c463d6b3ab578157 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T3.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x returns !ToBoolean(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A3_T3.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A3_T3.js
  * @description Type(x) is string primitive or String object
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T4.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T4.js
index 9ce1ac11fb1637778d27bffdfe1241be41d8d00d..0ac35bb98d534167cf91d410d4d6f70dd619eae6 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T4.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x returns !ToBoolean(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A3_T4.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A3_T4.js
  * @description Type(x) is undefined or null
  */
 
diff --git a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T5.js b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T5.js
index 735a63b3e2972e5d98e39c5c68e7ac0941e03da1..88f6dcaecdb37eb05d5c64f441d568afc5c7a9d1 100644
--- a/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T5.js
+++ b/test/suite/ch11/11.4/11.4.9/S11.4.9_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator !x returns !ToBoolean(x)
  *
- * @path 11_Expressions/11.4_Unary_Operators/11.4.9_Logical_NOT_Operator/S11.4.9_A3_T5.js
+ * @path ch11/11.4/11.4.9/S11.4.9_A3_T5.js
  * @description Type(x) is Object object or Function object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A1.js
index 7e565ab03af51ca5741aa4dd9d71bf092d08e058..1a9876c0122f193a6f57148ce16049b7decbe6f4 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between MultiplicativeExpression and "*" or between "*" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js
index 96f1a28948d14b73e9bbab5f9d25547aeb108adc..ed649ace57f518d6d9ac2c4ac292de9f31c04df9 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.1_T1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js
index ecff851ab07b2ad55ac402b599827db06e7846cd..e1f16da9d111108e6e5f502f8edadb0664ce5129 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.1_T2.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js
index b944a61975aa85f49477eb47d443862907d136e9..22af7df20019f9fc48168046f47a17a85a767aea 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.1_T3.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js
index 3a941efb761149073d8f97381fd2f13a754128af..932acabb24f524e73d186caaa0cdc14224f10f8b 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y uses [[Default Value]]
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.2_T1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js
index 0ad4b0d62d35bb838f34e8fdf32533c22e75db91..ba58724a9167fb6c32c7b2362e4d2c9f62c1c318 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.3_T1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js
index 0c751f04db38c867018e9daaf255c54346df3d8d..504923aee2992c724bc4240c8ac816fdb875cb8c 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.4_T1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js
index cc6ed245c81ecac3b17756f1363c89b4ad963fd6..262f2e7fca68f83233aee707cbdd6cc1113d0ba2 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.4_T2.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js
index ee39c6b8f1b71e2ac4dbcf1ca676aae5e33015f4..edcb5e0063a54fc3ac831fa12b122c754f92782c 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A2.4_T3.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js
index 7c6bc47a6bbe386a9b75ef5a57602ef2cdb48d78..de1e6dfdb3504163a11f80f7624eb383006096fb 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T1.1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js
index 266db4bfe863fb13da1a9a91a5aa3898a96190ef..1e0a49387a76affe1374a2edca2a001a89d13db1 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T1.2.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js
index 153b658461bb955532ab0e948a265a6e6ccb7ff5..e04ab70ea7e0e8fc4140cd331b3688ac8e222df0 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T1.3.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js
index 4baf6e330e3a22662d20ba196f67485976d46c9e..2dbe84f975f7be9adc865c2ed956fa4177fde2ba 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T1.4.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js
index 29e700a2a744198d88c40595d8fa0deef82be6dd..061e0ff2785c678acce3446b52d7778d8013d46f 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T1.5.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js
index c7e3e9343080ff70b4c214bd06ec8cc1baaf7243..08a913b9558513e17f9b531112dfd3d337afc5b5 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js
index 99862423caa45d8b109fa8fd00887864bb808f94..063c4da9e0a56c6fea99ede52b390f0f6da47a0b 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.2.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js
index e5461b959707d5ad032b36d9108d1f7f8746be07..cfab7ba6b34397a96deabe67805c2708f82a30ae 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.3.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js
index ac223a50a7795e19b522b390dac84ec90a4b8d60..0216310cfea701d8f58589e7eed083fcf6b13ee5 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.4.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js
index 5413f08c59dabc914295c88215082c63f3eef0a6..5d92d98276e7421d3691d6a858b3e954bc5a0f4f 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.5.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js
index 55d6dfa071498173469c541a4e36ac2057a18144..429683ff280e108002068208dd41c50316587f14 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.6.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js
index 38f10d363089591e7a51d2dc30c94498ee028ab7..786f230571beb9eb05f06f30f398c5f4cb7587cf 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.7.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js
index 66e505ca26104deb96bb66572d3556464d029d96..ef7ae050328081326d7b0cdfc9b05c5d2f183f3b 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.8.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js
index 6c6f3455df65d1edb1d861484ba2a76560d94ee1..377cb00f02ec58e4a10ae398c741c5af7629eafe 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x * y returns ToNumber(x) * ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A3_T2.9.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js
index d9401aa6bd3513ecde5a7d37ccacada8b0856682..d3b5006ce50f558e42a1b4bd89a2394f4838fea5 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T1.1.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js
  * @description If left operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js
index de46a38df8827d67c992e9b57c1b5d059bee524a..2f1d7c1c00906476810c8fcd2d5509ad4a5db255 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T1.2.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js
  * @description If right operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T2.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T2.js
index dade86b0591f4d640c2e8b6317a1d3ec3a7b27e9..f6bc87a6fc9bddca785cca35d442db3da9b1cc55 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T2.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T2.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T2.js
  * @description The sign of the result is positive if both operands have the same sign, negative if the operands have different signs
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T3.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T3.js
index 4229d395653027cd026e2ce4db7cc6d912b653ab..6bc264f90d44effd26f5d0a2fafc349969449369 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T3.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T3.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T3.js
  * @description Multiplication of an infinity by a zero results in NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T4.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T4.js
index 18001b92382376fa3d44a5b563b59ba61120cb41..5603e976e3f1e94797b89d36909d14f8bd0522e5 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T4.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T4.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T4.js
  * @description Multiplication of an infinity by an infinity results in an infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T5.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T5.js
index aae4e5f810a28fbf425ed4afc68d1b850848d6b1..e52526d3a2f9dcf9938bfd6f19b2881b3b7f7869 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T5.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T5.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T5.js
  * @description Multiplication of an infinity by a finite non-zero value results in a signed infinity
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T6.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T6.js
index 60cca104e515ebb58325c621f29e65143c8168a5..7432a3146146b18edb4b8a8176d151db5b814b08 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T6.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T6.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T6.js
  * @description If the magnitude is too large to represent, the result is then an infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T7.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T7.js
index d28435e4a120ca735f6ad01378d1e2adc69ad228..5a8d203e53c79c793f5dec2e029c5a4e8eea64aa 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T7.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T7.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T7.js
  * @description If the magnitude is too small to represent, the result is then a zero of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T8.js b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T8.js
index 86e3dde21d1496c1fe19ad135043aef953862518..0d777e06ffc8303540cc4e400ebd6e3bf23b8eb1 100644
--- a/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T8.js
+++ b/test/suite/ch11/11.5/11.5.1/S11.5.1_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.1_Applying_the_asterisk_Operator/S11.5.1_A4_T8.js
+ * @path ch11/11.5/11.5.1/S11.5.1_A4_T8.js
  * @description Multiplication is not always associative (x * y * z is the same as (x * y) * z, not x * (y * z))
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A1.js
index 5fe3c204584b9b6eae41105576570efc1807e5f0..0b92880bdd29fbab118fe66270290235bc162d9f 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between MultiplicativeExpression and "/" or between "/" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js
index 6faa262eaa088eb43636eb7dc87350139315f041..c06d2991c6e51aaacd5d12772e6bd78f2e123e3e 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.1_T1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js
index 24d04783345b3e8bdb48cfcfe9ba39cb69ec7c27..68396ed543ce68744790cafcee50c1c481ed6a01 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.1_T2.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js
index 2b896a0e0bdce9fde09d658904c7db5a26380485..d0da4868d00e9375d14286ca7fdd84d5c703c236 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.1_T3.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js
index 4fe6f293a46c531203b24ad01aba63a3d47a8cc1..e0d8bc345d86bca2c6698d55482c2ee19e9390fc 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y uses [[Default Value]]
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.2_T1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js
index 29698ed36a343357771cb73714f48f70ff2bc630..8c0b9888e2c720bd52d4db9144a9be3f26e15ea0 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.3_T1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js
index 749ec399274ad7f6abd8df5278f755f6c8266ec2..2d2d55efeb25ec431c5df5968dc24f0111b66058 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.4_T1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js
index e8d1b0c44ee55261fb86a953cb09d83484b45287..44f0f23279bd9f9b0b15b9119dc15c658ed88507 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.4_T2.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js
index ab3f471cef145214b4f08ac14d2a34fb95d5eccd..13ffe9ff3cd4b8f6390193f656bea878aa857ca0 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A2.4_T3.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js
index 9b8604a498b6da325f77bead7645f49fad8ab89b..5e53abaf2ba618c2a7381821f942b0868385ead4 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T1.1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js
index da13e8c0988d5e3befffaa0cb134729c5a3748ce..97bb6036db82d16305d1bb0dd1c9e1dc1e993581 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T1.2.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js
index 5e8a485c33a8b6ecc7a74c9cec47f12a9c6a8838..56d1b142c0b65facb9e330c55acc81230d8f400b 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T1.3.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js
index daafa4733088c0b0a0e3181ad14158235c40d582..e9269fb45391a98ffaa4cba9db8a4c0b3a1b2327 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T1.4.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js
index 5d719ccfdff585c0312257eecb9650c40a7cda35..ec57702bea3dd1fe5b6fcfd6e4f9698bec5adcbb 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T1.5.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js
index 7f13d85b3ed33e36d76f7d687b344aadc6738d43..7cd3f7cf6d34090d102807a77a892969e38cd128 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js
index 44f56be76dafb5e32ee7d10668351d3079ec2e93..8678544adca606e3bf5014e45afbe7c82cc239d8 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.2.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js
index f25ad42c6d32c3da9ce67c54b8117efe755a30b7..bd37aaefaf0aa5abe1edf0393fd3090624def47e 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.3.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js
index c02b0bbf1828026a3d71bc831c180643d47b6be9..a67647f6b667e5faa71c51dc864c062ba3707760 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.4.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js
index 8017e6d0db538f830629d2bd9adbd60fb42e6a16..ae723bdae87bf31bdb33e3ea1e6178269323e97f 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.5.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js
index 516dd5c2a34f5b43889073d8ea1062e7636230d3..728613ebd66ae9de7985944b3ba6ebbd78d1c0b5 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.6.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js
index 96617cbe76b522033fcd4f48a6cb11d4fe0e2b7b..9a307dc32bce05f913454a9d27db16896e7a65c1 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.7.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js
index 757e919a7afc3faadca8966645e396e61349377d..a3fb0e50ed482ddf0982f0ab5c2ffe977dc9ebdf 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.8.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js
index 5252a7bec3a51b15ebfa0e31c3f1db2ee58e893d..5459c4d04809e5bbf892400c214edf805be8a565 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x / y returns ToNumber(x) / ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A3_T2.9.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js
index 95708761f80f89bed054ef786369541e9f0e4502..f98c2b58e16fd66a6c859efa7e991ce6e7aa5793 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T1.1.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js
  * @description If left operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js
index 907a447a1ec53863c502c17e9e4ca478578daff3..57415ff2a4f1bbc4b834fc8c7530c45becd4c82c 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T1.2.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js
  * @description If right operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T10.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T10.js
index 66a439dfaeeeaf11c95e99ee24d9af7084dfabb5..a8a0f25ab4f8bd6456ce0f32c34be6a9a3c7e4d9 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T10.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T10.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T10.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T10.js
  * @description If both operands are finite and nonzero, the quotient is computed and rounded using IEEE 754 round-to-nearest mode.
  * If the magnitude is too small to represent, the result is then a zero of appropriate sign
  */
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T2.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T2.js
index 53d553604024a80a98956950ceaaa3c0599aec07..4e0143879436c092ffaa5bfffac92599eb601687 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T2.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T2.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T2.js
  * @description The sign of the result is positive if both operands have the same sign, negative if the operands have different signs
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T3.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T3.js
index 6bbf3c5d23989b5bee751fef6128021bf41f2e52..dd67b91f86a981aa944022a8c1732e9f5aa63f8e 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T3.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T3.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T3.js
  * @description Division of an infinity by a zero results in an infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T4.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T4.js
index 73881733ab21a54b088225aec3b85fd165be5282..14804ad6f389877b13b497717482e45efa1ba65c 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T4.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T4.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T4.js
  * @description Division of an infinity by an infinity results in NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T5.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T5.js
index 61d8972a036b7838dfbbef653cbd33780ccad241..3f84058ca3db7a2aeb27170b2439b1d75d2c7c94 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T5.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T5.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T5.js
  * @description Division of an infinity by a finite non-zero value results in a signed infinity
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T6.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T6.js
index c2895ceae4e59bbb6f9754e85a91f56cdce5ebc3..7c013ee31039d33eba778aa25402e72d9cb6e69d 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T6.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T6.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T6.js
  * @description Division of a finite value by an infinity results in zero of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T7.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T7.js
index 7f3c18c4b7154e02a7c8689cc0ed152343f25a46..df2b599704b1a442e72696a5c18c43c71b522176 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T7.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T7.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T7.js
  * @description Division of a zero by a zero results in NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T8.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T8.js
index 86c71c1b9ca494dc963d6801c8f00787898b50d9..1984de1f235fadec9c4b1cb8bb8926b8e73bc793 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T8.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T8.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T8.js
  * @description Division of a zero by any non-zero finite value -0 results in zero of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T9.js b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T9.js
index 938347b7a0e5e120d6ad4f7ca8adb6dc817a3a6d..9539057d756bf30d2d4e2547044f44a07d19d897 100644
--- a/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T9.js
+++ b/test/suite/ch11/11.5/11.5.2/S11.5.2_A4_T9.js
@@ -4,7 +4,7 @@
 /**
  * The result of division is determined by the specification of IEEE 754 arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.2_Applying_the_slash_Operator/S11.5.2_A4_T9.js
+ * @path ch11/11.5/11.5.2/S11.5.2_A4_T9.js
  * @description If the magnitude is too large to represent, the result is then an infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A1.js
index c9122ae9bfc68128bf5189242520f3a763333df8..c372cc54538a3a8530f45790286cec304b2e7a0f 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between MultiplicativeExpression and "%" or between "%" and UnaryExpression are allowed
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js
index 2748a960d19f06ee672624096f55f8b172255650..b2a973d3780513c43110e1e838a32925c5678b91 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.1_T1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js
index 366155c4311fec9c25cfd4a05eaa6bc10d97fd59..5da5f3cffe49c6c778eff313e4ba1c60ef3ec920 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.1_T2.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js
index d8e46f1415d59135088bb84a98bd24ceafe37772..20b64080ebdd178ac87dccb05e72feb3c154d90e 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y uses GetValue
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.1_T3.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js
index 9fab465cf9a88469e19cc58e326fba41029658d5..ab488af509c868f9bf7d6859e9d296f8e00308a5 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y uses [[Default Value]]
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.2_T1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js
index 381ea98d2d4fc68b0e693753463cfa7851bef408..836a13ff6fb6b807575aeabc9a886125f388d294 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.3_T1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js
index a03de0fea7ca119139f8f0bbdafbe60fdf1a7f93..7b87a3bf0fa622d269cf45f1647f05bd6083936e 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.4_T1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js
index b66d7fbfa9b2f92741fd57ce12ca6abae6e1b29f..f3c306ca1bcb38829600fefa8f027744aa50915e 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.4_T2.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js
index dce1b84e864d155fb73be8d559ee53939f4c2fbb..a597a95d27e4e15a6fa830cbf07f1a4e4b35c01e 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A2.4_T3.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js
index 0aa0c761d2dfdbbfe67ae26dcbdc688142f85739..816d0efe9bb708250976fbf651d0dccdd443bdcc 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T1.1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js
index eae37204cc608a02c970bba28b77748f93bf7ac0..db3ba1d649a92b94886f233a027814ce406c6ac0 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T1.2.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js
index 2d708a3e2405103237f43f30c7dced4d10a403eb..3520ef23629f4ad3564c6fb16f25a2f2608e2248 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T1.3.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js
index 1e70595cdf1b188ef5bb45a1983e24c8d8abb9d7..0af53ef4ef601083ed57bfdada2c76208a283829 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T1.4.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js
index 912c8f65260e2dd31e963f2a0a4ec4b9a33e9351..85cbbecf2b8dc824eef108a566254e8a4d657d3f 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T1.5.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js
index 9da7e0a26e97b96b3e73170e357cdb7fcbdebcde..4cde926347399a8d252a97312d18174bf2e40874 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js
index 65d54144b575f7884d7554c09efec08f3d9b86a5..6196513ce70b146f203c54a390f4a750fb35efa9 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.2.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js
index a42ebfb8ea014a96b5175491d0edf8a1d9d4b728..c6f32f2b452e22e748868a274f783dd754ac17ab 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.3.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js
index c0f3ce80a55d6c27a4f3a921c17f219e0845faef..4abfc2c0fc4718d11292880595b431952a4fc435 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.4.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js
index 91a39b4c5d63d2c6e1f77842ee02ec6fb8c30c3a..951f4c68c0c64a7c11f99d7f23fa16539efe082d 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.5.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js
index 88cb19747ddbbe4bbc5c90ead11af3cb6dfa4ad0..973fe52639aaf5310e27bdf4b110d045bc3539cd 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.6.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js
index 076b49bc134eccc57d8eab698581cb6b04171e7b..baa8a90e4f45290c38dc8aa4f3144301c696f6ab 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.7.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js
index 25abcad2312a7b808a744938b358e7d0b431a53d..54e229b097ef914208e2916bb9c1407491248605 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.8.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js
index f7fd8caa0ebcea66cd76e1ce99c82796802ffe48..3ff69f28579a6025eb8890095aafd0f7be473189 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x % y returns ToNumber(x) % ToNumber(y)
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A3_T2.9.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js
index 276f9965f37797d0352798536e70d5b4baf23c0d..b2ad39088d973074f183c6465160f08e60362e51 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T1.1.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js
  * @description If either operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js
index b25a8275db9b80230b3d35352930eff26413e58e..2b7da808e9894c748037271884e2b28047dd6015 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T1.2.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js
  * @description If either operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T2.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T2.js
index 96659086b7032719266d25965d578f2facf05409..ce20516886670ee5bc001813e3eff64c25cf5e18 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T2.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T2.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T2.js
  * @description The sign of the finite non-zero value result equals the sign of the divided
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T3.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T3.js
index 10b98a351fb537cbaf39c56778c7e90802a2f6ed..5861cf727d8b9dadb8970d02b4ace469e56f00ce 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T3.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T3.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T3.js
  * @description If the dividend is an infinity results is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T4.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T4.js
index 03e4a7279a8e4ee1e51d42fe1d9e9155c26252c2..cdf3ebd38e5f3150346510544cc095fcfa547b78 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T4.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T4.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T4.js
  * @description If the divisor is zero results is NaN
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T5.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T5.js
index cf88765075d386c91b0457fbf93b3c9dc5408236..46f9e75da2c99cae2e82899e0b0c857558ce7f2c 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T5.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T5.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T5.js
  * @description If dividend is finite and the divisor is an infinity, the result equals the dividend
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T6.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T6.js
index 5cd1cec98b13803aaaa757ee17782cdd3d7eb886..02373aec7d432de0aa5e6febfcf59ec6ef1ab829 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T6.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T6.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T6.js
  * @description If dividend is a zero and the divisor is nonzero finite, the result equals the dividend
  */
 
diff --git a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T7.js b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T7.js
index df427f15210a6d876c8feb1c99ce8306293bbba8..54356536e6bc71eda3a479a1a11019c60001f5fc 100644
--- a/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T7.js
+++ b/test/suite/ch11/11.5/11.5.3/S11.5.3_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics
  *
- * @path 11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T7.js
+ * @path ch11/11.5/11.5.3/S11.5.3_A4_T7.js
  * @description If operands neither an infinity, nor a zero, nor NaN, return x - truncate(x / y) * y
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A1.js
index 5311726da9ad6c2608f60e27e79e9627e865542b..6e4793095669b4145e12a769a4e272c8d9f32185 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between AdditiveExpression and "+" or between "+" and MultiplicativeExpression are allowed
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js
index dc5c06257c7c352a96a96b4f700a632c9c2faa47..748f791faaa72c8ab646ddbf7d4ae191c7bb7314 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x + y uses GetValue
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.1_T1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js
index cb48a51d77df8d9d4a7bb3baf84dac25772b4dda..8a790be9f8fc1093b267aa480e726f20e7200f4b 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x + y uses GetValue
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.1_T2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js
index a6c7f78da86c60ac960bc692eece7cca0b8f91e9..6609a5593770944c1f623b17d1666335ca34b0b5 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x + y uses GetValue
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.1_T3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js
index b890702805fa2a41093d8c08504aace9a74e447f..debdcd8838919daf4b79894f0e3fbf37fa9eaf52 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x + y uses [[Default Value]]
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.2_T1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js
index c4ae05e69937a02eaceab5e9e6249518bf2ae968..732c32cc846489c03b44f8d98ffa58364de10273 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x + y uses [[Default Value]]
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.2_T2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js
  * @description If Type(value) is Date object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js
index 2b7a69f9da08c0b0f6ad4cfb06fdc38348b063a1..965c53d4d4bae4229988bef37e8cb39d40ab025b 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x + y uses [[Default Value]]
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.2_T3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js
  * @description If Type(value) is Function, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js
index 4b1af959904588886da7ff07eba74e74dbd7d950..07f11d4a121eae7fbbbe2f7216e0a49ef1a35a79 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.3_T1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js
index 97ea014d1578273c6c801e15254d13ef1dfdcc1e..ad6f74b40d01324279f22f9483ed8784cc64af4b 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.4_T1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js
index bd51554e869307b542bb784afc9aa80b09ccfb14..349041ed49cedb22ec77952ea5b9644546c7d732 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.4_T2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js
index cdaa56133f41b7b8245a3c1cc117a6b36830fa03..60d89e50610147245ccdd1b2672fc9c9da4297fd 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.4_T3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js
index 6a41e608b79f1cbfa8094c4176656ce4f0bc00bc..e0f9656dd7a24472618f5f8d9e3538c0f76e8962 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T1.1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js
index 161cf8476c533a24437f90ea24ee76200467ee8d..f5fccb105136dd213a363ce13615b0dcc14535ec 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T1.2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js
index baa9106a2b8eba5edd796b5c3a01b53f14eb1435..c9d52e5938205aa12d08c4bb02786476fc1c2b70 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T1.3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js
index 0f57d16e95c44e1c3b8c17e70bef878769f7cad1..e5e3ee261e4afd343b0105aa1a7678be9e6de7d2 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) or Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js
index 9f01740a01e40748347b3573d15225e258469c16..ec9dff92642cc100d2f25b4fe116df952b27108f 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js
index bf72ca5890993aa992fa7d0c7cd35b59d2f872dd..dac10c083f3d0422e946ee37f6f0395a4d78c048 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js
index 12084814eb91ca28bd7426e1c8ad984cae13905c..a2d56e2f7757e7bcf582857b663e3a5663fe002d 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.4.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js
index 9d3bcd9d5391d3085b555cdd3e6c8da6f62cc04c..a3cfe0523575d53646a761acff6e8d16a520fdce 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.5.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js
index 71dee104e8b664e79e82fa0abba9b146f3041daa..f2f1f87242966551fe4d8f37c4db8459e5958ad1 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T1.1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js
index 2910727e074dd420a28db8755cbac65118574af7..422ed6b539a8dc916da4a4ae2f7af4cafb87fa24 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T1.2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js
index b4944354d497beefc4544496d7567f4325a283f6..461a14c1a5bbe5fbc5713696f82be7c1e89c07df 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js
index 8689ce4232525ec1624cd0813e2a211faa626388..5f4a4075aa747ff25675dbdf493c01506a465b87 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js
index 07a702993b7a1f24fd025fd44380ebae22a55367..a097ed83bc0e18687bdf4319b1b6be8da8d2e86e 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js
index f6bdcc8ff7316a576ddafe5a0babed8eede74672..a957677b7ae84286a9dec8efc9830f2d4e3d0c82 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.4.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T1.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T1.js
index 933d944cf93a195b72e4961836edf6c25903ecf4..8a8ac37da22218dc45b194297688f608c354e971 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T1.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T1.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T1.js
  * @description If either operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T2.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T2.js
index 6177111117d0a2ea3698cfff9222913f62f1ef70..6e6452567be7cb1605632d1b2f1214cd47b9a00b 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T2.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T2.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T2.js
  * @description The sum of two infinities of opposite sign is NaN
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T3.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T3.js
index 06e158266fabe9977f6c7455ce774885bc85fdb5..d434e6c233fc05aa4a5716e9ca24bba109ab8454 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T3.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T3.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T3.js
  * @description The sum of two infinities of the same sign is the infinity of that sign
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T4.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T4.js
index 4f1610fd480346de29070ba2c2e4e401be57c019..4fd4a6f5685533ed79f6c14e1d39f0e4458be214 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T4.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T4.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T4.js
  * @description The sum of an infinity and a finite value is equal to the infinite operand
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T5.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T5.js
index 8cf5216903a1b759474cdbc543fae58d56cc998a..3ae18550ad66019a43a189f042e4433558ad5167 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T5.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T5.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T5.js
  * @description The sum of two negative zeros is -0. The sum of two positive zeros, or of two zeros of opposite sign is +0
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T6.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T6.js
index d1757297d25fa9fbd9b199d8f786138a1b4eb41a..b25a8fbae7025b3f6de77989336792ae598722c0 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T6.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T6.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T6.js
  * @description The sum of a zero and a nonzero finite value is equal to the nonzero operand
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T7.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T7.js
index 9bae669ed7518f369b233664adf324fdbb13ad96..c8af57916e04c60e743147e019c80f281eeef752 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T7.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T7.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T7.js
  * @description The sum of two nonzero finite values of the same magnitude and opposite sign is +0
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T8.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T8.js
index 42d8dfcddbd002f893565c56ccde12417e68be1c..ec90d44e54355786b721cb71b4e8a6ceeb5f8551 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T8.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T8.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T8.js
  * @description If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T9.js b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T9.js
index ee72e6f102fd20fc2c572c4efa9c9176f790fb53..bc082438aa97819428be66131067366f8eeca17a 100644
--- a/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T9.js
+++ b/test/suite/ch11/11.6/11.6.1/S11.6.1_A4_T9.js
@@ -4,7 +4,7 @@
 /**
  * The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T9.js
+ * @path ch11/11.6/11.6.1/S11.6.1_A4_T9.js
  * @description The addition operator is not always associative ( x + y + z is the same (x + y) + z, not x + (y + z))
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A1.js
index 6dacee7f75dafdbc84c44f6701323a02b3ce7520..c3c08a221311f14da6ad1f360b456b366188d74c 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between AdditiveExpression and "-" or between "-" and MultiplicativeExpression are allowed
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js
index 07dd890de5ca93e67960e708f0edca1e1e2dc751..8d85c8233082e58688293d5abf33423202cf25af 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y uses GetValue
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.1_T1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js
index 93d2886623ea54267f923be12ec2b31efe98bb7c..34bcafc2b34f59cfe0103c3d9eaca63589325133 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y uses GetValue
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.1_T2.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js
index 88d9753d62de950519de2652a6793b77e3e8b0e1..e5ef600f8dbc02980d0ea30abf0d78eee2c967e9 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y uses GetValue
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.1_T3.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js
index 81bd3dcc4b9d6e6e16359b2fb76bc76bf5429772..3f24d4c13e884a11785b795a5fc1a29b760b6749 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y uses [[Default Value]]
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.2_T1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js
index 6902df4f23e7341173407bcbc7a940c701753062..b54588088ff0d9b3fb7cb5c833bf68049e3521f2 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.3_T1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js
index 0c73ab5f00e592e931a431e94df2a3032dee4853..09b0a7184409564dba9015ff66c580183a3fafb9 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.4_T1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js
index eca65ca29ec4b12a44ed211c49f921ce3b700396..ef853e38f927a805760fcf967c755dc1b4ef49c5 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.4_T2.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js
index 1bbed5178c196d039b87376f1d4aa507ff7f488c..ace9f2e95394c7216047a4a4303fe38b018894ef 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.4_T3.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js
index 67a77d19a0d89a6600161ddc02e26e43a3e3765b..732297bf4575cad52b94dc7a8a9346df4bb53345 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js
index 1996b777510129ba9e13cf6cb2b2847ec5eaad09..4a19423a05b62687ff106b583315cc7fcf628c8e 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.2.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js
index bc694876630f39fc52f23cdd2a860fe7d42df0f0..5e2f31a808fe61e39a71b83e7653e22429e27ba6 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.3.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js
index ec33d73384caa9788b685a92dc1638a89aa37409..a76eb66280e491cfe4f7afcdaca4b21ea4325cbf 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.4.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js
index 018dc3df19392ce53ba80e7bb84f0bee38e01e0d..21bc87c781cf9098dde21b8590f98261a375e514 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.5.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js
index cd0b78a4a645c8764abe8ccdc6015ec77ef34718..8682a715440c8c1c27d6bff5e7f2b26aa26905b8 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js
index c1ec2c18dd8517ee619b09d5b920c9cb266547dd..2c98620cc6a8ebce0be1a659694c4979ba409d47 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.2.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js
index 77c29dc617b4e8b1e24021f5abfbecfb38612e6b..9edba35badc85e4fb293133f299ca15ee3593836 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.3.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js
index 37546246c4c83b29a69a92e88a164eaef070160d..9169bacdd074a77bdc6f95c7fb96a40db9f8b707 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.4.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js
index 2e891d4d653b75206c05fb4731fbeaf237d46748..953fb408801b25841866989aeb965eff13215b24 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.5.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js
index 971356405abded2e35d4a699881d3f2bab886342..34fdcb38566c714e154cbe108ca12ea204374d41 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.6.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js
index 6cca3c077d124d8c88a56dfae7c34733a058e355..3e467ed63569cd61e276f2643084bea968617583 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.7.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js
index cf8d75ad861ad6d71b3c035b7c489bf59718601f..92704df1de63b29425ed6258813604654be8405f 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.8.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js
index 4372181ccfc581bbec17ffac077773902f73176d..22bbe59e5e6161668309a81517ca8e06bd2c7cd3 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y returns ToNumber(x) - ToNumber(y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.9.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T1.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T1.js
index a359c83f3e017c07d16b52f106c7e37abafd188f..2ea5c563ceba0d3b417c651378e8b5958c1662bf 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T1.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T1.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T1.js
  * @description If either operand is NaN, the result is NaN
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T2.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T2.js
index 1b1496ed9cd5c793675dfed3b828e8d368abf9fc..3853092cab686168135194a8ca2bf24132eff375 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T2.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T2.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T2.js
  * @description The difference of two infinities of opposite sign is the infinity of minuend sign
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T3.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T3.js
index 4796bb4d6266e0744038490e020166374098bc2e..e1c18e1cbd4f809a95020086413f387cc65d281b 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T3.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T3.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T3.js
  * @description The difference of two infinities of the same sign is NaN
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T4.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T4.js
index 551f2c3d6dfa558a0d49738b516405b478f3497a..2a0ddf37b0e6f2cc32cbeb5a70604ebfa83e48e3 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T4.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T4.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T4.js
  * @description The difference of an infinity and a finite value is equal to infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T5.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T5.js
index c9f04d9bc2068cc3aa6a069824195cebf9a6e28d..bcc6ac2585373a26865d2dd100b866976c04a8d3 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T5.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T5.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T5.js
  * @description Using the rule of sum of two zeroes and the fact that a - b = a + (-b)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T6.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T6.js
index 61496002a53c65a119b2ad1b1aacf26d4d28eb91..a71e3068f7bf7d144dbcdc8cfa2305e5aa44bbd8 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T6.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T6.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T6.js
  * @description Using the rule of sum of a zero and a nonzero finite value and the fact that a - b = a + (-b)
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T7.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T7.js
index b68701ae266afa0b98d6b6558270dabd697d1bd6..8f810cb460a9f676bc1737bbf924c1eccc2e00d3 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T7.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T7.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T7.js
  * @description The mathematical difference of two nonzero finite values of the same magnitude and same sign is +0
  */
 
diff --git a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T8.js b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T8.js
index 9168602f3d82e61b45824277e0ffffd5830ee8e1..b8a5cd4e84dc7e1647ab143c3a754299a37e8c06 100644
--- a/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T8.js
+++ b/test/suite/ch11/11.6/11.6.2/S11.6.2_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x - y produces the same result as x + (-y)
  *
- * @path 11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T8.js
+ * @path ch11/11.6/11.6.2/S11.6.2_A4_T8.js
  * @description If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A1.js
index cc95d8ad6b6935b4a1bf30ced94910d4daba12eb..4b4e16d24ff763a8ed57cee8cc4701ee226fdbfd 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between ShiftExpression and "<<" or between "<<" and AdditiveExpression are allowed
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js
index a6c3e06d4b4f54e56e07e29110b4c49ac9e3eb5b..e1066f118a4699eaa9a24c2fdb079b2281cfd109 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.1_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js
index 32cd06e30035c522bb0097867ea847aea86a5efd..1d6dcee60fe8d14d0b3a26a74c04de6719317b60 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.1_T2.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js
index 6daa7c41e4617dc12a0c431b70c6077055780d88..b33c6c680a8d5446568dba9a3b8af8f60210b8d7 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.1_T3.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js
index 8cabb3882295310c544200ef2dddd2531057ccbc..b0403a9fbbf2a908e761a9de4fa38b73bc6edc4b 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y uses [[Default Value]]
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.2_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js
index 60e6c7d6f26917951b9fb4c03ef86956c3443bf2..e06852489878d261442637ebe51203f1fb582e70 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.3_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js
index 2ed1a367c7a92b87818ca9bb4e83c1fee60158e4..1beb86794240f247b286c43c55ebf5e4e9cff0db 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.4_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js
index a62bd93a35f61a9bef49e790420ad0099ababe08..e44dd956a85549ce22abd828f717d03a03edef63 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.4_T2.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js
index 2758007b3974c29c2ccdea783d4c9adbc2fb79b8..ed53451acebf49a163687c9f8701615e22763fac 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A2.4_T3.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js
index 1068b35babccc6ad2b1bd43fcee03206535161cf..5e1e846963f86c09a115add33f9812e552244acc 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T1.1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js
index 15d6c85c857cd42640475aba8492628044291eb4..06d8dca641257ee52a7e868767c130df8c650627 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T1.2.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js
index f1b2dd8f4d098a0d03e7e6dcb407b8c5d5e7ac88..400362c34e3bc9396058499f3df8a59a5346b120 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T1.3.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js
index f2400ceb1ec4a4b2497c56b037791195001f8e73..f96d4eee5ede1590566af15d1d08bc85a1dd85d8 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T1.4.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js
index a05ffd3fcbb3f8f01ccd25d62daf643f80c7ddcf..a548852a9686546e542818c76a8bfd0ba78f3082 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T1.5.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js
index 6538d228d64699174685466e0a0e311a23571d5b..3865695e1855816827453094443d7475dd2a4ed6 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js
index 4ad16115c340a2e5a691a1c1aa2eb3ee8d1dd7eb..363ee72343f4c9d1f6d9cb54ce8a782d4f7bb900 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.2.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js
index 78bcaf730457a32529544325f4faf6fb2a52cfb9..182b1fbd2cdfcb5f0556462de7756bd7397477fd 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.3.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js
index 65dfc01aa1f9a0df2887c02aec733525469b250b..2a4836aa548cf3f76265f671b8e698b58a820936 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.4.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js
index 2fea66457e914fc3ed66800f932c5ad645252b4f..fa8652c5bf768be27356c621076ab4a922b06f09 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.5.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) or Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js
index d119e4b19497ffebeb049419bac9a38490808c39..4f5d8c668f5bf2dc121c73c50f2aab80cdec3083 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.6.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js
index 12f955d8ca1e01f5f83e28917d030c5a1fde6193..da246f173b2fdfbe7b8317c3c1aad130022eed4c 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.7.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js
index 481a4a391266ec33498ab3686229a7c55a3795ea..6c0d3858d759af688b8825147b85d7d989cd6796 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.8.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js
index 514caa3b0b1534953a867e6aa07c921bc178ac2f..25935fea7aeb59e4963e4545122618f8392759aa 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y returns ToNumber(x) << ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A3_T2.9.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T1.js
index 11197c3269ea5a5daff49f8bb516d30320137541..6c2416dd9c78f3d685a4b846228423f1d53df4da 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x << y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A4_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A4_T1.js
  * @description ShiftExpression = -2^n, n = 0...15
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T2.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T2.js
index a61ab85555efe6c6ca48ade39b9bd59494082fb2..0cdfbda0e25eac399dd6237fce554cae3fe2b399 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T2.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x << y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A4_T2.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A4_T2.js
  * @description ShiftExpression = 2^n - 1, n = 16...31
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T3.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T3.js
index be26d3de855e8acee145e3e37e76ddb30c772202..5357d1857d69a476261296e3342d959573c47744 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T3.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x << y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A4_T3.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A4_T3.js
  * @description ShiftExpression = 2^n - 1, n = 0...15
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T4.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T4.js
index 734610a041777850a7169a59299ac2598c5027ba..15082a7ccd2e2bf311b05bd833f534633cbe4fdb 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T4.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x << y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A4_T4.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A4_T4.js
  * @description ShiftExpression = 2^n - 1, n = 16...31
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js
index 9bd26e916f4114b703256e43f512cabca31e5882..49bdc5e7ec17a30eff1dae4d60f11e939749f590 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y uses ToInt32(ShiftExpression)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A5.1_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js
  * @description Checking boundary points
  */
 
diff --git a/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js b/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js
index d7f3713ded52a471b30d0bdedb848215980f0937..689fe1203463a9be18fc800e2c7bfbdd1e3fabc7 100644
--- a/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js
+++ b/test/suite/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x << y uses ToUint32(AdditiveExpression) & 31
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.1_The_Left_shift_Operator/S11.7.1_A5.2_T1.js
+ * @path ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js
  * @description Checking distinct points
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A1.js
index 8f75e07f4a876a1c7e78a6ffded2e41a01004439..086e038493a0425719830c74302db0155cca98df 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between ShiftExpression and ">>" or between ">>" and AdditiveExpression are allowed
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js
index cff69354977fdbebc732899500d90e25acd37098..b036436d8c4d4346e046d8ece445b54c8dee946a 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.1_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js
index 1d79e06aba3133a6f1a9aec75fca6c0f3918acef..107ac4ade3f4f8be352b599235ff2e62ff83f1df 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.1_T2.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js
index 3fbf4d1fdb9d4e5c71aeba1a4d724e653c8fe06f..1ce6c6dd2abc3efdedce68f1b9824f139c0ad753 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.1_T3.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js
index 7969affa8c0a6d669092a6a0fac39f3a914c50a7..3debe0ae1a3741b6b5a21d465884b87c3ca672d4 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y uses [[Default Value]]
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.2_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js
index 653e39020432aad8d83817cf4aec4651f5b93072..1d3d1c5444331456bc4d3082d82b279a52560744 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.3_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js
index 4ef5942fe8f9e2b5123b5198fbd529e6ade3b2c8..310bee61f2a4eeb1d4ae102c9e8e87b6c0423848 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.4_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js
index 8f84fd2e08140aab28c1e088cb3596b9d21d8efd..4f1eb349af01d43126e153937322b1bbd0dd4ed6 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.4_T2.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js
index 22ce2f9e3f064ff140af0a8d05d8ea441127891b..45f52d79d6c375ddfade7660297076ec72f8da27 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A2.4_T3.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js
index 3c310be30545f1fe50be3912cb0b60372a420d40..0f872cd25650ada75696fdc75e1bd6479a199927 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T1.1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js
index b858d587f68db2decab8c81affacaf5d459ad28e..0398c019a9cf399fabca4ab6c3c832852786ea66 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T1.2.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js
index a10692103b2e1efe51557fb659844164c8d34b31..7172e563c8b84e56369cdd2911c9e22dceb3683b 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T1.3.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js
index 8d2f3687acf5cf45748842cadcae4072e4782dc9..b792d7c82eeaa56180bab2f4cb11142852921235 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T1.4.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js
index e2dcf42f26163e624248b4110ad08700e34e8819..3f208836ffaad2b42904a9b9915fa537f815fdbb 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T1.5.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js
index ce53273387fe65b699dc4ef851f805084e19f58b..808fb0e3ac81260dff2f985072c781325e9e50f5 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js
index 349925141172b48ce98044ce6d82e4ef9217332d..57c037ae096e66807594334bc99e39661eb9ce2e 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.2.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js
index eaaf8116448b2c775e71ec2e9b8312d972a8cb62..fe7a31aaaa8ccd86d6c9e057adf07be5edf100bb 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.3.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js
index 1150a2de31fa70d0d8ee006b6d6492ea6b188b73..138b7768130310df234349c44e692f0c04c519ff 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.4.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js
index bf88e4a4cd6a584de060a1fca3843f559d7c57f1..ca296c62e12d03beb561977763797f661410bcb0 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.5.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js
index eb0e412337e069fbec62fb53896ff9163555bce3..ea18c20a6004574400ad74efc86ec93a6b020ff2 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.6.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js
index 3ee700446a92ea16974c79b415a27bc781285ebb..3061313c2435b5ec8c44a1029c2b9e4c7256afbc 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.7.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js
index 6cfa462541f530dd42d1602a2403af737815d491..a918a6791ebc30b03b67e313f56a4c16b80aaa73 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.8.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js
index a619d378295c4cf79b1252dc8f195e6803e72234..f5cbaf9447a17d6b98d37be0b2bd47d82776cb4b 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y returns ToNumber(x) >> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A3_T2.9.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T1.js
index 82c9fea33c45ba92266ec2f1927c7ec128ed8104..851139bb1aa3b0e844a4bde7fc5dd8d1c81f6fb0 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check x >> y operator in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A4_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A4_T1.js
  * @description ShiftExpression = -2^n, n = 0...15
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T2.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T2.js
index 51587d130489aea9ac11d903f8afdbb6ce6548f5..7077af8530139cef5b0ff140c509e77abfe64090 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T2.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check x >> y operator in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A4_T2.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A4_T2.js
  * @description ShiftExpression = 2^n - 1, n = 16...31
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T3.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T3.js
index 184c120fdd087e44476d513611b0996763718b2b..40f8d686df61b7063bb869ab74185c519b847d83 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T3.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check x >> y operator in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A4_T3.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A4_T3.js
  * @description ShiftExpression = 2^n - 1, n = 0...15
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T4.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T4.js
index ae863060e1d669c1c6d6e85e5eed51a73bbaf4ed..aa1e0065aca0bcf206713e88511eb2f06d60a2bf 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T4.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check x >> y operator in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A4_T4.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A4_T4.js
  * @description ShiftExpression = 2^n - 1, n = 16...31
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js
index 76079ea150e176c011bbd96c36301fcbcf554a79..aa732c3118754d5ece9ad676b0b7ffa8360c39d6 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y uses ToInt32(ShiftExpression)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A5.1_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js
  * @description Checking boundary points
  */
 
diff --git a/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js b/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js
index 9b9712320bdbf721428ac51d6772624db642f505..64eca8df306e70bfed19382f41101bc8cf8de5b9 100644
--- a/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js
+++ b/test/suite/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >> y uses ToUint32(AdditiveExpression) & 31
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.2_The_Sign_Left_shift_Operator/S11.7.2_A5.2_T1.js
+ * @path ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js
  * @description Checking distinct points
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A1.js
index 007b2196d0474fd6c3199e99bca5d3616e084ab3..58906e8fb1bae2adbc9f8399984c95d9c4257ea0 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between ShiftExpression and ">>>" or between ">>>" and AdditiveExpression are allowed
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js
index 9c587c15330d73110e5394d2712caf7bdb54dfe7..e153a762e80fc507cd6bb138e6345564e381d544 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.1_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js
index 9369fec83a15f41d0721051c526971ceb1f2fc62..cae3ab7736960035a6de4ff22797d7014988bad9 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.1_T2.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js
index 6141ff2dfc508c4d0c4c4d4e04cbd72ee5d00893..e682a064aad449c78e1d6017781ce3527275a209 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y uses GetValue
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.1_T3.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js
index d70084f3968261535f72ed25afcb030936e3a561..f678b914dc4f645ad4ecfffe9174615268255589 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y uses [[Default Value]]
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.2_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js
index 69823f8c29f2e9004123c14888f58cdfee9b6244..717afe75d03a836a84f0c0328f3d4b51922593c6 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.3_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js
index ab02546b6750de394c8965c638ce42f1b1d12346..7291d20fd664929aa45ed797dd4f1ed596a81e11 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.4_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js
index 87e6f54c243d935f609e6f4b8e0c891ed51860eb..84069b1f11ab952dfc2d608b31df6d309e3cd22c 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.4_T2.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js
index fe90eabb2af26e596401bd6513dd85126fe81ba5..72f08b3eecafe1b2c3b0f6596aa8ec35e9f43c56 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A2.4_T3.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js
index 208b64e2966ada5b22950ba342f62ff586c97065..0d90bbd6f7520b945e82e6f41dc44ab7524a3d90 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T1.1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js
  * @description Type(x) and Type(y) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js
index 3c41bab89eec9f9a03e6af65fb7ac1a4db370ea0..48d41b63a31ae3d60fe30b84b95fa60d6ed51309 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T1.2.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js
  * @description Type(x) and Type(y) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js
index 8018e4b3219b5eda1f494df9721ace7d84f3f87d..60bf9d3109015541e8c245e582595cce5df96bea 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T1.3.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js
  * @description Type(x) and Type(y) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js
index b2855fa97bf2399f3eac53e86284604012c4e971..8da5b55c1af4da1f53a02a40567aa23617454486 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T1.4.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js
  * @description Type(x) and Type(y) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js
index 779b6f0d2a61c834da026635c77c642f127967dc..aa023e28614bd599f7673e42e81bfbbb7f1e72d5 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T1.5.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js
  * @description Type(x) and Type(y) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js
index c369878c2715bd72d798463133569292386178c2..ef7427e70ab1596ce53808f6484ad2f1d6c56872 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js
index 376a1bd5ba2c042be314df67ca01b9ac1bb26424..04cf0bd1b6085e64c7de097ffd2555fa0fc8894d 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.2.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js
index 4f10be56099a20600e921307cbe5c0baeeef54dc..658d6029c079b7188f5591c5f5aaca302af7b9a1 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.3.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js
index 0ceef42c2b7236c3a48e4ecd627fef52c8d2e620..a398f8a0941c959178ad25b76cd6f7d887144794 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.4.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js
  * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js
index 7afd1981c0d22908d4a51c3209187f280bc3ba62..83fc64bb2196e0217b5037a4fd4f7fd21f53f380 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.5.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js
index d7abea80288dea06af9d58bc97842a6e20e5e5f5..63d3e42636a64e3d9b6e53e69b1ae4ea1e2cd3e7 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.6.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js
index 5c92295f69b46128a921dd27cf9d33c560951b2e..c19be4a7dd66df9c89543eb9c452ea3c59b38c03 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.7.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js
  * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js
index ba2dbc7d6c8fe006eba19545aac1119a0a12a51d..98636ab0f81765e11f98d5338f17f27c406f8963 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.8.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js
index 7d4914e815bb1ee6f5f315ee55228a8b67dc8bef..aacc034f5d43e32d0ba487eadcbed49db8b5a442 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A3_T2.9.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js
  * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T1.js
index 934d32623b2c4ed9bb9a8b5c323f6dadb9b01670..c05ddc4e5db147b670c5e08a994b71c3b9f2d13a 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x >>> y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A4_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A4_T1.js
  * @description ShiftExpression = 2^n, n = 0...15
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T2.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T2.js
index 62e5b574ddc6ac9c5eb80a9858746e559a374a13..641360776477c3d0c972bef1077ee38336c0c651 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T2.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x >>> y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A4_T2.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A4_T2.js
  * @description ShiftExpression = 2^n - 1, n = 16...31
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T3.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T3.js
index ba29af29253bd34750699e9080c7923d43851dd4..05cf9e7a23397e3f915d6c1a19385ad87a12face 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T3.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x >>> y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A4_T3.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A4_T3.js
  * @description ShiftExpression = 2^n - 1, n = 0...15
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T4.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T4.js
index 26f9b4f246e0277f89d375bf6859eec30c6e23d5..b8af33ec24b69da5d6a2bb38dcfc840c27735814 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T4.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Check operator x >>> y in distinct points
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A4_T4.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A4_T4.js
  * @description ShiftExpression = 2^n - 1, n = 16...31
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js
index fdf1bcfc0b6e21660579a2f87b66ced5fd661053..a12bccd074ccf6383cc9b5e18be3dc1f8df2ff21 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y uses ToUint32(ShiftExpression)
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A5.1_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js
  * @description Checking boundary points
  */
 
diff --git a/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js b/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js
index 0f4a28fdf251ae4b4dac39f98b68e741baed3f0d..84abb361646943f8aecfc425d63fcae5d543dfe1 100644
--- a/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js
+++ b/test/suite/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >>> y uses ToUint32(AdditiveExpression) & 31
  *
- * @path 11_Expressions/11.7_Bitwise_Shift_Operators/11.7.3_The_Unsigned_Right_Shift_Operator/S11.7.3_A5.2_T1.js
+ * @path ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js
  * @description Checking distinct points
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A1.js
index 00c57753087b8eddca6dff3ac745de2d0797a054..5203b734100bcec06144df0fe2582f8d4c64e095 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between RelationalExpression and "<" or between "<" and ShiftExpression are allowed
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js
index f5760c6020cf03dc10b9461d6f311ed66a18dd2d..4bcd448cb54be3b91670ebdbf2568c74d7ec6324 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x < y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.1_T1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js
index e2bc5e06886486138989624237f8808a89bb3370..591c7a7a50eb8b0820419bf2a386dd1c016e4bc5 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x < y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.1_T2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js
index c185b447b16e4d2f9ef07d587f30e75720b6e92d..b71cac52802cf31321403b76fa59306201750afc 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x < y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.1_T3.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js
index 763978bb9b724a299bbe7dd2570ec41034c55af2..8641cf4f214688cabeaebf11787a3cb6258e1443 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x < y uses [[Default Value]]
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.2_T1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js
index 4180b584662b9d4447b5faab3eb805e9f5bec1a5..9f7c478caa66474a09504596d08fcdc1ef45514d 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.3_T1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js
index 15e053550a3f33f694a663de67f503990e2e7905..7396404884c653c8c788a5603890b015d537403f 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.4_T1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js
index 8d46b62c080215a54eafdf0d10973dee7db7d2c0..acd8c1274c29ef0ef705477a81518402056c09a2 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.4_T2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js
index 99192e54dcd1b71fd83400732a9b9c7a3eafb89c..657ef95f22d6e226e2c952256f31438007055185 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A2.4_T3.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js
index 891813ce39a21a0b9d0ed9ea6454fbaa4defce7e..0d01c8f9f98719c794674798f4e7dff5486e6bf4 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T1.1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js
index 9705581cbc02a91100e2edd4a3005929f6417758..afec980fdae47b60c4ca2f1c1a2c1a0d626b7304 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T1.2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js
index 2344940117cff1fa6e92dc28bbe02c8a1c12df85..7964cd27d3e67a83eb1f2e4e19a24bf11b9a8d64 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T1.3.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js
index 1481ffa31316c843ba493e6cdb57ee390913d79f..acbeb65db43d5f0102757f06d35aa63e9799b170 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types are Number (primitive or object) or Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js
index d5680049e548841bd36c9ff9db903b0387d772e7..e67f1c50ad5708764d8df4c5d4638fa29c64e37e 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js
index 51d8404a822af93a8dba3bec1c2bf1d6ce537696..32d4fa5fa8202c95e92efc8139310c528447df09 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.3.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js
index cc4a06bc74a84b4e9133a55dc4292d2b98d04e04..19ce587cb2ee348d665982b00e5c9fab74c2202f 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.4.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js
index 27561c654fd8f90598c3d91d5e3de91d2c572512..2ec157c8585753767bbaf9dd2413fd89ea60780f 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.5.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js
index 0331e00d70923c89d8cd2c25c043f233e14c5743..de4ef0016f5b7df32851febcedef118a8ce436b3 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.6.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js
index 633bc8020da9102cb3d7a05afb8de1f10665999a..97e9c8fdde7ac8619665f25c1eed23f7a4240782 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.7.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js
index 9ac825497c595199a4a7566fd0354997ba042ec5..dcd5dfef8435fd14de865a3f30fe92fee5f86b0f 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.8.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js
index 09400c168b1cd0e9acbc7e72680eb2f4ce7e5b59..3e47b7d0787baca0a6d040c81f60936881d7db76 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.1_T2.9.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js
index 1c8cf946c8aa5165aa3de7fa79c4753067ee0552..9e1cb7811667da125a46757c8154e704a59a4d9c 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.2_T1.1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js
index b773a9b7ca5171dbe3c696a66a6e93c2708d273a..47068903b3ad3d3fd0e3b0d0fa1ff8b9d71b9076 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A3.2_T1.2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.1.js
index 1440a2500fa5de2858b6380cbf59348d935bd9f4..5dee6e657e30069df0d1ca5853f4991cb18d0507 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.1.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.10.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.10.js
index e2c8ae00762cac1661c0205f949ee22dc92cf10c..2caacdc42bb18bbfe07c9e1becfc69e8fccf1500 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.10.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.10.js
@@ -4,7 +4,7 @@
 /**
  * If y is a prefix of x, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.10.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.10.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.11.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.11.js
index 6afa46e37c63ea9429d01c33fdcbe228b17875da..2c87da03006b1636ec1dfff014aa14e00d1dd0d6 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.11.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.11.js
@@ -4,7 +4,7 @@
 /**
  * If x is a prefix of y and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.11.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.11.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js
index e358e8a58b699d5c57b5148c225cec7909b0ed74..b8f0eb78d407818f2805e81b725b5cc816d317be 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.12_T1.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js
index 5ceb9585d7cac3ef397829f4caf76a2fbb6b528a..0b0e2d5fbb8cb859e4763ac9c9b908f545efc94e 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.12_T2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.2.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.2.js
index e68948261bee41b8d9417eb3b949b2fdc5e990bf..2ab4adeb440438ea8124f04e1ebb027a76065f38 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.2.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If y is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.2.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.2.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.3.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.3.js
index 860e5b9fc7ddad4f0b21baad8af3151579f9749c..1fa8a49887a7dda4fa251439caabd2f0d7f626c4 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.3.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * If x and y are the same number value, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.3.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.3.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.4.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.4.js
index 2735ef7396f3d7835731d5a12fbd30bcfa6c3578..d04541e42fe9e70575815dc30a1e76149a9353e9 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.4.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * If x and y are +0 and -0, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.4.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.4.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.5.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.5.js
index 543dd57ed52ab4d516cd2a65ab7d15f33ab2563a..d874e0fde7328c85411db92d65041e5db113e12d 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.5.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.5.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.5.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.6.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.6.js
index d58e3bd902cff5e44b01c4c561d119624403add4..2dce0a45a29c0aef92d8e2cd458cd6152994dee9 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.6.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * If y is +Infinity and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.6.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.6.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.7.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.7.js
index da302f14d694ae4c9740b6662dfc998307361c53..a54ec57be8075274f78cc6cd429cdfec61f4df08 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.7.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.7.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.7.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.8.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.8.js
index c2fc50547b1e128a4e0e318cbff347799378934d..ac5202d5abc7f1dc191a92d85de0ad9ea7c2508f 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.8.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.8.js
@@ -4,7 +4,7 @@
 /**
  * If y is -Infinity, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.8.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.8.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.9.js b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.9.js
index 2784a913c6c1e8d5efa8f7dfc86df437527c392a..32839492cbe719f90ab4c6260d5e6c6c8d225802 100644
--- a/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.9.js
+++ b/test/suite/ch11/11.8/11.8.1/S11.8.1_A4.9.js
@@ -4,7 +4,7 @@
 /**
  * If x is less than y and these values are both finite non-zero, return true; otherwise, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.1_The_Less_than_Operator/S11.8.1_A4.9.js
+ * @path ch11/11.8/11.8.1/S11.8.1_A4.9.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A1.js
index 2078f484d6acca95aea006da806a57ccd749a7be..e2d072282b5750b72363bc35c22f68da44c95e39 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between RelationalExpression and ">" or ">" and ShiftExpression are allowed
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js
index 2cbeef4967b73915e2ee5d5c302b09c8cbeeee80..9ae91af51483950293a70c796153d0f6cb0ec08d 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x > y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.1_T1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js
index 346774689f46b98f8df6e60906266f6b0555d9a3..c6c0a2c7167b618b61b0a9326fbf2f9fff568d4f 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x > y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.1_T2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js
index 517dcd086042c1e238f36dee0e9c39ebf6806dd9..bf7dfc5e780619f63c42b0358fe28bda27fbcba3 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x > y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.1_T3.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js
index dc2a1b67c27b5d14bf1ae59925ba3228670b3d09..e8d7595ba298b6f7bb4a44f7eb2add64298d8901 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x > y uses [[Default Value]]
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.2_T1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js
index 46d1c9f7c12fbe0d2e4e4c49a1dd87745162c6c1..ab2e5a0e5439c1de21a1e37f2baab37fbb8ed81e 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * In ES5, First expression should be evaluated first.
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.3_T1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js
  * @description Checking that operands of a "<" evaluate left-to-right
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js
index f7fb33d9acce44e108d8aae6f4d3e654caac679a..ac5f1b5401e98b90f565775b357ffca37a1b67e0 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.4_T1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js
index 7587f87d3a2e6e810c0cc8bd62ce6549d135d94f..274f117cba340e5c7761266bc47bd43957fbd54c 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.4_T2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js
index fe136563460c41eeb6e0bde111af74c146df7ee2..d3228fdce1efe1a9ac89e9b49043c756f6c83a43 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A2.4_T3.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js
index a1e5cb0d01a1f0251762f0c356c9bd6a68c27fc8..4f69c859ea17ffe2f3a93145b78bdc1371992ca4 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T1.1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js
index 025883a948d2ac139cb0d7ec3f2904a171aa9d39..2a076c6c648131fdcd4c19f8572c7c4fa3c063f0 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T1.2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js
index 928faec41b6d075320dff63a5e3fad90fac7ebd7..5972663494117bf820cce1bba38821e7a68f5685 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T1.3.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js
index a2caf394907d6b61efce5dc10c990a738df2c5b9..81ba8340040e44c60a17d9d0e8bded38430e1b59 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js
index da9f63a6db671b20c42c40e71ba517909f1e6bac..4d6f8fc81b6d47f7b5fde66cf6ce2661e1ca5cf7 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js
index 8ca586e01aefb685fd9b18187b18a71264c678e1..63ec06aac3681dd3e42d10aa6744647a73c1e62d 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.3.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js
index fa381d1e5d0eddfb8fa14e4bd3c32d7063805c83..d98572cc56312c90f3694c5bf26f2b1cd0a2c2c7 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.4.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js
index b3a76f24b7fdc517ac5e4b19e54f8fd9ab2406a2..b739bd4dc307177879748d3c8493691896189832 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.5.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js
index e6be0e2b054b83dfe2b4444471ed6a769a1b1ec0..839884f8343560859ab8e174a6a4ef00572f7ba3 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.6.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js
index cfbed7674271cbd294c14a5e20515f5a4ce59084..5b44d0a70d310f2e8c52b4ba8bdbbdb11d7cb3cd 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.7.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js
index dadb94972e9ea633e5adad32d5de50d74f0a1fef..3a3c48e7a82b7a60769c753db8513a21adc22c2e 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.8.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js
index 3363446fd59311af38b177669646f9d92ebb2680..32c04b23a57598eb625c1f34109b1b43ac2a3786 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.1_T2.9.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js
index 3b3b771eca49578dd717f3d3779b6f341b6ed81c..fb0bcb0168eafae438a83c0b0129e5e05828babc 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.2_T1.1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js
index 48d4a834ae791ddf0f9a1370dddac63ac7ecce9d..cf6e2889b41cd855350c3a31d84fb3df33e367fa 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A3.2_T1.2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.1.js
index 892cc641764018d7ee06ee5758d107359de13552..a36cb0b920e4923fb4562bae2a3e74e27604c209 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.1.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.10.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.10.js
index 76f163c2530738b7b92325b164cc9edc6f8f9418..eef094d974a986a2257a3f4433c4ca88fc4ba4b8 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.10.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.10.js
@@ -4,7 +4,7 @@
 /**
  * If x is a prefix of y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.10.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.10.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.11.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.11.js
index 7f2a3db877a34c94a785cdeb809684929796c63f..76da4cc14bdcce61c0755deedfa8180c4672abb2 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.11.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.11.js
@@ -4,7 +4,7 @@
 /**
  * If y is a prefix of x and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.11.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.11.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js
index 26a011f587d40d5642eb82f7b865b8c8e9a556ad..4bd4fb2ab4d6a568b73bd09ab88738ff4da85ab6 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.12_T1.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js
index 72910b0aa94a81cb5716565b4cd33ad58b0f3143..ab16d98cb71c39a5c590c4e00bd645ff5491b06d 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.12_T2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.2.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.2.js
index d1cb70aca2eafea8a872aaa7991650ebea994132..1e81c52fe44736335435bb29453c9f40528d7dc6 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.2.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If y is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.2.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.2.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.3.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.3.js
index f2185df68d1703c46bed50c67099a6c6b81e46f7..8890a00e1abf963da1fc3ae4d58c95997aff49b7 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.3.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * If x and y are the same number value, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.3.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.3.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.4.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.4.js
index d8856cd1c4a5de4505d4b30b0dd6ffe5d5c1f195..70a5440ca6e15a33d83870ee5bdcf310898d663e 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.4.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * If either variable x or y is +0 and the other is -0, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.4.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.4.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.5.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.5.js
index a85fb574cee2ceb14553626a12618e06026dbe29..79d3bde313a5f5dc3c6c191e9799f5760aee206c 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.5.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.5.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.5.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.6.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.6.js
index 9965f8479b1a3762e4f6bebd66bc9b6ec167bd89..aa96e699d410dea77395091aeb679f76801cc7bd 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.6.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * If y is +Infinity, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.6.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.6.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.7.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.7.js
index d65e55ac74c273c17d488df5441593559ee0efb7..bc06818cc9d23102d8da72950bfe224a2ec14b1e 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.7.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.7.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.7.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.8.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.8.js
index a06183c97dbf864c0adac86b7820412c1987c411..3a31561146bd04c61300d5bc1c7e0b31062dd03f 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.8.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.8.js
@@ -4,7 +4,7 @@
 /**
  * If y is -Infinity and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.8.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.8.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.9.js b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.9.js
index ee4a94d7856af16103350e7fd3514fdac567b515..a312553683cd99bd61911da73e285caf4b70dbde 100644
--- a/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.9.js
+++ b/test/suite/ch11/11.8/11.8.2/S11.8.2_A4.9.js
@@ -4,7 +4,7 @@
 /**
  * If is x greater than y and these values are both finite non-zero, return true; otherwise, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.2_The_Greater_than_Operator/S11.8.2_A4.9.js
+ * @path ch11/11.8/11.8.2/S11.8.2_A4.9.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A1.js
index 83215e8e69d610945c9f2c0b41b083f46f501d22..905571139277f79f157c50082bd21eacae8fea41 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between RelationalExpression and "<=" or between "<=" and ShiftExpression are allowed
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js
index 13a4d64fc36b64a6ba0d91c65393baa3cc1183eb..ddf5cde6dd2321b355f61d42b4b622ca5035dddc 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.1_T1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js
index 1c3705ade94261ed853275db5a85f7bc4867f0b5..b767e2d95fb5604fc26504af109fdc1cf60d6ef2 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.1_T2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js
index e523778e923332b84aa0d0b3c0ae9174d123aaa6..d2a4df17bab9dd94e8477baeec1abbaa8a89b987 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.1_T3.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js
index 00e4169fb5858e5595800a91b005637de2d42ea3..fbc706a2fd561ab9497be0433ef6fc5019a87987 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y uses [[Default Value]]
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.2_T1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js
index 96973a7303446175ffea920f35a8e6312393f9f1..14ea37cc614bd94a72e55458940b0bf77cc34fcc 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * In ES5, First expression should be evaluated first.
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.3_T1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js
  * @description Checking that operands of a "<=" evaluate left-to-right
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js
index 0375eba842afb4da4eccf23149cd7a016d934f8f..81e29c5314da5c29f702cfdd9261659cbc434a96 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.4_T1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js
index 5c73d69ddc9c36be4c244e791ee3889b6709613c..2cbb846ff8c71af306f9fa45f82069282c143a14 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.4_T2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js
index 4ba6ceb26d61afbb3a2a466f597f5b091f07ebb5..e53f08142238c9d75c29af8bdbc396ee8cecd2db 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A2.4_T3.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js
index bf668d7384d89f33e3b6dae69955dd619991b632..a6a6f9dda9dec28e2dc5442dce1132397d4bf178 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T1.1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js
index 162fce452fdf66850565fcac7867f50f4eadd44a..e4a93112a2ce6713fe595a75b0a147d7339d09bc 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T1.2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js
index 6f47802a73d1e6c043dfaf9496cc7b78900b57ee..c55bc154c2cceb3b5690056c603fe730ec7dfb1b 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T1.3.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js
index b621c1842f06f69f86a1807b729c703f2ab39708..2eb6f22829b7153bcbd9977d19f2b15e2b03ec94 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js
index 6f5cc91ad12e763a3c544dc74a68cc1f30adf9c2..7bbff24f5b27585334bc620fc3b98bdf5016ac82 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js
index 5fbd6b263603f4e0f888a15af86a39481cc2bb4a..a255c8b99149d0e2443789f053077e552324128b 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.3.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js
index 0d0fb70f52d24b87df0fa957c9ed52ded1950843..a124fb8d9531229b9ebef85bf08325c6af7a99ea 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.4.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js
index c88be0640d0ad5b1019e3bcb8e1c4f442a5e410a..39fa250a5b0c0d55c477da3bff33ebbd1d3d4827 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.5.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js
index edf468d84e71b9adae57e7db3a5c297e6822b5f5..321a4848e555a4bcd876a6d6be474925452437bd 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.6.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js
index 1f9c81d8330f73a580db1fceeae943ea8e097c06..02a69689e7540be6684c0ee1c640f22be9030eb6 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.7.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js
index 29168087f62e413db40d669a477cdcfa1a3a655c..580057063b92ba41c9fe8193b1fa3c69bfc21860 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.8.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js
index 7fa72e3cec39615b4b4d81efcc98d3f3d4deee97..ed70b36f2a88ac47a5655f0f0e585a1ef4c9cf4c 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.1_T2.9.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js
index a37528db0aac92b7eee2b66df77bcdac33709280..354384ea8fdab6bece4cf718b2e97b73c958a2f1 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.2_T1.1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js
index 5c458b0ea5095c6796ae52ba14463f1c81023748..93ff5e2e2484464e797bf4f6d73677c801e9ec17 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A3.2_T1.2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.1.js
index 2663b92b149b81e3f3b7edef442fd3780f83cb15..c94f02041f1406162d53797ce1147215e90d10c3 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.1.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.10.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.10.js
index b3f16ce4fcb9b683517316a1f4d5a2bd1515853b..4e2295c6d3486c54d5c555031bcb0e0215feb527 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.10.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.10.js
@@ -4,7 +4,7 @@
 /**
  * If y is a prefix of x and x !== y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.10.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.10.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.11.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.11.js
index aea9f6a9dcce2bfcc8e8cd011c9a24b1ba4b03ef..556a9eb89c1d2d665ef1d77e47a52b659c75d7b2 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.11.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.11.js
@@ -4,7 +4,7 @@
 /**
  * If x is a prefix of y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.11.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.11.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js
index 79aa38fb0a5206aa7961b4ea6871d4217260512a..cb1228e57fea59de8944132c0e9419e0756a925e 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.12_T1.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js
index 38324cc1a5811dc6480c483fe404bd7a24bd4bbf..459d73ed1bdf0f18e641ffbdb50eb0889c5e7462 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.12_T2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.2.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.2.js
index c44126a677869d352552446d391fcd863dd4b17e..dd195d8098cb3706dd99516ad40a55c3278bedaa 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.2.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If y is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.2.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.2.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.3.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.3.js
index 1fa7d97e1fb3832a4d8757b6a45588562e79db43..3c462cfdd895ec9ea49efd9f9b2ecec1dc6f2b7b 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.3.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * If x and y are the same number value, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.3.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.3.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.4.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.4.js
index 2d5c372659d8f7ab754bfbb7be671c0ee499f6ab..4669cde36ccad5396e8ae0a6b8ad359811517483 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.4.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * If either x or y is +0 and the other is -0, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.4.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.4.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.5.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.5.js
index f664d125513288b30e94a341322fa3add8138f6a..ff3ab3a8509e0ebc6441688a2898185390bb1ae0 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.5.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity and x !== y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.5.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.5.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.6.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.6.js
index 6d318616087231e284eae906a472527fa4504d2c..1aa11f973182441df1e3ddc010508b76ffffd656 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.6.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * If y is +Infinity and x !== y, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.6.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.6.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.7.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.7.js
index ced6fd3248eb75037b69cbad1ee384a3c276bb63..8abd94de418eba80c737fab63a53dfdd812be123 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.7.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.7.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.7.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.8.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.8.js
index ab198e54bc8d53502562290299f39efa4353bbb1..c126d0795963e1d0598f4a54775106fc3558ac31 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.8.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.8.js
@@ -4,7 +4,7 @@
 /**
  * If y is -Infinity and x !== y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.8.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.8.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.9.js b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.9.js
index af6038c0626a1bad74bbdff7a58acef6419c32b8..fa0d9302ca171b0c8598355fd51bd19beb4665ae 100644
--- a/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.9.js
+++ b/test/suite/ch11/11.8/11.8.3/S11.8.3_A4.9.js
@@ -4,7 +4,7 @@
 /**
  * If x is less or equal than y and these values are both finite non-zero, return true; otherwise, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.3_The_Less_than_or_equal_Operator/S11.8.3_A4.9.js
+ * @path ch11/11.8/11.8.3/S11.8.3_A4.9.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A1.js
index b3714724ee0cf531fd8df6b5a43a7d04b9d799c6..2a165a211c169f81310a95db90c0b1bab46be99e 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between RelationalExpression and "=>" or "=>" and ShiftExpression are allowed
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js
index 532e932e9e6842cef826a04c55613b87bc3f5dd8..8f3adb3096cca1f4ac7aab8c9785a3bedcbd7c8d 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >= y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.1_T1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js
index 7259b174a09f7c375261fc6b08d5d81597cf159a..8a57a24e35f4964f0a590b86cecb5329bdde3bf0 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >= y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.1_T2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js
index d8bfca9dcbbbd89f894c14101d5e18d831428b28..23c2ea604b80cc30f04b0a0a4a1b63e837a762ae 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >= y uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.1_T3.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js
index 86387367b544dbb11280fd0fc1f41cbd1f90cfb1..f129ea315e33b9b85375ea93c6830bba968c9b04 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >= y uses [[Default Value]]
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.2_T1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js
index 81e5ebca2112e0db3432fd140619f92e8f2d8cb1..dd286dd03f56f98560c087d6b302a088b771a491 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * ToNumber(first expression) is called first, and then ToNumber(second expression)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.3_T1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js
index b7ec936200249805794fc3759c9ff38245d33cf8..8e3f2b0c79aaf668ac9a90066e2a793a15fd0a2e 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.4_T1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js
index 5010173d40ba8d998205d4d70d79ec46b70f2f92..f7c0446dd50021a486c1aa2ef198eb1820564074 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.4_T2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js
index 98f0fcee23cfb1747baf051160042984dd39bdf9..54efe21ac37b02c52f1b20bb9608aded9fe156e2 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A2.4_T3.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js
index 431a14728aaa57ce260e26abb538068338696f61..d924630914ff4ca51d2a3fc850faeb354a9fae8f 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T1.1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js
index a6c3c97af1b05a0640c8ae19826e50d063e6ba6a..255124d7d04dce08c01c9a04bb00ed46c69e2f25 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T1.2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js
index d6aca6b2d4a78cf48d59798e3c139460d67167e1..ffe39372e1e627dfbf64e1b1c63f94faa9cf7ab9 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T1.3.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js
index ce68493fa6345896fa49e96e11c242bf5204fbc4..c1f367aaefe9bcbcb903e12c9b64b35d9ead79fd 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js
index 6989a150fdd835aaa93826bf1b54a74f3da6ed0c..3e4bca79bc82e9b350617d644f8fadee804eba64 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js
index 5b940361e0dbf39710bb9087f41cc7e61fa108bb..4d0c6b6a9827ad8bfd02916d7a139b6dc8591199 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.3.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js
index 6fbeda5d61efe98bac538cacae2e6af62d56cd41..f94a78e5a7314adb4573004321f9808c0f1c6fc7 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.4.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js
index 578c7816170798fc723ae5460d2a2cca97d590e5..5f949872e70bf602ebb88525e11e86b17186c005 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.5.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js
index c1dddbfae930affd7c4a54ef108b8d8b911124c4..ff2ab1820c2fe11565bfb6b0f843ed1f782a1f0d 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.6.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js
index a8561d9c552174a5803252fbf1b3b6058df37a36..10745f98afd4be5b6f243e20b69058c4d4d9d3e4 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.7.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js
index 528063b09d70d54e1989214adfa2c96de04329d2..c45874ca89f8d982db2ceb8a4106088ac454ebb0 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.8.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js
index ec7316092c79c7b0b8cbd9502d0c2d60662c5ed1..8046d5a597f38e37907794358b5ab29bfbf024ce 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js
@@ -4,7 +4,7 @@
 /**
  * If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.1_T2.9.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js
  * @description Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js
index 9b876539d80c196f6bf35d335b0a1731c72ecf12..d166d3f9b5110b6be75fd0e31bc1326872fe339b 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.2_T1.1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js
index 2b98cdf031c924c20cf5b4368870809d1ebb3ab4..7a981028c0106c0f2d1f4734e4902ae2f7a9f063 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A3.2_T1.2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js
  * @description Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.1.js
index 052d67618d5f708cf97f5b58103ab06b458fee6d..601f23715658048fd7174dba207c07cf889c30a9 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.1.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.10.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.10.js
index 316a1c8f76de117ed3666a93405b1d518e4ae71d..caaf1fa86a415097e267c9bbfa9dea47442b95f2 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.10.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.10.js
@@ -4,7 +4,7 @@
 /**
  * If x is a prefix of y and x !== y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.10.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.10.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.11.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.11.js
index f7c3b9b64fe573fa5a0a51cd327648cee97fc829..98b792a6dc5276a1bf05a6b8c8a64d37b3858080 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.11.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.11.js
@@ -4,7 +4,7 @@
 /**
  * If y is a prefix of x, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.11.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.11.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js
index 0826e9195ece9f179bce8e1c9585738d320b97a2..961dc236f2a2bf1ff2688e022796c44b5c4ed3f4 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.12_T1.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js
index 3d9d4c41121c4e152335a848f1321f176fc9faed..851e69d49d2402714ff7b5684ce860e0f37a9f15 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js
@@ -4,7 +4,7 @@
 /**
  * If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.12_T2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js
  * @description x and y are string primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.2.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.2.js
index 912a9412a5e778e996bbcc39a2008d4878154a43..a10b2ab4e39caf7e9cf5a1532cea8673dedaed68 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.2.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If y is NaN, return false (if result in 11.8.5 is undefined, return false)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.2.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.2.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.3.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.3.js
index 2e8c6ecaaa79b07aac2a5b17adc6c3fa5b86536e..4169a91bb121ecba210caf8cc35791fcf18b058f 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.3.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * If x and y are the same number value, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.3.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.3.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.4.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.4.js
index 2145e34fa199f19a1627b77c4b68bc8b60457675..3abe7fa770fb2ecaf6ec1bc134537b639de8c501 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.4.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * If either x or y is +0 and the other is -0, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.4.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.4.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.5.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.5.js
index 20f8a06eda833121eec690ee7a444090e3b7627e..e0357fee2f6facd4412c96f8e1095ae423459cbd 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.5.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.5.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.5.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.6.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.6.js
index 66e6d2264b5f76219591f02dbaf21eab6630c9fb..b1f898a14caa3a475b3e2cbfa2f387e0d7924c7f 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.6.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * If y is +Infinity and x !== y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.6.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.6.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.7.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.7.js
index 2c0dbde82f4293a9ee8f54e44a8e197378385cc7..6a423b83460e901ab053d5d96919dc4fb32e9228 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.7.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity and x !== y, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.7.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.7.js
  * @description y is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.8.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.8.js
index 48055beb6622870de9b5d872b54071a3883577af..ce00360b3960ca86b845131ed7997e96be9f8197 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.8.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.8.js
@@ -4,7 +4,7 @@
 /**
  * If y is -Infinity, return true
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.8.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.8.js
  * @description x is number primitive
  */
 
diff --git a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.9.js b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.9.js
index 82b6512ab9f87e3eacdad2fe120eadb55398a820..116d934ef259b161a88f79c9469c6add5ca59b5e 100644
--- a/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.9.js
+++ b/test/suite/ch11/11.8/11.8.4/S11.8.4_A4.9.js
@@ -4,7 +4,7 @@
 /**
  * If x is greater or equal than y and these values are both finite non-zero, return true; otherwise, return false
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.4_The_Grater_than_or_equal_Operator/S11.8.4_A4.9.js
+ * @path ch11/11.8/11.8.4/S11.8.4_A4.9.js
  * @description x and y are number primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A1.js
index d0d04ffd6eb92f47bbce8b61c5f4c9c097f5dab4..282b9fda4e57e9133f8b7ee718903f94e7fb2d5c 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between RelationalExpression and "instanceof" and between "instanceof" and ShiftExpression are allowed
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js
index 969c1f0954c8445b88ce51b4d17acb5e06e81715..e7a31658cfd9470c4bd38625f98aac32b2fbe2d9 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator "instanceof" uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A2.1_T1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js
  * @description Either Expression is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js
index 980e4094bbb75b8a516b3d2891489da24557334d..9477b0b5d9a4366d2b9b417adcd5c92ac2618073 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator "instanceof" uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A2.1_T2.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js
  * @description If GetBase(RelationalExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js
index 16cf9133b189b89682896be1b339213477578b65..bb0a094ce8bffa4eed6df4b3a5fc5a8d37cb4e02 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator "instanceof" uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A2.1_T3.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js
  * @description If GetBase(ShiftExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js
index 6eda6e2a7bf2e44281b31e981937513fdc7e3d6c..957c99b3ba5d32bc5365f05644f6d9101090601b 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A2.4_T1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js
index edbc8d32adf7984a79775e6c5cc157abde89742a..5f87c434272a8e1270cc2c967ff75cce43b404e7 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A2.4_T2.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js
index 909ee441f1376b0d6a07821204cb292ed1adf626..06ef160739e5b340381c81af306bb887cb928ee9 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A2.4_T3.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A3.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A3.js
index e3d659e049e4ffdaba41aec0b1360def72d14519..da3d7e5dc0d9a5f5b20130b8ef4ebd0e25e767a1 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A3.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A3.js
@@ -4,7 +4,7 @@
 /**
  * If ShiftExpression is not an object, throw TypeError
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A3.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A3.js
  * @description Checking all the types of primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T1.js
index a9191ff199b2ab8624e84a5e5fe124b65fd636df..0f9d2319dbd77262e88e96cff6b67e95d836366e 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Only constructor call (with "new" keyword) makes instance
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A4_T1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A4_T1.js
  * @description Checking Boolean case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T2.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T2.js
index 6168754a896e2d2564f945ca124e52db15bf4990..a4f1f3c02d55ab07f008d4127b645918d61f878f 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T2.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Only constructor call (with "new" keyword) makes instance
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A4_T2.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A4_T2.js
  * @description Checking Number case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T3.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T3.js
index dca7972bf0d4ae6726bb5d1e53542df4a69f7ca7..c8220049c2280c90690d16af26442ef7be3e833d 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T3.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Only constructor call (with "new" keyword) makes instance
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A4_T3.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A4_T3.js
  * @description Checking String case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T1.js
index f4562c35e5641879d027f057f4c808683b0bdd83..66d61034cf40852f8b8f448c7ac19303b6b6a471 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * TypeError is subclass of Error from instanceof operator point of view
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A5_T1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A5_T1.js
  * @description Checking Error case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T2.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T2.js
index ab4013f08bf1bd06499775f263ead2cac8ff98a4..340f09ff4d1671790ef8bde06c888c68df811ccc 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T2.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * TypeError is subclass of Error from instanceof operator point of view
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A5_T2.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A5_T2.js
  * @description Checking TypeError case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T1.js
index a238259cc2663e5406f115738362ddf978fc54c9..16e0d82b3f0e741a7d0dbfb6f4a275518caed7d9 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A6_T1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A6_T1.js
  * @description Checking "this" case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T2.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T2.js
index 6f0dd270a6812080ded013dba97d9c7c35436178..f25dbed82f2cdcd9e6b668bc81c8b02fea90f4a0 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T2.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A6_T2.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A6_T2.js
  * @description Checking Math case
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T3.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T3.js
index 3ec2a8807f10006521043c4414bd1f4619003338..24773ad97306f73a68ded80a8928aaefa047b0a5 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T3.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A6_T3.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A6_T3.js
  * @description Checking if RelationalExpression is function
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T4.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T4.js
index 15697bcbac2bd390ddca4d134e8a2403b829115a..68aa843e813bea3aef04a46fd10e4c2753b4ba8a 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T4.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A6_T4.js
@@ -4,7 +4,7 @@
 /**
  * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A6_T4.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A6_T4.js
  * @description Checking if RelationalExpression is object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T1.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T1.js
index dabb930e1457d86c7142e4e3ce4579b472fbb386..97944a5fdd940f55f5b4890041317fdda4049749 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T1.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * When "instanceof" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A7_T1.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A7_T1.js
  * @description Checking Object object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T2.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T2.js
index ba5f16a73750879ec51bc6b6be109d0657e7331c..c77c93c186dd544d171d489e3b747244a34797d9 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T2.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * When "instanceof" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A7_T2.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A7_T2.js
  * @description Checking Array object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T3.js b/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T3.js
index 81f9338fc030a380e6e16728cf72e051a0bc8073..8d476a8adc9126094c7c1c716b868ebeb345bfda 100644
--- a/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T3.js
+++ b/test/suite/ch11/11.8/11.8.6/S11.8.6_A7_T3.js
@@ -4,7 +4,7 @@
 /**
  * When "instanceof" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.6_The_instanceof_operator/S11.8.6_A7_T3.js
+ * @path ch11/11.8/11.8.6/S11.8.6_A7_T3.js
  * @description Checking Function object
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A1.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A1.js
index 8837ceebf4f1fd6b09bb7c42c14c00e0530cb3c9..93c67bfcc4da1238048d72572ab37f66e34b5c44 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A1.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between RelationalExpression and "in" and between "in" and ShiftExpression are allowed
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A1.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js
index 9d700a87b09379953de01e22fd3cc897d4b552cf..0e33a3d029a6d30bc22b629ec25557ac71c6a242 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator "in" uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A2.1_T1.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js
  * @description Either Expression is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js
index 0353ebf1e2e7847a1471c1b95913fcb7971a57a1..307b23b83871e21a36ff7c35f78f8c9c3dc02b7f 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator "in" uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A2.1_T2.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js
  * @description If GetBase(RelationalExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js
index 63c70151f89543e8db34478c4e1fadb6b763b263..89f69661a242d109ce15010d758f39904b5a0216 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator "in" uses GetValue
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A2.1_T3.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js
  * @description If GetBase(ShiftExpression) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js
index a543ff73cd207e6fa5b28749734b4f2f74c13b74..5403131aea5c6c6542656971be8b763940f48904 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A2.4_T1.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js
index 015ddafcaf341b249235cf342eedc9a7edea5f82..3016c2278708d4ba08f762a94984584ee1c5f3ed 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A2.4_T2.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js
index 48b4989f76ba4c4d88a38ad7ca457ae0a0383d68..22744621a088364c4072b5d1a90468c16c6b5401 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A2.4_T3.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A3.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A3.js
index f4191aea10132fd34449f9d314e624ce4ed15e01..56dc7319861eb65610b22b86ff82ba3629f6cec9 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A3.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A3.js
@@ -4,7 +4,7 @@
 /**
  * If ShiftExpression is not an object, throw TypeError
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A3.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A3.js
  * @description Checking all the types of primitives
  */
 
diff --git a/test/suite/ch11/11.8/11.8.7/S11.8.7_A4.js b/test/suite/ch11/11.8/11.8.7/S11.8.7_A4.js
index 8dc5658b9e24877b9f50bdcb91f1edbe5c3c94a6..fcb4a6b86c24bc9a1de1aa4c5ef90049c3bf66c8 100644
--- a/test/suite/ch11/11.8/11.8.7/S11.8.7_A4.js
+++ b/test/suite/ch11/11.8/11.8.7/S11.8.7_A4.js
@@ -4,7 +4,7 @@
 /**
  * Operator "in" calls ToString(ShiftExpression)
  *
- * @path 11_Expressions/11.8_Relational_Operators/11.8.7_The_in_operator/S11.8.7_A4.js
+ * @path ch11/11.8/11.8.7/S11.8.7_A4.js
  * @description Checking ToString coversion;
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A1.js
index bc4e5edb8575712507058484c63997c147035b6d..3f9904f4624e6eb3f61c030a2caf74b86478c078 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between EqualityExpression and "==" or between "==" and RelationalExpression are allowed
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js
index bea21abbc95417958e6964bbd133a0b3d2e71649..2d59985aea25f377e7b8bd3ae85dcef7a5af0dea 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x == y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A2.1_T1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js
index 1811f15fe33fac5e9da2e8d639882a7aff14b522..21994ea8b2f342fcf35a2595534f65e7bfcc7246 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x == y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A2.1_T2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js
index 0331abec0b89c734f08977f8a1d66cfa71d9f3f4..0f8b2c37890386ea8c51b721d84ce95479a0ee58 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x == y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A2.1_T3.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js
index 1a02b9b299219cabcad340e9d6ee680822b1a5ff..04d461dcb26c7a1b5761bbff95ba36b6ab237715 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A2.4_T1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js
index 52f886ec3ac06244f7b76727e764959e5680ad8e..fdfc3fc929e6565d18d61806d50e84e3334faa80 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A2.4_T2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js
index fb45f2312dce74415aa00f2dc62364d5816567c4..eecdc35aa5e5c793baea2013a076b3500e6f5101 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A2.4_T3.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.1.js
index 160917c96865723034d36ae776a0c99aa6204339..f54158976302866edd81f8308e91a473becb6133 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * Return true, if x and y are both true or both false; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A3.1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A3.1.js
  * @description x and y are boolean primitives
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.2.js
index 97a9ff8d8fce42111580aebb1f76380c90af2c8d..d64e869487275d8fc972edee3bd8740fd0a587e9 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.2.js
@@ -5,7 +5,7 @@
  * If Type(x) is Boolean and Type(y) is Number,
  * return the result of comparison ToNumber(x) == y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A3.2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A3.2.js
  * @description x is primitive boolean, y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.3.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.3.js
index af9a66b17a27b21b396cf1b02569e1e970ead11b..342c6f961cf2af0bcf44c8e159f04c1c09fe6738 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.3.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A3.3.js
@@ -5,7 +5,7 @@
  * If Type(y) is Number and Type(y) is Boolean,
  * return the result of comparison x == ToNumber(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A3.3.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A3.3.js
  * @description x is primitive number, y is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js
index 7ba25186b8d450d80b2f1b841ee9fd7cd6773b69..2e5b4738a78cd9d24acda9ccaa58c84d1fa9c8fb 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A4.1_T1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js
  * @description x is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js
index 7bf1de622851761a26f5cbd4338d986aaf005d09..8d3be41d2e2cb85e33ca1b65b63e70030c158d01 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A4.1_T2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js
  * @description y is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.2.js
index 8672bc7ba4aab90a1972b1f664fa9fc738f89afe..b7e26344dc5cf15dafd7427ca08326fa8285bbf5 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0(-0) and y is -0(+0), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A4.2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A4.2.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.3.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.3.js
index 89ca034ddb827cc9864e356c76360a67bff76fbe..b888b280cb0450145163408f0265532fa08cb104 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.3.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A4.3.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Number-s minus NaN, +0, -0.
  * Return true, if x is the same number value as y; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A4.3.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A4.3.js
  * @description x and y are primitive numbers
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.1.js
index abccd9544024a937396bf17a9347d15b50984e90..26ba2d50d03a792d5a8049ecdad647933a458e1b 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.1.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are String-s.
  * Return true, if x and y are exactly the same sequence of characters; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A5.1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A5.1.js
  * @description x and y are primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.2.js
index 100518dd79dd2c25cc095bbf3a018b66e4c2e5fb..a6464a519616b490262085353499168deed0356d 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.2.js
@@ -5,7 +5,7 @@
  * If Type(x) is Number and Type(y) is String,
  * return the result of comparison x == ToNumber(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A5.2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A5.2.js
  * @description x is primitive number, y is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.3.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.3.js
index 3dd9249edd1aadce01df7ea97fa85b043da0320a..7fb95cf74833174faf5f1f9de5a7e790de1e2a0b 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.3.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A5.3.js
@@ -5,7 +5,7 @@
  * If Type(x) is String and Type(y) is Number,
  * return the result of comparison ToNumber(x) == y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A5.3.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A5.3.js
  * @description x is primitive string, y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.1.js
index 64f2b6abe4163815f480887bfed38d3994d0272f..95e8b80d7dddf0524bcda4669d95b6c22dd41cd7 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) as well as Type(y) is undefined or null, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A6.1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A6.1.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js
index 884ffa0f0daecabe9aa3a2e879f71ef5b51579cb..4dcf84051972e4def74ba356134467982e5a179b 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If one expression is undefined or null and another is not, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A6.2_T1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js
  * @description x is null or undefined, y is not
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js
index 39f3a5a59d3567bdbb3e28853acf9b1cf67ba7f2..6f5f2ac70fcdbeb2a9e455168898e70ca612a449 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If one expression is undefined or null and another is not, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A6.2_T2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js
  * @description y is null or undefined, x is not
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.1.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.1.js
index d046830ff38e8890562010b7a2f40784683a600d..b2f0d23a7b976d8e2d500f2145fb620d57a2ece1 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.1.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.1.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Object-s.
  * Return true, if x and y are references to the same Object; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.1.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.1.js
  * @description Checking Boolean object, Number object, String object, Object object
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.2.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.2.js
index bdb50e2abe2f999cbabd4e8ed81faa9b9c2b1f5f..5704688aea17d9d456a88026e51970867782ebc0 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.2.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.2.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is Boolean,
  * return ToPrimitive(x) == y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.2.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.2.js
  * @description x is object, y is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.3.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.3.js
index 7437269626b3bb24c99ff227548dbba27070642c..c0c89cea084bcfeef4de8af9e87fdb7a5e285ba2 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.3.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.3.js
@@ -5,7 +5,7 @@
  * If Type(x) is Boolean and Type(y) is Object,
  * return x == ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.3.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.3.js
  * @description y is object, x is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.4.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.4.js
index 34efcf009c8cf850135c9035a60742aedbb9ddb1..65ce2df60321819e6eb8c0be1bbf6bb2ae7781fb 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.4.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.4.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is Number,
  * return ToPrimitive(x) == y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.4.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.4.js
  * @description x is object, y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.5.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.5.js
index 8c04d02ea85f84878a1cf0bc3536b62a52dae258..87cbe6eedc70aa2ef1987aeccb362325f7d1cd2e 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.5.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.5.js
@@ -5,7 +5,7 @@
  * If Type(x) is Number and Type(y) is Object,
  * return x == ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.5.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.5.js
  * @description y is object, x is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.6.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.6.js
index a16fc2dff8f86962e5b33fe738420c95e33e4ec7..986f66b90eb1c10805ee4743a62e62bac3091abd 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.6.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.6.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is String,
  * return ToPrimitive(x) == y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.6.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.6.js
  * @description x is object, y is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.7.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.7.js
index a69591bb452c8bf63b6a9d13abd72de42fab0488..4d8412d3022dd9b47085d08bc343e30116ef270f 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.7.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.7.js
@@ -5,7 +5,7 @@
  * If Type(x) is String and Type(y) is Object,
  * return x == ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.7.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.7.js
  * @description y is object, x is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.8.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.8.js
index af4b259f332f22fae378011e508be0db5c1709a0..9aa54434eeefafae8ff203f4fab2b3fc1a1d1a00 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.8.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.8.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is primitive type,
  * return ToPrimitive(x) == y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.8.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.8.js
  * @description x is object, y is primtitive
  */
 
diff --git a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.9.js b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.9.js
index d59521e0805de75e83010e776cfd805dbd269bed..ba4d0f38d04772ba32c54bd59a90f6e45c5a5bf9 100644
--- a/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.9.js
+++ b/test/suite/ch11/11.9/11.9.1/S11.9.1_A7.9.js
@@ -5,7 +5,7 @@
  * If Type(x) is primitive type and Type(y) is Object,
  * return x == ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.1_The_Equals_Operator/S11.9.1_A7.9.js
+ * @path ch11/11.9/11.9.1/S11.9.1_A7.9.js
  * @description y is object, x is primtitive
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A1.js
index 2577dbb2109b9a5f45f9ca29f760c2b2d0450603..5478e2d8cad98a795baeb49234ae91a73b126627 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between EqualityExpression and "!=" or between "!=" and RelationalExpression are allowed
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js
index f68056a858166bd238f0f18c212cd39ed556ef39..12b5bbe428ec84258f9f51327fb2208838de47ef 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x != y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A2.1_T1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js
index ab9640a576d41fe6c047f0eb7d79fabcb6aabe23..aaf6f6a8c7988f824b2cb7cfa359d7482a7d78da 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x != y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A2.1_T2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js
index 5a2b88a04b64fdf5d674c40a84a8356cd64578a2..f8e65a173e0cf30700aa438423056d83aa37b336 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x != y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A2.1_T3.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js
index ea223ed965715cbc179f7052120a453550debcc8..5cb029e4f660749168d7eee5a58288db46a0b303 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A2.4_T1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js
index e9eb2794bc1cf74a99ea9c9d957837e6b479bc6e..6570ee33b574862a21a6c168f4ff23c87d41b405 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A2.4_T2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js
index 4147fbda19156b4d39f99a36492907b76f198a4d..93cde317eb9fc7a1da7c64bf53c9aef49ae865c9 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A2.4_T3.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.1.js
index be7879f78686fcf97b85b2f1bedba4dc738eab0b..79921a295c43c8e365d36485750b1c251584120a 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * Return false, if x and y are both true or both false; otherwise, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A3.1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A3.1.js
  * @description x and y are boolean primitives
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.2.js
index da197f940c5203137368548a60009637fc1d5d71..ff0f9c83208227603a8a0b6f78063a10a5f19d87 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.2.js
@@ -5,7 +5,7 @@
  * If Type(x) is Boolean and Type(y) is Number,
  * return the result of comparison ToNumber(x) != y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A3.2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A3.2.js
  * @description x is primitive boolean, y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.3.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.3.js
index e5540ef06b05dc25e3d425d835c1b13a546818bf..b32bf7fbd4c96a71e81f5d59570be8d0cb5ce7a4 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.3.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A3.3.js
@@ -5,7 +5,7 @@
  * If Type(y) is Number and Type(y) is Boolean,
  * return the result of comparison x != ToNumber(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A3.3.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A3.3.js
  * @description x is primitive number, y is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js
index b6454723c0ce1bf07f44d6465a69a9f1c6bd055f..98b9d074b439d5cc51b05e307d79c3b169b4dc6e 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A4.1_T1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js
  * @description x is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js
index 853308490fb9ee3200084c76ab4ca14941293bbf..471bcb6f60e0c73f5421930ebcf0dc3e4e96106b 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A4.1_T2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js
  * @description y is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.2.js
index 8e2648692d0029eef9ec9564994f3db646797e63..b8045a6a064eb151b428fbaad3b80de5107d69f3 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0(-0) and y is -0(+0), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A4.2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A4.2.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.3.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.3.js
index b81ab3c4fb88a3703fb9f101589c48d87e6d0bb4..21cc16ee19de91cdd4150036e63874f2080c1c3a 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.3.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A4.3.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Number-s minus NaN, +0, -0.
  * Return false, if x is the same number value as y; otherwise, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A4.3.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A4.3.js
  * @description x and y are primitive numbers
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.1.js
index 0f027b3d7373c36182d81756517adc7bc36e60f1..9476d907aa36903b3c66cb6da167a06253a3663a 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.1.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are String-s.
  * Return true, if x and y are exactly the same sequence of characters; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A5.1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A5.1.js
  * @description x and y are primitive strings
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.2.js
index 8955170bef2764423e9e085df536e0f0fd3b0a0d..f63ffc17d5d7403c87cac39c82b2df49894e6414 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.2.js
@@ -5,7 +5,7 @@
  * If Type(x) is Number and Type(y) is String,
  * return the result of comparison x != ToNumber(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A5.2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A5.2.js
  * @description x is primitive number, y is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.3.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.3.js
index ea5e65a7f10f5a54d3d78faee28d40ac6e6fed9f..dedd18ce000bc26189f983925455deaa3221d1fc 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.3.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A5.3.js
@@ -5,7 +5,7 @@
  * If Type(x) is String and Type(y) is Number,
  * return the result of comparison ToNumber(x) != y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A5.3.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A5.3.js
  * @description x is primitive string, y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.1.js
index da0f821b8e5c6e1a6cbd6a278c2862cd32d8c74b..8d0cfcd35c4f6f7eb9b0a20e5f8b3b0fe65df838 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) as well as Type(y) is Undefined or Null, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A6.1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A6.1.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js
index 754d14071a645c46c21dc176a311be74ca152e70..e9a60e1248e04037af4d29298cd151c4d731e69f 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If one expression is undefined or null and another is not, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A6.2_T1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js
  * @description x is null or undefined, y is not
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js
index cdb83a3dad283e1fc590427300b5f0ef1d511dc8..05b592b48aabf598580868e396c6349b887d3a98 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If one expression is undefined or null and another is not, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A6.2_T2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js
  * @description y is null or undefined, x is not
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.1.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.1.js
index b8e5fa2fba4bfb12a47602c0649b65765ebce47c..66b468892d203a0b4a2160a6ca9d3f4f9681644d 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.1.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.1.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Object-s.
  * Return true, if x and y are references to the same Object; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.1.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.1.js
  * @description Checking Boolean object, Number object, String object, Object object
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.2.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.2.js
index 9ec11861e93c034a06840606260b4e9a228a54d5..44252a045df6ec801ea353aac80d9782c4ad24e3 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.2.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.2.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is Boolean,
  * return ToPrimitive(x) != y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.2.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.2.js
  * @description x is object, y is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.3.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.3.js
index 3655da9eec4755484b5f4ccbea0267776124552f..7bd33386ea6792e05a00bb6bb395e954d9064846 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.3.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.3.js
@@ -5,7 +5,7 @@
  * If Type(x) is Boolean and Type(y) is Object,
  * return x != ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.3.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.3.js
  * @description y is object, x is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.4.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.4.js
index 75b75a6ecf6e81b456e3097b8d99e936ad022c59..c13672d52bce794da27e721096676bb44dfd7d32 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.4.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.4.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is Number,
  * return ToPrimitive(x) != y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.4.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.4.js
  * @description x is object, y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.5.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.5.js
index 8f855a93109a0a5d82f31c61397fb1921d164c91..c6cfc4976aabd8811019ce3314858ca0bfdc5017 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.5.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.5.js
@@ -5,7 +5,7 @@
  * If Type(x) is Number and Type(y) is Object,
  * return x != ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.5.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.5.js
  * @description y is object, x is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.6.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.6.js
index 947e0c52faa7dd592ae5f8a531b435e4a07f543f..286b9d4d0d13e379387f3ca23ceaaa6028af0b0f 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.6.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.6.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is String,
  * return ToPrimitive(x) != y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.6.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.6.js
  * @description x is object, y is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.7.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.7.js
index dd2e1e062c8914e5fd365f27659b44d8834fdf82..cdc8161e07c88c84b99ae5126e230bcbeeb77870 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.7.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.7.js
@@ -5,7 +5,7 @@
  * If Type(x) is String and Type(y) is Object,
  * return x != ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.7.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.7.js
  * @description y is object, x is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.8.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.8.js
index 36fcae5615d92f49036c3ac6c49712f5515577a7..cf9766d79cab2bc1084e44bf81e9fdbcff5c6f0f 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.8.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.8.js
@@ -5,7 +5,7 @@
  * If Type(x) is Object and Type(y) is primitive type,
  * return ToPrimitive(x) != y
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.8.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.8.js
  * @description x is object, y is primtitive
  */
 
diff --git a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.9.js b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.9.js
index 62142c8cd4dbfa00082854d8f0a0543b51b690cd..c1ccc5f32a12aa7d9870b327f7536c5153574bab 100644
--- a/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.9.js
+++ b/test/suite/ch11/11.9/11.9.2/S11.9.2_A7.9.js
@@ -5,7 +5,7 @@
  * If Type(x) is primitive type and Type(y) is Object,
  * return x != ToPrimitive(y)
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.2_The_Does_not_equals_Operator/S11.9.2_A7.9.js
+ * @path ch11/11.9/11.9.2/S11.9.2_A7.9.js
  * @description y is object, x is primtitive
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A1.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A1.js
index 25df4a8ebb8152b77b8bcaa9792109c8efcf1fbd..410fe396263ba5dc8964aeb8309afb6fc5aac8ac 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A1.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between EqualityExpression and "===" or between "===" and RelationalExpression are allowed
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A1.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js
index fd9b53bf10754016ba1d0513630931f3a2476c87..b9a1958cb1c387035fa8847eb07864a7a9ccb859 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x === y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A2.1_T1.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js
index 3ad33911ad1ba8ca4e0e7d57a465c9797d6c6422..c0741ccd1998e95806c4141660e01b766faf6460 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x === y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A2.1_T2.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js
index dd3fb7a916c520552684911bf308357db1c3f179..dc50a2505c869b1d4faeed49b06aa076f49faa13 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x === y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A2.1_T3.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js
index 660c2831486ae99d25810d658a12390a33ed16c5..f24d933b01d984a5a3f138c4830ddc5f00f3891c 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A2.4_T1.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js
index b998a4dc023af916b9cc062cdc04c95d4bbc8c99..02fe1ba7ce4ace37def9f8dcf870185e25b3a5da 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A2.4_T2.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js
index 969b820757a3533f367e357fcb19d363c571a98e..5b9fa7a039c3ba1d2a693c0e8bda9ead66a58f78 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A2.4_T3.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js
  * @description Checking with undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A3.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A3.js
index b3a5ec30577ec897ba96897153441a7e3f0893eb..5fc2545d4cf7d015b338684215ea4888d3b88f9a 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A3.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A3.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Boolean-s.
  * Return true, if x and y are both true and both false; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A3.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A3.js
  * @description x and y are primitive booleans
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js
index 828f8800bde89ceee11a2f2ad4d045b0c4e9a158..b742929df5c22d72cd09fb5836637aa3315bfdbc 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A4.1_T1.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js
  * @description x is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js
index b0b29b5f74a69670db373b1acb6af66d7b25593e..3cd02a9fdec44ab57e669af45a8fa881ed93c539 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A4.1_T2.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js
  * @description y is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.2.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.2.js
index e6b6d98a8ad9672a597dcec6c4f50c3f430b3957..7de56ed7d8238e0ae56cdbed64881c4b466e202d 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.2.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0(-0) and y is -0(+0), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A4.2.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A4.2.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.3.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.3.js
index d2fc058e1e252967bd662eba4071e954b199af8e..e13bea441bf347904841745e067617414923c4df 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.3.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A4.3.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Number-s minus NaN, +0, -0.
  * Return true, if x is the same number value as y; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A4.3.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A4.3.js
  * @description x and y are primitive numbers
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A5.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A5.js
index d9f0512dd6c847de712ae733ce50f10bd7cf5e3a..f32d7c5ae341f4e26af9a0c8dc28198abd0fffa3 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A5.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A5.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are String-s.
  * Return true, if x and y are exactly the same sequence of characters; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A5.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A5.js
  * @description x and y are primitive strings
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.1.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.1.js
index 68ba7437743b57a17fa0f49221153f1180bade2c..b392d432a365d26c1cee9a33c4dff1aa8b259239 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.1.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) and Type(y) are Undefined-s, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A6.1.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A6.1.js
  * @description void 0, eval("var x") is undefined
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.2.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.2.js
index 0d89ce38dcc6efe82ff7837027fbd9edc428e0a4..82bdbea6fdfbe87c2200bdd569ffffa3f5f1bf1e 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.2.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A6.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) and Type(y) are Null-s, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A6.2.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A6.2.js
  * @description null === null
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A7.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A7.js
index c9794105f9b9ed88293a3e0bdbfeea918afb3243..0c27f3df51bbe9f81f174a307fd046aeb541e428 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A7.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A7.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Object-s.
  * Return true, if x and y are references to the same Object; otherwise, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A7.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A7.js
  * @description Checking Boolean object, Number object, String object, Object object
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T1.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T1.js
index 1e121bb046d758d01c921c344f0274797749f9de..ce51dddefe388553dfa7f582feda5a672ffa6091 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T1.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A8_T1.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A8_T1.js
  * @description x or y is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T2.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T2.js
index 736d2d6132768aa7c0d7535c2b229e865d70427b..c7bfa4d5bdf6ddf48d27d96457345fb07deef193 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T2.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A8_T2.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A8_T2.js
  * @description x or y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T3.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T3.js
index 9202d0287e1f55f3ccb68769f25e21fdc2cae87e..a448bbd70fb3c49a186848c7d14c8551cc97fcba 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T3.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A8_T3.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A8_T3.js
  * @description x or y is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T4.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T4.js
index e2df96278678f45967c379a6d5a2f8398db7bfc8..92aa846cac4ff41b74904c173f8b049ac4caccc9 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T4.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A8_T4.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A8_T4.js
  * @description x or y is null or undefined
  */
 
diff --git a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T5.js b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T5.js
index 0c3ff34e9413e00bdccc979857cc09fbfd9fd9b5..5e6bdb2fdc50941b796b7159daa50a460ab34d64 100644
--- a/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T5.js
+++ b/test/suite/ch11/11.9/11.9.4/S11.9.4_A8_T5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.4_The_Strict_Equals_Operator/S11.9.4_A8_T5.js
+ * @path ch11/11.9/11.9.4/S11.9.4_A8_T5.js
  * @description Checking with such x and y that either x or y is primitive string and the other is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A1.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A1.js
index 46fd0ec79692d2c9dc4f0e987d87513aad2ce3ce..c9e88dc0c3d346eaef4d7808b9170198f8a399bc 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A1.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * White Space and Line Terminator between EqualityExpression and "!==" or between "!==" and RelationalExpression are allowed
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A1.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js
index 0e00ce1b71647f1fe86af7aefa9ed810b00851fa..4e9c43c3bba7e94c8a1734b4bef0443fd76a47b0 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator x !== y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A2.1_T1.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js
  * @description Either Type is not Reference or GetBase is not null
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js
index 3cca3af63667dfd3eb075c4f4dd9742c0132a58a..52637ce50a505c3e2c9965124260d43c5262fbe6 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator x !== y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A2.1_T2.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js
  * @description If GetBase(x) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js
index 79eb85e5a2ace39a32b557d5b509f20e8781e494..e568cbe31317a8fe4a2b88b48a70841382f5832d 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator x !== y uses GetValue
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A2.1_T3.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js
  * @description If GetBase(y) is null, throw ReferenceError
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js
index 33506f34e72c50b59c11dbff51519cf4a4a75282..7ed77b44058743f111aa5ffafe24c06d8aae517e 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A2.4_T1.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js
  * @description Checking with "="
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js
index 19e2be0e20da76e8e3af940a4ff54c72e4bece39..b2872fcde67aed76afef81a8b5af5192542986ce 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A2.4_T2.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js
  * @description Checking with "throw"
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js
index 5fc102b1ffd394e2bc0248aeaa4212e0d16af6a7..d25f15e4d9d939554cd6995e35a3307f6d3af3ee 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js
@@ -4,7 +4,7 @@
 /**
  * First expression is evaluated first, and then second expression
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A2.4_T3.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js
  * @description Checking undeclarated variables
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A3.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A3.js
index 1a83c7f26304d948b3b464f18b768a7530f8390f..f13b4574d452d9041da109081ae40a7e604718cd 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A3.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A3.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Boolean-s.
  * Return false, if x and y are both true or both false; otherwise, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A3.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A3.js
  * @description x and y are primitive booleans
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js
index 7b77fef195c7f84efc0102bf4dcc998275a9820c..44548006bc8a06f49ee913b0d9565ca0b5977162 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A4.1_T1.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js
  * @description x is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js
index ab039ae498e6c436a19cf91f9e386e6809eed701..8503f0a41298f7d5e99bf1ae4c6b0cb256b8df0e 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If x or y is NaN, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A4.1_T2.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js
  * @description y is NaN
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.2.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.2.js
index 6e981a27180c5977a058a555555b2e62ddab06d5..1844bb10fc870593110ceaf0b8fe1795dd69c7c2 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.2.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0(-0) and y is -0(+0), return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A4.2.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A4.2.js
  * @description Checking all combinations
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.3.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.3.js
index 2eea73893eaf77fb3dca64a62b5304d5eaf81324..b5469c3b3b60aa0b70646554d946f208e5d30ba4 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.3.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A4.3.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Number-s minus NaN, +0, -0.
  * Return false, if x is the same number value as y; otherwise, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A4.3.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A4.3.js
  * @description x and y are primitive numbers
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A5.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A5.js
index b4b188c76f5b867d7ae32938c7c5221f4a5e1327..dabb86dbca9c2907620fa5cc0d40c1423ec0af92 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A5.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A5.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are String-s.
  * Return false, if x and y are exactly the same sequence of characters; otherwise, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A5.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A5.js
  * @description x and y are primitive strings
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.1.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.1.js
index 65cb46f48fae9130152abdd46f22dd41e85394a5..7e89a7b6d304b7b79fa8b282cabee3bb4a8d1ff3 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.1.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) and Type(y) are Undefined-s, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A6.1.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A6.1.js
  * @description void 0, eval("var x") is undefined
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.2.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.2.js
index 75c4a1e6f2d78cbf55681d5688f8e207feec228a..9657e153f9e16b8ac756737b82813a5770c74f6f 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.2.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A6.2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) and Type(y) are Null-s, return false
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A6.2.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A6.2.js
  * @description null === null
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A7.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A7.js
index f905fcf2668e0cbb729985fe8a6feecfbae2ea9d..1102b7a12e6ce7a235a12e79b0d09f6010d90483 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A7.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A7.js
@@ -5,7 +5,7 @@
  * Type(x) and Type(y) are Object-s.
  * Return false, if x and y are references to the same Object; otherwise, return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A7.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A7.js
  * @description Checking Boolean object, Number object, String object, Object object
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T1.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T1.js
index d53d9504d624296bc3775e181c57e0cd543be26c..8e342212eae1a15671b0fd8889cdd5faca36c04c 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T1.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A8_T1.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A8_T1.js
  * @description x or y is primitive boolean
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T2.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T2.js
index 8b70e1c6536fc3d64f24dc58bfea70094229bf41..780807c97dd7e650010cffcebf0ec53189de9e1c 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T2.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A8_T2.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A8_T2.js
  * @description x or y is primitive number
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T3.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T3.js
index 4b5613f22fa949ae0f6e796fe8679531156e2e0d..3206868db69a0158297ab2d7e4186476cfab3c9a 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T3.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A8_T3.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A8_T3.js
  * @description x or y is primitive string
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T4.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T4.js
index 7864feafc276d2129244a811f0276e59e16d4c25..004549142de260c5593b41615bf71853c0deea3c 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T4.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T4.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A8_T4.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A8_T4.js
  * @description x or y is null or undefined
  */
 
diff --git a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T5.js b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T5.js
index 4cf07948d4201ed7d2134e426ecbe35cea97394e..3f2c4a6276942c483fff0ff3cbcdf5af5e95b35e 100644
--- a/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T5.js
+++ b/test/suite/ch11/11.9/11.9.5/S11.9.5_A8_T5.js
@@ -4,7 +4,7 @@
 /**
  * If Type(x) is different from Type(y), return true
  *
- * @path 11_Expressions/11.9_Equality_Operators/11.9.5_The_Strict_Does_not_equals_Operator/S11.9.5_A8_T5.js
+ * @path ch11/11.9/11.9.5/S11.9.5_A8_T5.js
  * @description Checking such x and y that either x or y is primitive string and the other is primitive number
  */
 
diff --git a/test/suite/ch12/12.1/S12.1_A2.js b/test/suite/ch12/12.1/S12.1_A2.js
index 29c1d50ac716bfde6902b08eefc8ae410e8d6dce..eed2e89d40e0e64a0982af9ec77c07580474c476 100644
--- a/test/suite/ch12/12.1/S12.1_A2.js
+++ b/test/suite/ch12/12.1/S12.1_A2.js
@@ -6,7 +6,7 @@
  * 1. Evaluate Statement.
  * 2. If an exception was thrown, return (throw, V, empty) where V is the exception
  *
- * @path 12_Statement/12.1_Block/S12.1_A2.js
+ * @path ch12/12.1/S12.1_A2.js
  * @description Throwing exception within a Block
  */
 
diff --git a/test/suite/ch12/12.1/S12.1_A4_T1.js b/test/suite/ch12/12.1/S12.1_A4_T1.js
index f154f12a6768804b6b4b9a8793cca7dc30500af1..8acad6f1cf139e6fa66b8b90b2a371f0c06c32f7 100644
--- a/test/suite/ch12/12.1/S12.1_A4_T1.js
+++ b/test/suite/ch12/12.1/S12.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production Block can't be inside of expression
  *
- * @path 12_Statement/12.1_Block/S12.1_A4_T1.js
+ * @path ch12/12.1/S12.1_A4_T1.js
  * @description Checking if execution of "y={__func}()" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.1/S12.1_A4_T2.js b/test/suite/ch12/12.1/S12.1_A4_T2.js
index fe52e5bb859d71511ce952e7eef25d1785ff00fe..510d6f7b08852c2d1d8f53478ddd2591d8249224 100644
--- a/test/suite/ch12/12.1/S12.1_A4_T2.js
+++ b/test/suite/ch12/12.1/S12.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production Block can't be inside of expression
  *
- * @path 12_Statement/12.1_Block/S12.1_A4_T2.js
+ * @path ch12/12.1/S12.1_A4_T2.js
  * @description Checking if execution of "y={x}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.1/S12.1_A5.js b/test/suite/ch12/12.1/S12.1_A5.js
index 8018edb15414c4c571324a776b59dccc2cf8bfec..00356061f3c75f16b6bade8096b90c7bd551da86 100644
--- a/test/suite/ch12/12.1/S12.1_A5.js
+++ b/test/suite/ch12/12.1/S12.1_A5.js
@@ -4,7 +4,7 @@
 /**
  * StatementList: StatementList Statement inside the Block is evaluated from left to right
  *
- * @path 12_Statement/12.1_Block/S12.1_A5.js
+ * @path ch12/12.1/S12.1_A5.js
  * @description Throwing exceptions within embedded/sequence Blocks
  */
 
diff --git a/test/suite/ch12/12.10/S12.10_A1.10_T1.js b/test/suite/ch12/12.10/S12.10_A1.10_T1.js
index f1a4007a55478640e1f4ca10ac944182cdee596b..2256e66b73ecef30d8ca1b7a608c45595539b165 100644
--- a/test/suite/ch12/12.10/S12.10_A1.10_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.10_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.10_T1.js
+ * @path ch12/12.10/S12.10_A1.10_T1.js
  * @description Using interation statement within "with" statement leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.10_T2.js b/test/suite/ch12/12.10/S12.10_A1.10_T2.js
index ba3c4a39d5d887f24c7fba42ec170208d399580f..35978c0d369d342783fc83f2c2f554ae79adbfd2 100644
--- a/test/suite/ch12/12.10/S12.10_A1.10_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.10_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.10_T2.js
+ * @path ch12/12.10/S12.10_A1.10_T2.js
  * @description Using iteration statement within "with" statement leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.10_T3.js b/test/suite/ch12/12.10/S12.10_A1.10_T3.js
index 456f607f382c5a8add835b2a155a3e566353a540..b7f67f52110002032c89b55f0e4da9f68db721c2 100644
--- a/test/suite/ch12/12.10/S12.10_A1.10_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.10_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.10_T3.js
+ * @path ch12/12.10/S12.10_A1.10_T3.js
  * @description Using iteration statment withing "with" statement leading to completion by exception
  * iteration statement inside with statement - exception completion
  * @noStrict
diff --git a/test/suite/ch12/12.10/S12.10_A1.10_T4.js b/test/suite/ch12/12.10/S12.10_A1.10_T4.js
index b6cd2cfcf04b924a047245c5a5b17c760dea5a20..87ba7f6549b8c2bdd7f46edc67e5960833909bd7 100644
--- a/test/suite/ch12/12.10/S12.10_A1.10_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.10_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.10_T4.js
+ * @path ch12/12.10/S12.10_A1.10_T4.js
  * @description Using iteration statement witthin "with" staement leading to completion by break
  * iteration statement inside with statement - break completion
  * @noStrict
diff --git a/test/suite/ch12/12.10/S12.10_A1.10_T5.js b/test/suite/ch12/12.10/S12.10_A1.10_T5.js
index 8210cb0bae4c9b317f14c307cecde591314567fa..05d7d8d0467174996381db4c41c1fe5b44b63a00 100644
--- a/test/suite/ch12/12.10/S12.10_A1.10_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.10_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.10_T5.js
+ * @path ch12/12.10/S12.10_A1.10_T5.js
  * @description Using iteration statement within "with" statement leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.11_T1.js b/test/suite/ch12/12.10/S12.10_A1.11_T1.js
index 168e385fc7a1e06e8bbaf8665ad3e7890fdd97d2..a939778d8fd33beb9435e49667aad5730477ffc1 100644
--- a/test/suite/ch12/12.10/S12.10_A1.11_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.11_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.11_T1.js
+ * @path ch12/12.10/S12.10_A1.11_T1.js
  * @description Calling a function within "with" statement declared without the statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.11_T2.js b/test/suite/ch12/12.10/S12.10_A1.11_T2.js
index d21607e398bfb371e787db7622fdd063153fe2d7..cfbefef484a8711e27d03c7a745a334680170e52 100644
--- a/test/suite/ch12/12.10/S12.10_A1.11_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.11_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.11_T2.js
+ * @path ch12/12.10/S12.10_A1.11_T2.js
  * @description Calling a function within "with" statement declared without the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.11_T3.js b/test/suite/ch12/12.10/S12.10_A1.11_T3.js
index cefab81c108c79e415406c5c5ec77603104dc612..9d68c9c9dd8c72ed530ad40fbf6be867817bcae9 100644
--- a/test/suite/ch12/12.10/S12.10_A1.11_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.11_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.11_T3.js
+ * @path ch12/12.10/S12.10_A1.11_T3.js
  * @description Calling a function within "with" statement declared without the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.11_T4.js b/test/suite/ch12/12.10/S12.10_A1.11_T4.js
index 86525d4d2c9fb60d7791b5cb399c9baa39616986..d2fc84a75302f58d131198e77c3bfe5a9bb192f7 100644
--- a/test/suite/ch12/12.10/S12.10_A1.11_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.11_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.11_T4.js
+ * @path ch12/12.10/S12.10_A1.11_T4.js
  * @description Calling a function within "with" statement declared without the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.11_T5.js b/test/suite/ch12/12.10/S12.10_A1.11_T5.js
index b6f044855f1adaa91b9298f62f8b923bcc90037c..9dfc0e5dcd322d85dc4a91c7151a403d16631296 100644
--- a/test/suite/ch12/12.10/S12.10_A1.11_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.11_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.11_T5.js
+ * @path ch12/12.10/S12.10_A1.11_T5.js
  * @description Calling a function within "with" statement declared without the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.12_T1.js b/test/suite/ch12/12.10/S12.10_A1.12_T1.js
index 04242ea7b6bdb99ea6942e9728bd3e91a39aa44e..6ccbf0ca7dda12ea97f0b3d6d9979a56cec11533 100644
--- a/test/suite/ch12/12.10/S12.10_A1.12_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.12_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.12_T1.js
+ * @path ch12/12.10/S12.10_A1.12_T1.js
  * @description Calling a function without "with" statement declared within the statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.12_T2.js b/test/suite/ch12/12.10/S12.10_A1.12_T2.js
index 4a56bc3e640c06034f9e4305637735f05b68e918..bd0cbe0f8488c8c3af1ffed861685fd10322b01e 100644
--- a/test/suite/ch12/12.10/S12.10_A1.12_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.12_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.12_T2.js
+ * @path ch12/12.10/S12.10_A1.12_T2.js
  * @description Calling a function without "with" statement declared within the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.12_T3.js b/test/suite/ch12/12.10/S12.10_A1.12_T3.js
index 4b64c5b176704a93c27ce4137742d5dac073f071..39ab7d395e653ac24f6c87c4aee6ea4449a6beaf 100644
--- a/test/suite/ch12/12.10/S12.10_A1.12_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.12_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.12_T3.js
+ * @path ch12/12.10/S12.10_A1.12_T3.js
  * @description Calling a function without "with" statement declared within the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.12_T4.js b/test/suite/ch12/12.10/S12.10_A1.12_T4.js
index 5f995637741efccf8fdca2ac83b320d0bc94aec1..49b58c6d5103ae7822304ff787f65516f61a401b 100644
--- a/test/suite/ch12/12.10/S12.10_A1.12_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.12_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.12_T4.js
+ * @path ch12/12.10/S12.10_A1.12_T4.js
  * @description Calling a function without "with" statement declared within the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.12_T5.js b/test/suite/ch12/12.10/S12.10_A1.12_T5.js
index f12268be68408ef3131bd8659edb07903f27bf2b..2e353436717ee5c966055836faf3674b85868790 100644
--- a/test/suite/ch12/12.10/S12.10_A1.12_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.12_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.12_T5.js
+ * @path ch12/12.10/S12.10_A1.12_T5.js
  * @description Calling a function without "with" statement declared within the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.1_T1.js b/test/suite/ch12/12.10/S12.10_A1.1_T1.js
index 8c870cef8fae84a4fd64b0659ab8bf86c2d6fc98..a749c9c2077f3a2c807242825b0ad6ab12b9f60a 100644
--- a/test/suite/ch12/12.10/S12.10_A1.1_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.1_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.1_T1.js
+ * @path ch12/12.10/S12.10_A1.1_T1.js
  * @description Using "with" inside of global context leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.1_T2.js b/test/suite/ch12/12.10/S12.10_A1.1_T2.js
index ffddc34a88bb2458d163c5725f36881a093a8608..d07cb0e694fd086964dad0bdeb1e8df57b3454f8 100644
--- a/test/suite/ch12/12.10/S12.10_A1.1_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.1_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.1_T2.js
+ * @path ch12/12.10/S12.10_A1.1_T2.js
  * @description Using "with" inside of global context leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.1_T3.js b/test/suite/ch12/12.10/S12.10_A1.1_T3.js
index bef068b0914be01abda741c4a3257a7a1b06ee7e..2002090190e93b97c003161be78423b4e2584106 100644
--- a/test/suite/ch12/12.10/S12.10_A1.1_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.1_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.1_T3.js
+ * @path ch12/12.10/S12.10_A1.1_T3.js
  * @description Using "with" inside of global context leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.2_T1.js b/test/suite/ch12/12.10/S12.10_A1.2_T1.js
index 1c45bc64b10d40354b86944c3e579948417bdc74..20a344d48e2f7e67f7fee6d91321adf587268641 100644
--- a/test/suite/ch12/12.10/S12.10_A1.2_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.2_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.2_T1.js
+ * @path ch12/12.10/S12.10_A1.2_T1.js
  * @description Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.2_T2.js b/test/suite/ch12/12.10/S12.10_A1.2_T2.js
index 11530e73fa73b418f3ff57d018b4c3442e71a627..39312c70a67dca3e90fae9e5205bff82a6a1daae 100644
--- a/test/suite/ch12/12.10/S12.10_A1.2_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.2_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.2_T2.js
+ * @path ch12/12.10/S12.10_A1.2_T2.js
  * @description Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.2_T3.js b/test/suite/ch12/12.10/S12.10_A1.2_T3.js
index 77aa4260caea6ab979063d5a1f32e32463aa73bd..f34c7cb94d156ae62d2f2cf0376c924c543d6cd1 100644
--- a/test/suite/ch12/12.10/S12.10_A1.2_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.2_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.2_T3.js
+ * @path ch12/12.10/S12.10_A1.2_T3.js
  * @description Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.2_T4.js b/test/suite/ch12/12.10/S12.10_A1.2_T4.js
index 5a4ebf76d0a935ec7ac81c23e18184945d4a28e6..f8bff8e206de6dc27abd15229f4ff3bc377c4629 100644
--- a/test/suite/ch12/12.10/S12.10_A1.2_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.2_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.2_T4.js
+ * @path ch12/12.10/S12.10_A1.2_T4.js
  * @description Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.2_T5.js b/test/suite/ch12/12.10/S12.10_A1.2_T5.js
index aca4df21b6f6212a16f62f692b3c27411393d9ea..d67f69d6d7805a17bbee5d89873653d251338aca 100644
--- a/test/suite/ch12/12.10/S12.10_A1.2_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.2_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.2_T5.js
+ * @path ch12/12.10/S12.10_A1.2_T5.js
  * @description Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.3_T1.js b/test/suite/ch12/12.10/S12.10_A1.3_T1.js
index d570bfa998d88d48c06c01a02d80bd8930ec064a..3e453847b88bee590437cf9db58ea028b8e6b83b 100644
--- a/test/suite/ch12/12.10/S12.10_A1.3_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.3_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.3_T1.js
+ * @path ch12/12.10/S12.10_A1.3_T1.js
  * @description Using "with" statement within function constructor, leading to normal completition
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.3_T2.js b/test/suite/ch12/12.10/S12.10_A1.3_T2.js
index 92418f1eab7e6c79f163556f853ba050ce5b070e..183d0dabf1a8b5435c4a5e7e8420ab761a4df7bd 100644
--- a/test/suite/ch12/12.10/S12.10_A1.3_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.3_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.3_T2.js
+ * @path ch12/12.10/S12.10_A1.3_T2.js
  * @description Using "with" statement within function constructor, leading to normal completition by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.3_T3.js b/test/suite/ch12/12.10/S12.10_A1.3_T3.js
index ead85bb06fd5acafccdd7c388c3368ba2ea88fb5..e413f3918c0cd22aa8a56131f0636924ad000560 100644
--- a/test/suite/ch12/12.10/S12.10_A1.3_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.3_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.3_T3.js
+ * @path ch12/12.10/S12.10_A1.3_T3.js
  * @description Using "with" statement within function constructor, leading to normal completition by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.3_T4.js b/test/suite/ch12/12.10/S12.10_A1.3_T4.js
index 6a8526f288d67d5ea951e11d7a0a2fcbd38476b2..7ac5823f76876b3f0b96c91b0be9a92ecbfb940e 100644
--- a/test/suite/ch12/12.10/S12.10_A1.3_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.3_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.3_T4.js
+ * @path ch12/12.10/S12.10_A1.3_T4.js
  * @description Using "with" statement within function constructor, leading to completition by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.3_T5.js b/test/suite/ch12/12.10/S12.10_A1.3_T5.js
index 6146b8e9f1903cf9ebd602b88f0e4c832e5e949f..41b85c6dc49a31f062fb8dba87c0aa5fba999bcc 100644
--- a/test/suite/ch12/12.10/S12.10_A1.3_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.3_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.3_T5.js
+ * @path ch12/12.10/S12.10_A1.3_T5.js
  * @description Using "with" statement within function constructor, leading to completition by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.4_T1.js b/test/suite/ch12/12.10/S12.10_A1.4_T1.js
index fc5a482edb8e0523cfa1826c8d385e5b327de807..2bbec00eccf4ed09d1e1686d0722a94c6d4f1c67 100644
--- a/test/suite/ch12/12.10/S12.10_A1.4_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.4_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.4_T1.js
+ * @path ch12/12.10/S12.10_A1.4_T1.js
  * @description Using "with" statement within iteration statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.4_T2.js b/test/suite/ch12/12.10/S12.10_A1.4_T2.js
index 8f40c5732f21d44763d366448904e6ccdcd56855..9bafbb075b28876fe5a5c0d1cc7e296e0e202d70 100644
--- a/test/suite/ch12/12.10/S12.10_A1.4_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.4_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.4_T2.js
+ * @path ch12/12.10/S12.10_A1.4_T2.js
  * @description Using "with" statement within iteration statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.4_T3.js b/test/suite/ch12/12.10/S12.10_A1.4_T3.js
index d09e471e0766a28785afa013e564ecb10a2646c3..3b3e72f8aebe853e371840edaa973f766a1febec 100644
--- a/test/suite/ch12/12.10/S12.10_A1.4_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.4_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.4_T3.js
+ * @path ch12/12.10/S12.10_A1.4_T3.js
  * @description Using "with" statement within iteration statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.4_T4.js b/test/suite/ch12/12.10/S12.10_A1.4_T4.js
index 6a5fc81b39cb0b4b3137a650944bb60e7b0e451a..b9209bb67ca6f8c00a33f95be68224df823f6642 100644
--- a/test/suite/ch12/12.10/S12.10_A1.4_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.4_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.4_T4.js
+ * @path ch12/12.10/S12.10_A1.4_T4.js
  * @description Using "with" statement within iteration statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.4_T5.js b/test/suite/ch12/12.10/S12.10_A1.4_T5.js
index 4b3f80d13b82710b0ebad6584fa61495831a5f5e..b942e2b415208f7c09083d04a96547082bd8d2eb 100644
--- a/test/suite/ch12/12.10/S12.10_A1.4_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.4_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.4_T5.js
+ * @path ch12/12.10/S12.10_A1.4_T5.js
  * @description Using "with" statement within iteration statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.5_T1.js b/test/suite/ch12/12.10/S12.10_A1.5_T1.js
index 2e7fc1067be6fd23f556f00aa7529747508dc045..a45cd5df144ba860b3127168bfc925b95b8e9c5a 100644
--- a/test/suite/ch12/12.10/S12.10_A1.5_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.5_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.5_T1.js
+ * @path ch12/12.10/S12.10_A1.5_T1.js
  * @description Using "with" statement within "for-in" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.5_T2.js b/test/suite/ch12/12.10/S12.10_A1.5_T2.js
index 9a3166d58ccaf60fa751a5faf19a45e90ba312f8..4efa5a2164d247746e97b95eb4aa15c4afd0cffa 100644
--- a/test/suite/ch12/12.10/S12.10_A1.5_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.5_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.5_T2.js
+ * @path ch12/12.10/S12.10_A1.5_T2.js
  * @description Using "with" statement within "for-in" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.5_T3.js b/test/suite/ch12/12.10/S12.10_A1.5_T3.js
index 2cc2dfcc9189351ec128d711200427ef1f7859b6..e4cace7e1f8fa83f6e3ac5c3ef149296537d6d1e 100644
--- a/test/suite/ch12/12.10/S12.10_A1.5_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.5_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.5_T3.js
+ * @path ch12/12.10/S12.10_A1.5_T3.js
  * @description Using "with" statement within "for-in" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.5_T4.js b/test/suite/ch12/12.10/S12.10_A1.5_T4.js
index 56810f034d26ad416371037552567cb9c2aaee7e..6655901d66b0e4d72200d78f2cdc2b21a25ba211 100644
--- a/test/suite/ch12/12.10/S12.10_A1.5_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.5_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.5_T4.js
+ * @path ch12/12.10/S12.10_A1.5_T4.js
  * @description Using "with" statement within "for-in" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.5_T5.js b/test/suite/ch12/12.10/S12.10_A1.5_T5.js
index 341635558259bfd782f9e80156b61a44d84e908d..1273f5166ff8c3b5915feb8fe05d6acfa62c895f 100644
--- a/test/suite/ch12/12.10/S12.10_A1.5_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.5_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.5_T5.js
+ * @path ch12/12.10/S12.10_A1.5_T5.js
  * @description Using "with" statement within "for-in" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.6_T1.js b/test/suite/ch12/12.10/S12.10_A1.6_T1.js
index a5f0d3dd27661a368bd6c62b8922b1d684088878..608ceef9fa4ae73db9c73514c951fb450660acf3 100644
--- a/test/suite/ch12/12.10/S12.10_A1.6_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.6_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.6_T1.js
+ * @path ch12/12.10/S12.10_A1.6_T1.js
  * @description Using "with" statement within another "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.6_T2.js b/test/suite/ch12/12.10/S12.10_A1.6_T2.js
index 455eb01a82fe848b66b1b20d5041f9ba2801a855..8cfae1a8bdc05e54c57aa069d27da97cfe3571c7 100644
--- a/test/suite/ch12/12.10/S12.10_A1.6_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.6_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.6_T2.js
+ * @path ch12/12.10/S12.10_A1.6_T2.js
  * @description Using "with" statement within another "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.6_T3.js b/test/suite/ch12/12.10/S12.10_A1.6_T3.js
index bb8f0fecaaa217a043b0526e9c73bf690c0d00e8..4774eb44d99264f597621d6f9f4e2060f31321c2 100644
--- a/test/suite/ch12/12.10/S12.10_A1.6_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.6_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.6_T3.js
+ * @path ch12/12.10/S12.10_A1.6_T3.js
  * @description Using "with" statement within another "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.7_T1.js b/test/suite/ch12/12.10/S12.10_A1.7_T1.js
index 5a798254a9481a1cc81ef168a314583682de42ab..134af702c02f9a541d2bc29387cd93b6fbb635b3 100644
--- a/test/suite/ch12/12.10/S12.10_A1.7_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.7_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.7_T1.js
+ * @path ch12/12.10/S12.10_A1.7_T1.js
  * @description Calling a function within "with" statement declared within the statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.7_T2.js b/test/suite/ch12/12.10/S12.10_A1.7_T2.js
index 62aa68da794d7329093f7ad6f15fa16d60ba2360..3efde032899ebcdc1fbe836d97e92efc08bd71fd 100644
--- a/test/suite/ch12/12.10/S12.10_A1.7_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.7_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.7_T2.js
+ * @path ch12/12.10/S12.10_A1.7_T2.js
  * @description Calling a function within "with" statement declared within the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.7_T3.js b/test/suite/ch12/12.10/S12.10_A1.7_T3.js
index 29075652f1b74ea90962213787e9400b84731dc8..d43395763fe8f876333b79fafd6145c5d035ab76 100644
--- a/test/suite/ch12/12.10/S12.10_A1.7_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.7_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.7_T3.js
+ * @path ch12/12.10/S12.10_A1.7_T3.js
  * @description Calling a function within "with" statement declared within the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.7_T4.js b/test/suite/ch12/12.10/S12.10_A1.7_T4.js
index d2690c15773fe3c40b224ee204499f862572d5e1..9ca70ef1cbdec2a23ee79ab9e4d22ee1b05a6129 100644
--- a/test/suite/ch12/12.10/S12.10_A1.7_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.7_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.7_T4.js
+ * @path ch12/12.10/S12.10_A1.7_T4.js
  * @description Calling a function within "with" statement declared within the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.7_T5.js b/test/suite/ch12/12.10/S12.10_A1.7_T5.js
index 772987524daecb26816ffdb71ffebb9306fe6d8c..d7070388b08a67dc5447d47b5962fb7c8d634261 100644
--- a/test/suite/ch12/12.10/S12.10_A1.7_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.7_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.7_T5.js
+ * @path ch12/12.10/S12.10_A1.7_T5.js
  * @description Calling a function within "with" statement declared within the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.8_T1.js b/test/suite/ch12/12.10/S12.10_A1.8_T1.js
index f0e60611f19c69a35d159234c71f532fe5984a78..73519377b67f63abee9f4c2afad1590c017a2560 100644
--- a/test/suite/ch12/12.10/S12.10_A1.8_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.8_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.8_T1.js
+ * @path ch12/12.10/S12.10_A1.8_T1.js
  * @description Declaring function constructor within "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.8_T2.js b/test/suite/ch12/12.10/S12.10_A1.8_T2.js
index 5b2388dad9ed19d085c20bfa3de3fa4b8adcb0a7..fd81d2bfc67294e5fcf27766e5750dfb5c632df4 100644
--- a/test/suite/ch12/12.10/S12.10_A1.8_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.8_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.8_T2.js
+ * @path ch12/12.10/S12.10_A1.8_T2.js
  * @description Declaring function constructor within "with" statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.8_T3.js b/test/suite/ch12/12.10/S12.10_A1.8_T3.js
index a54aab14c57346bdf049a1bece17c17d0abb0581..39a648266fc272ed191e43559e73a6b7ba962b6f 100644
--- a/test/suite/ch12/12.10/S12.10_A1.8_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.8_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.8_T3.js
+ * @path ch12/12.10/S12.10_A1.8_T3.js
  * @description Declaring function constructor within "with" statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.8_T4.js b/test/suite/ch12/12.10/S12.10_A1.8_T4.js
index a6637e89e1258a4aacb1d3b96e2104f99a5e2e43..f6eed2043ec8c00dc0434472455c22286f36e0b2 100644
--- a/test/suite/ch12/12.10/S12.10_A1.8_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A1.8_T4.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.8_T4.js
+ * @path ch12/12.10/S12.10_A1.8_T4.js
  * @description Declaring function constructor within "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.8_T5.js b/test/suite/ch12/12.10/S12.10_A1.8_T5.js
index 105a255cc05bd7ac2368c2bcf70b693ca7a17258..c2425b1f18778c34bb04fd753a01fb16bf422eaa 100644
--- a/test/suite/ch12/12.10/S12.10_A1.8_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A1.8_T5.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.8_T5.js
+ * @path ch12/12.10/S12.10_A1.8_T5.js
  * @description Declaring function constructor within "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.9_T1.js b/test/suite/ch12/12.10/S12.10_A1.9_T1.js
index f7cac53b0c0fcdf1d306601c2ecf880a982b56e9..629b517b40486185604c692e5ed5866534727938 100644
--- a/test/suite/ch12/12.10/S12.10_A1.9_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A1.9_T1.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.9_T1.js
+ * @path ch12/12.10/S12.10_A1.9_T1.js
  * @description Using "for-in" statement within "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.9_T2.js b/test/suite/ch12/12.10/S12.10_A1.9_T2.js
index f380fce98313c35fa6c99668bcb0997b3f2e7594..8e82e60eb0d846507471ba60c9cfdfe702858df5 100644
--- a/test/suite/ch12/12.10/S12.10_A1.9_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A1.9_T2.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.9_T2.js
+ * @path ch12/12.10/S12.10_A1.9_T2.js
  * @description Using "for-in" statement within "with" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A1.9_T3.js b/test/suite/ch12/12.10/S12.10_A1.9_T3.js
index 01344be95742a4345d9385d17757f599d12af0a5..52ba815fc3917d6d44b6a4d7dadc158a45746b04 100644
--- a/test/suite/ch12/12.10/S12.10_A1.9_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A1.9_T3.js
@@ -5,7 +5,7 @@
  * The with statement adds a computed object to the front of the
  * scope chain of the current execution context
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A1.9_T3.js
+ * @path ch12/12.10/S12.10_A1.9_T3.js
  * @description Using "for-in" statement within "with" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.10_T1.js b/test/suite/ch12/12.10/S12.10_A3.10_T1.js
index a75c93888cb1b94706a97396280f0a59f5a2d56c..17fd49b0a1c1d28da4d6ed79590c0c749315b20a 100644
--- a/test/suite/ch12/12.10/S12.10_A3.10_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.10_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.10_T1.js
+ * @path ch12/12.10/S12.10_A3.10_T1.js
  * @description Using iteration statement within "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.10_T2.js b/test/suite/ch12/12.10/S12.10_A3.10_T2.js
index ee3321b63f0c0e5fe1a6525f44b7588c74d60a61..12c26bd865e5f22356548da5ed4d0cddfa987a54 100644
--- a/test/suite/ch12/12.10/S12.10_A3.10_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.10_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.10_T2.js
+ * @path ch12/12.10/S12.10_A3.10_T2.js
  * @description Using iteration statement within "with" statement, leading completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.10_T3.js b/test/suite/ch12/12.10/S12.10_A3.10_T3.js
index e60eb79ad093e598af65279c524f4435e6734238..32c27cce464a13c26e2d1b4845eaa3860cc4d254 100644
--- a/test/suite/ch12/12.10/S12.10_A3.10_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.10_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.10_T3.js
+ * @path ch12/12.10/S12.10_A3.10_T3.js
  * @description Using iteration statement within "with" statement, leading completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.10_T4.js b/test/suite/ch12/12.10/S12.10_A3.10_T4.js
index 6aa575fdc750e72953bec23f87cc8d74af528637..5f55777e2e287af02e29f7a749579a021bc1214f 100644
--- a/test/suite/ch12/12.10/S12.10_A3.10_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.10_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.10_T4.js
+ * @path ch12/12.10/S12.10_A3.10_T4.js
  * @description Using iteration statement within "with" statement, leading completion be break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.10_T5.js b/test/suite/ch12/12.10/S12.10_A3.10_T5.js
index d177ce933b73e42900bbd7892b521b11c541d8d7..b26cd9d432db26ec82219153ddf7aeae57b0ad62 100644
--- a/test/suite/ch12/12.10/S12.10_A3.10_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.10_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.10_T5.js
+ * @path ch12/12.10/S12.10_A3.10_T5.js
  * @description Using iteration statement within "with" statement, leading completion be break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.11_T1.js b/test/suite/ch12/12.10/S12.10_A3.11_T1.js
index 3e709cf7b595918f69a7b47207625e09354477df..8d15c14863886e20b61e002f2b1caeccdd7e364c 100644
--- a/test/suite/ch12/12.10/S12.10_A3.11_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.11_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.11_T1.js
+ * @path ch12/12.10/S12.10_A3.11_T1.js
  * @description Calling a function within "with" statement declared without the statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.11_T2.js b/test/suite/ch12/12.10/S12.10_A3.11_T2.js
index caec7b1c306a9ecaea5d4cecb0338897a86d38a8..81cdcc6af9fbd509fd78bad4f23dfc54eeecea6b 100644
--- a/test/suite/ch12/12.10/S12.10_A3.11_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.11_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.11_T2.js
+ * @path ch12/12.10/S12.10_A3.11_T2.js
  * @description Calling a function within "with" statement declared without the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.11_T3.js b/test/suite/ch12/12.10/S12.10_A3.11_T3.js
index 1d3bdc8dc6bd005140000d8dd738d50a0ddb6af5..35e24fee00784ff784d4c10dbe9b790fef70ab9d 100644
--- a/test/suite/ch12/12.10/S12.10_A3.11_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.11_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.11_T3.js
+ * @path ch12/12.10/S12.10_A3.11_T3.js
  * @description Calling a function within "with" statement declared without the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.11_T4.js b/test/suite/ch12/12.10/S12.10_A3.11_T4.js
index f29fd980c64cac62f232edbb2513ff27d13506f6..7056d61813cd981c523901c1b3cf1496f7c13335 100644
--- a/test/suite/ch12/12.10/S12.10_A3.11_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.11_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.11_T4.js
+ * @path ch12/12.10/S12.10_A3.11_T4.js
  * @description Calling a function within "with" statement declared without the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.11_T5.js b/test/suite/ch12/12.10/S12.10_A3.11_T5.js
index e47e62c76316d13a8959c3bec0c9672ef8b01ba8..ebce27c9fc61ab99de46659c011a2570dbcac583 100644
--- a/test/suite/ch12/12.10/S12.10_A3.11_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.11_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.11_T5.js
+ * @path ch12/12.10/S12.10_A3.11_T5.js
  * @description Calling a function within "with" statement declared without the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.12_T1.js b/test/suite/ch12/12.10/S12.10_A3.12_T1.js
index c7d5953e2617f71e5fc6df4825225f7c7ed59df4..1ec9f760765c720d2ad65e078c6a42cd283f41a3 100644
--- a/test/suite/ch12/12.10/S12.10_A3.12_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.12_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.12_T1.js
+ * @path ch12/12.10/S12.10_A3.12_T1.js
  * @description Calling a function without "with" statement declared within the statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.12_T2.js b/test/suite/ch12/12.10/S12.10_A3.12_T2.js
index 2f902f3a2fc43052e3f1cedd42537bb3f7c283fc..171ef5808b4799842df8ac0935626dc7323834cb 100644
--- a/test/suite/ch12/12.10/S12.10_A3.12_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.12_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.12_T2.js
+ * @path ch12/12.10/S12.10_A3.12_T2.js
  * @description Calling a function without "with" statement declared within the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.12_T3.js b/test/suite/ch12/12.10/S12.10_A3.12_T3.js
index 77fcff2a6b1872f8e46f99b255cf2a81e9fea728..3cea6bc58c13d9f2e713a54db72867cd5edf6464 100644
--- a/test/suite/ch12/12.10/S12.10_A3.12_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.12_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.12_T3.js
+ * @path ch12/12.10/S12.10_A3.12_T3.js
  * @description Calling a function without "with" statement declared within the statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.12_T4.js b/test/suite/ch12/12.10/S12.10_A3.12_T4.js
index 77409be83412590c496e2393a3743b22c38ef2f4..1049d25fec6f5f6db6235b12874806d35455e5bc 100644
--- a/test/suite/ch12/12.10/S12.10_A3.12_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.12_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.12_T4.js
+ * @path ch12/12.10/S12.10_A3.12_T4.js
  * @description Calling a function without "with" statement declared within the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.12_T5.js b/test/suite/ch12/12.10/S12.10_A3.12_T5.js
index 16387d043b1d8789ecd35ed791377cf5b14ede19..9d3c9fed9131833ee0ebcf246d9528108d83f149 100644
--- a/test/suite/ch12/12.10/S12.10_A3.12_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.12_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.12_T5.js
+ * @path ch12/12.10/S12.10_A3.12_T5.js
  * @description Calling a function without "with" statement declared within the statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.1_T1.js b/test/suite/ch12/12.10/S12.10_A3.1_T1.js
index fc12c5bf0e3d375823a80c93ecf84ab5a028d2be..58ee15b9c3b681c780281b5462be88fe971819bd 100644
--- a/test/suite/ch12/12.10/S12.10_A3.1_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.1_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.1_T1.js
+ * @path ch12/12.10/S12.10_A3.1_T1.js
  * @description Using "with" statement within global context - normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.1_T2.js b/test/suite/ch12/12.10/S12.10_A3.1_T2.js
index 5f9ef12449cc9a9a9882006d7643e34ffc3999a2..12b72b2c2adb9d37bb3568ba875e60d852cbde08 100644
--- a/test/suite/ch12/12.10/S12.10_A3.1_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.1_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.1_T2.js
+ * @path ch12/12.10/S12.10_A3.1_T2.js
  * @description Using "with" statement within global context, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.1_T3.js b/test/suite/ch12/12.10/S12.10_A3.1_T3.js
index e92cfd9df255238de77ca46283f28027f4f5afd5..f780520199ade7668326f14400b1aa74c400d9a3 100644
--- a/test/suite/ch12/12.10/S12.10_A3.1_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.1_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.1_T3.js
+ * @path ch12/12.10/S12.10_A3.1_T3.js
  * @description Using "with" statement within global context, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.2_T1.js b/test/suite/ch12/12.10/S12.10_A3.2_T1.js
index 1c873250758967fa8fafebb4a8e67182e2cb97f8..0d3e11beb2743e8e9d9c30215ffa4c6fe31f8585 100644
--- a/test/suite/ch12/12.10/S12.10_A3.2_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.2_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.2_T1.js
+ * @path ch12/12.10/S12.10_A3.2_T1.js
  * @description Declaring "with" statement within a function body, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.2_T2.js b/test/suite/ch12/12.10/S12.10_A3.2_T2.js
index 9d82fcd550b542c9e39fd1cd64a233d294905b8b..2ef4889d4a364dd69edb103f8f79443ec32df032 100644
--- a/test/suite/ch12/12.10/S12.10_A3.2_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.2_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.2_T2.js
+ * @path ch12/12.10/S12.10_A3.2_T2.js
  * @description Declaring "with" statement within a function body, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.2_T3.js b/test/suite/ch12/12.10/S12.10_A3.2_T3.js
index 3b2acfb5f786a253dabda6f6a72accc09bffeaf7..8f46552e7c9238df7868566302e468dfa8ebc1df 100644
--- a/test/suite/ch12/12.10/S12.10_A3.2_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.2_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.2_T3.js
+ * @path ch12/12.10/S12.10_A3.2_T3.js
  * @description Declaring "with" statement within a function body, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.2_T4.js b/test/suite/ch12/12.10/S12.10_A3.2_T4.js
index 99ddb880ea761695493f39572bee56b1b8ed9974..3c559808803769b9f79093ae00a41a1a308dc9f4 100644
--- a/test/suite/ch12/12.10/S12.10_A3.2_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.2_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.2_T4.js
+ * @path ch12/12.10/S12.10_A3.2_T4.js
  * @description Declaring "with" statement within a function body, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.2_T5.js b/test/suite/ch12/12.10/S12.10_A3.2_T5.js
index 5f9ef7ec3782b2d74ba8d98839b8c6bcc3a8b179..61d86905aa52e82abad0514df7552d4d68f98374 100644
--- a/test/suite/ch12/12.10/S12.10_A3.2_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.2_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.2_T5.js
+ * @path ch12/12.10/S12.10_A3.2_T5.js
  * @description Declaring "with" statement within a function body, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.3_T1.js b/test/suite/ch12/12.10/S12.10_A3.3_T1.js
index b571d6ec2924c2195f2c7c77c91db07967be314e..27a31083748430e15949b442bb51c7ab51aa3d9e 100644
--- a/test/suite/ch12/12.10/S12.10_A3.3_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.3_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.3_T1.js
+ * @path ch12/12.10/S12.10_A3.3_T1.js
  * @description Declaring "with" statement within a function constructor, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.3_T2.js b/test/suite/ch12/12.10/S12.10_A3.3_T2.js
index dcdfa7ba29db64ee6ff7423214347d10fd5fc3c1..de6faab3158ca49064bf326b12fcf81215566881 100644
--- a/test/suite/ch12/12.10/S12.10_A3.3_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.3_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.3_T2.js
+ * @path ch12/12.10/S12.10_A3.3_T2.js
  * @description Declaring "with" statement within a function constructor, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.3_T3.js b/test/suite/ch12/12.10/S12.10_A3.3_T3.js
index 73420f6ffc8ed01cc0ef9053c125ad459062fb8e..4a981756af043c3311effbb1918b341f9b8a171b 100644
--- a/test/suite/ch12/12.10/S12.10_A3.3_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.3_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.3_T3.js
+ * @path ch12/12.10/S12.10_A3.3_T3.js
  * @description Declaring "with" statement within a function constructor, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.3_T4.js b/test/suite/ch12/12.10/S12.10_A3.3_T4.js
index 009879ebab557babb90f6f451f1448391c73e40b..3eeb2ed5eab621f2712d5301348e8cff815583ff 100644
--- a/test/suite/ch12/12.10/S12.10_A3.3_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.3_T4.js
@@ -4,7 +4,7 @@
 /**
  * No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js
+ * @path ch12/12.10/S12.10_A3.3_T4.js
  * @description Declaring "with" statement within a function constructor, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.4_T1.js b/test/suite/ch12/12.10/S12.10_A3.4_T1.js
index 004cd3e3acd68663cd55c9bc09b6f694434b1433..1ef21667b698e51674b0184d8a46d03c03c92442 100644
--- a/test/suite/ch12/12.10/S12.10_A3.4_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.4_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.4_T1.js
+ * @path ch12/12.10/S12.10_A3.4_T1.js
  * @description Using "with" statement within iteration statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.4_T2.js b/test/suite/ch12/12.10/S12.10_A3.4_T2.js
index af4ea48aa6db9dbd8c2acdd136d41f7e4c63e129..801c592aa67515ff4121d955e8b24b8d0d65795a 100644
--- a/test/suite/ch12/12.10/S12.10_A3.4_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.4_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.4_T2.js
+ * @path ch12/12.10/S12.10_A3.4_T2.js
  * @description Using "with" statement within iteration statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.4_T3.js b/test/suite/ch12/12.10/S12.10_A3.4_T3.js
index 5c5f0e2cc5a98b2afa2063c28752cf38be7dad70..56698024ebabaae28299fb63654b7138636c966e 100644
--- a/test/suite/ch12/12.10/S12.10_A3.4_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.4_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.4_T3.js
+ * @path ch12/12.10/S12.10_A3.4_T3.js
  * @description Using "with" statement within iteration statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.4_T4.js b/test/suite/ch12/12.10/S12.10_A3.4_T4.js
index be5381a2026e16018973fc49b69b0d878ca84ac9..557666a9cb920d6d3c5515307f614505519b8d3c 100644
--- a/test/suite/ch12/12.10/S12.10_A3.4_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.4_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.4_T4.js
+ * @path ch12/12.10/S12.10_A3.4_T4.js
  * @description Using "with" statement within iteration statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.4_T5.js b/test/suite/ch12/12.10/S12.10_A3.4_T5.js
index 3dd581afcd9e54b4d1be9360d2b8e5e852904fea..06816be0535c4a6ab6708707baf0dfe813b9e869 100644
--- a/test/suite/ch12/12.10/S12.10_A3.4_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.4_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.4_T5.js
+ * @path ch12/12.10/S12.10_A3.4_T5.js
  * @description Using "with" statement within iteration statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.5_T1.js b/test/suite/ch12/12.10/S12.10_A3.5_T1.js
index f1dac6fbafdbed2d86e41311eb1fa9f4894853c2..b49962dc1a41b716a73e8e2afb80e5ab854ea7b0 100644
--- a/test/suite/ch12/12.10/S12.10_A3.5_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.5_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.5_T1.js
+ * @path ch12/12.10/S12.10_A3.5_T1.js
  * @description Using "with" statement within "for-in" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.5_T2.js b/test/suite/ch12/12.10/S12.10_A3.5_T2.js
index a60fed96d0fb728e630ff41d1ff16e6ca0b55c07..e1ec1d611f493a413c3732325e741cefbf211000 100644
--- a/test/suite/ch12/12.10/S12.10_A3.5_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.5_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.5_T2.js
+ * @path ch12/12.10/S12.10_A3.5_T2.js
  * @description Using "with" statement within "for-in" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.5_T3.js b/test/suite/ch12/12.10/S12.10_A3.5_T3.js
index ba04bf078a5c13bf27400390fdae5b685196f5fb..d85bca3bfbf6112c53577fa640b728698d7aa0e0 100644
--- a/test/suite/ch12/12.10/S12.10_A3.5_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.5_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.5_T3.js
+ * @path ch12/12.10/S12.10_A3.5_T3.js
  * @description Using "with" statement within "for-in" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.5_T4.js b/test/suite/ch12/12.10/S12.10_A3.5_T4.js
index 4bd219dd4bddc0967f3cf73c6efc925be9e3b3f7..f85657a82f8e25fe12ca40ad172058c9c4bcf683 100644
--- a/test/suite/ch12/12.10/S12.10_A3.5_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.5_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.5_T4.js
+ * @path ch12/12.10/S12.10_A3.5_T4.js
  * @description Using "with" statement within "for-in" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.5_T5.js b/test/suite/ch12/12.10/S12.10_A3.5_T5.js
index 9b4f2a33726cd8cef32d6042d3aa4dd9783c1219..78b526fc307cd9f2f91240a0dd4dfd313c9b0d84 100644
--- a/test/suite/ch12/12.10/S12.10_A3.5_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.5_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.5_T5.js
+ * @path ch12/12.10/S12.10_A3.5_T5.js
  * @description Using "with" statement within "for-in" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.6_T1.js b/test/suite/ch12/12.10/S12.10_A3.6_T1.js
index 6f2a85b0dc000518893c5e91c60081fe433814e9..4042e9b712ca63606a6e36cd1ff3019a4d6c0723 100644
--- a/test/suite/ch12/12.10/S12.10_A3.6_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.6_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.6_T1.js
+ * @path ch12/12.10/S12.10_A3.6_T1.js
  * @description Using "with" statement within another "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.6_T2.js b/test/suite/ch12/12.10/S12.10_A3.6_T2.js
index 2385f01d3e9155dc0c909effe1ca4a9c581057b1..db1d04dfba6a8f709bcef4b7afda50e5c2a7831e 100644
--- a/test/suite/ch12/12.10/S12.10_A3.6_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.6_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.6_T2.js
+ * @path ch12/12.10/S12.10_A3.6_T2.js
  * @description Using "with" statement within another "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.6_T3.js b/test/suite/ch12/12.10/S12.10_A3.6_T3.js
index 4d606b90654f95c8e6b393618648f9347f3cf128..ade4cdc5f4bc51343ed68c6edadba65ee5c06795 100644
--- a/test/suite/ch12/12.10/S12.10_A3.6_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.6_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.6_T3.js
+ * @path ch12/12.10/S12.10_A3.6_T3.js
  * @description Using "with" statement within another "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.7_T1.js b/test/suite/ch12/12.10/S12.10_A3.7_T1.js
index ce24c4bcb530cb286512a9c06959c3e956089108..b24f131a4909bfd0295e40286da4ab59fca6a2e3 100644
--- a/test/suite/ch12/12.10/S12.10_A3.7_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.7_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.7_T1.js
+ * @path ch12/12.10/S12.10_A3.7_T1.js
  * @description Declaring and calling a function within "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.7_T2.js b/test/suite/ch12/12.10/S12.10_A3.7_T2.js
index 6dd6d6718e33df51567fcceff0e0564facb90c81..7494fa7f325101c6aac550ace8dbbdb62c12b699 100644
--- a/test/suite/ch12/12.10/S12.10_A3.7_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.7_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.7_T2.js
+ * @path ch12/12.10/S12.10_A3.7_T2.js
  * @description Declaring and calling a function within "with" statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.7_T3.js b/test/suite/ch12/12.10/S12.10_A3.7_T3.js
index 107b3566a57d9c333396f81cf3e73d7f9d9b4785..d3b72e03d0b12f3bc5b4dd2db40f87d77b1ec5b1 100644
--- a/test/suite/ch12/12.10/S12.10_A3.7_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.7_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.7_T3.js
+ * @path ch12/12.10/S12.10_A3.7_T3.js
  * @description Declaring and calling a function within "with" statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.7_T4.js b/test/suite/ch12/12.10/S12.10_A3.7_T4.js
index d543e778c50ec6f122cdc06deb350ea8eaa77ae0..cd97c3c1bf205b4cfb271df45ab99208b04cabf6 100644
--- a/test/suite/ch12/12.10/S12.10_A3.7_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.7_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.7_T4.js
+ * @path ch12/12.10/S12.10_A3.7_T4.js
  * @description Declaring and calling a function within "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.7_T5.js b/test/suite/ch12/12.10/S12.10_A3.7_T5.js
index 834489cc68aa6359b7d3df902ea60d561b385122..c0d9d84a2fb0dd7f6dfd4363dd1206acaa09daf8 100644
--- a/test/suite/ch12/12.10/S12.10_A3.7_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.7_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.7_T5.js
+ * @path ch12/12.10/S12.10_A3.7_T5.js
  * @description Declaring and calling a function within "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.8_T1.js b/test/suite/ch12/12.10/S12.10_A3.8_T1.js
index f285fb7a972dd3887fbbc634b44d83bd2712fd7a..efe008e85c66fe65b3cae8f410cc4f9a9f24490a 100644
--- a/test/suite/ch12/12.10/S12.10_A3.8_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.8_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.8_T1.js
+ * @path ch12/12.10/S12.10_A3.8_T1.js
  * @description Declaring function constructor within "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.8_T2.js b/test/suite/ch12/12.10/S12.10_A3.8_T2.js
index 7548064362e43bdca329d8a8e8f2be313ea45b9f..948270d0f5294c7ffe9e6fff467c7516c9245c8a 100644
--- a/test/suite/ch12/12.10/S12.10_A3.8_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.8_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.8_T2.js
+ * @path ch12/12.10/S12.10_A3.8_T2.js
  * @description Declaring function constructor within "with" statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.8_T3.js b/test/suite/ch12/12.10/S12.10_A3.8_T3.js
index 34964c36629f0e7eb702e4577c4b37e9c850f9f5..f104c10f350a178790f8a8ed1cedd89b67e43b71 100644
--- a/test/suite/ch12/12.10/S12.10_A3.8_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.8_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.8_T3.js
+ * @path ch12/12.10/S12.10_A3.8_T3.js
  * @description Declaring function constructor within "with" statement, leading to normal completion by "return"
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.8_T4.js b/test/suite/ch12/12.10/S12.10_A3.8_T4.js
index 41c7772890c4df0de83f0a399b33364b7a72887e..2f034a106f03a34af0f75cfcb19579de8a1fc70d 100644
--- a/test/suite/ch12/12.10/S12.10_A3.8_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A3.8_T4.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.8_T4.js
+ * @path ch12/12.10/S12.10_A3.8_T4.js
  * @description Declaring function constructor within "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.8_T5.js b/test/suite/ch12/12.10/S12.10_A3.8_T5.js
index 0ab213dbc184938489fd56f326009a34cfbc5730..7484ca06a9da6befed4f5dfa99dc97f79d9d46ba 100644
--- a/test/suite/ch12/12.10/S12.10_A3.8_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A3.8_T5.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.8_T5.js
+ * @path ch12/12.10/S12.10_A3.8_T5.js
  * @description Declaring function constructor within "with" statement, leading to completion by exception
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.9_T1.js b/test/suite/ch12/12.10/S12.10_A3.9_T1.js
index b7850a1be3af15cb5fe53ffd7ebd57826083830f..f54c2087bd7be98e1915080dcdb94e17f27bae76 100644
--- a/test/suite/ch12/12.10/S12.10_A3.9_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A3.9_T1.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.9_T1.js
+ * @path ch12/12.10/S12.10_A3.9_T1.js
  * @description Using "for-in" statement within "with" statement, leading to normal completion
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.9_T2.js b/test/suite/ch12/12.10/S12.10_A3.9_T2.js
index ff9d86b31dd5f9be44645a8e9626d1871c4ba12d..a1bb6dfe93269d3c7cc9df7b130a520b3efe2a62 100644
--- a/test/suite/ch12/12.10/S12.10_A3.9_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A3.9_T2.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.9_T2.js
+ * @path ch12/12.10/S12.10_A3.9_T2.js
  * @description Using "for-in" statement within "with" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A3.9_T3.js b/test/suite/ch12/12.10/S12.10_A3.9_T3.js
index fb16cb739590679f04bdb257c48675f07bd9a928..c0020034007c6684c7e83378ef7447aa2f3342ff 100644
--- a/test/suite/ch12/12.10/S12.10_A3.9_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A3.9_T3.js
@@ -5,7 +5,7 @@
  * No matter how control leaves the embedded 'Statement',
  * the scope chain is always restored to its former state
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A3.9_T3.js
+ * @path ch12/12.10/S12.10_A3.9_T3.js
  * @description Using "for-in" statement within "with" statement, leading to completion by break
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A4_T1.js b/test/suite/ch12/12.10/S12.10_A4_T1.js
index a05a07f0cc22a07add9e8e08e5041d081a4fa2c4..6deef5b1a7b4033ce72871a090774ade0f5df703 100644
--- a/test/suite/ch12/12.10/S12.10_A4_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Changing property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A4_T1.js
+ * @path ch12/12.10/S12.10_A4_T1.js
  * @description Changing string property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A4_T2.js b/test/suite/ch12/12.10/S12.10_A4_T2.js
index ac55a72adfe391aa86b681c3403f5e1e79e1eeb7..e31f52b849c037cceeb970910765d6a400a71592 100644
--- a/test/suite/ch12/12.10/S12.10_A4_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Changing property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A4_T2.js
+ * @path ch12/12.10/S12.10_A4_T2.js
  * @description Changing number property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A4_T3.js b/test/suite/ch12/12.10/S12.10_A4_T3.js
index 4acbe2aecd84347ed3f9d4820fec1885f57f9c60..94c58701cb5b926ef3092fac56b1693384783007 100644
--- a/test/suite/ch12/12.10/S12.10_A4_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Changing property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A4_T3.js
+ * @path ch12/12.10/S12.10_A4_T3.js
  * @description Changing boolean property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A4_T4.js b/test/suite/ch12/12.10/S12.10_A4_T4.js
index cde81e7ff72ff4141702633141fd70f17a18bc7d..042d0dfc5f62dcbb4d0fa99b6afc24b5cd4e8108 100644
--- a/test/suite/ch12/12.10/S12.10_A4_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Changing property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A4_T4.js
+ * @path ch12/12.10/S12.10_A4_T4.js
  * @description Changing object property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A4_T5.js b/test/suite/ch12/12.10/S12.10_A4_T5.js
index 884fc4d748a442a9fa587230a739b98a2ff07502..38a743b03f925c0ae2b6c0afcbd04ff1a3328204 100644
--- a/test/suite/ch12/12.10/S12.10_A4_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * Changing property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A4_T5.js
+ * @path ch12/12.10/S12.10_A4_T5.js
  * @description Changing array property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A4_T6.js b/test/suite/ch12/12.10/S12.10_A4_T6.js
index df179b2f80ace9572438a397cc2dae2c3fe2c4cf..fce45111898bbd05bb138f41fe2f4c6e0671ca80 100644
--- a/test/suite/ch12/12.10/S12.10_A4_T6.js
+++ b/test/suite/ch12/12.10/S12.10_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * Changing property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A4_T6.js
+ * @path ch12/12.10/S12.10_A4_T6.js
  * @description Changing function property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A5_T1.js b/test/suite/ch12/12.10/S12.10_A5_T1.js
index 3b63044f9f6038b9d42e0209ef421e935591b626..351e4bb9d0fea5e0383a3a4add39223aa99d7838 100644
--- a/test/suite/ch12/12.10/S12.10_A5_T1.js
+++ b/test/suite/ch12/12.10/S12.10_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Deleting property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A5_T1.js
+ * @path ch12/12.10/S12.10_A5_T1.js
  * @description Deleting string property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A5_T2.js b/test/suite/ch12/12.10/S12.10_A5_T2.js
index e76acd54863b1fee4a464f914473f309027f4902..909d79d032ffa0b0af2c8dd59b48a03231c35660 100644
--- a/test/suite/ch12/12.10/S12.10_A5_T2.js
+++ b/test/suite/ch12/12.10/S12.10_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Deleting property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A5_T2.js
+ * @path ch12/12.10/S12.10_A5_T2.js
  * @description Deleting number property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A5_T3.js b/test/suite/ch12/12.10/S12.10_A5_T3.js
index 78a5c57a6eb707b8ecc93adb98db98e7071faa10..cd2ec34872b11078b3c1c58eb10fa6e79590e34c 100644
--- a/test/suite/ch12/12.10/S12.10_A5_T3.js
+++ b/test/suite/ch12/12.10/S12.10_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * Deleting property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A5_T3.js
+ * @path ch12/12.10/S12.10_A5_T3.js
  * @description Deleting boolean property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A5_T4.js b/test/suite/ch12/12.10/S12.10_A5_T4.js
index 0c22f2c11fe5a29f9760b234a6d0c6aa91083cff..96f2ded29bdffdb0b75da05bf29192ff18ef0114 100644
--- a/test/suite/ch12/12.10/S12.10_A5_T4.js
+++ b/test/suite/ch12/12.10/S12.10_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * Deleting property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A5_T4.js
+ * @path ch12/12.10/S12.10_A5_T4.js
  * @description Deleting object property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A5_T5.js b/test/suite/ch12/12.10/S12.10_A5_T5.js
index ab219f0ba775b227649e66d9ccf44c95b0bdfc1d..f0b52d07a2acda20b6b37549d4c1e810c0d54e64 100644
--- a/test/suite/ch12/12.10/S12.10_A5_T5.js
+++ b/test/suite/ch12/12.10/S12.10_A5_T5.js
@@ -4,7 +4,7 @@
 /**
  * Deleting property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A5_T5.js
+ * @path ch12/12.10/S12.10_A5_T5.js
  * @description Deleting array property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.10/S12.10_A5_T6.js b/test/suite/ch12/12.10/S12.10_A5_T6.js
index 21198380665dd67c6763e1b30bc3dff287df9be5..67c79398abf77e523fb72cb7a8b50c474d394836 100644
--- a/test/suite/ch12/12.10/S12.10_A5_T6.js
+++ b/test/suite/ch12/12.10/S12.10_A5_T6.js
@@ -4,7 +4,7 @@
 /**
  * Deleting property using "eval" statement containing "with" statement
  *
- * @path 12_Statement/12.10_The_with_Statement/S12.10_A5_T6.js
+ * @path ch12/12.10/S12.10_A5_T6.js
  * @description Deleting function property
  * @noStrict
  */
diff --git a/test/suite/ch12/12.11/S12.11_A1_T1.js b/test/suite/ch12/12.11/S12.11_A1_T1.js
index e6e78abb9843226f7945dd163153ea577077efe2..0d637da55f544263553b4c5b636a74b8d01b5ea0 100644
--- a/test/suite/ch12/12.11/S12.11_A1_T1.js
+++ b/test/suite/ch12/12.11/S12.11_A1_T1.js
@@ -5,7 +5,7 @@
  * If Result.type is break and Result.target is in the current
  * label set, return (normal, Result.value, empty)
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A1_T1.js
+ * @path ch12/12.11/S12.11_A1_T1.js
  * @description Simple test using switch statement
  */
 
diff --git a/test/suite/ch12/12.11/S12.11_A1_T2.js b/test/suite/ch12/12.11/S12.11_A1_T2.js
index 33ec62b539a22d9a3a32864ac5e3ed5c3d431eb2..a7b4abc5945fac7c1ec5a9004d00dce1a1175a5a 100644
--- a/test/suite/ch12/12.11/S12.11_A1_T2.js
+++ b/test/suite/ch12/12.11/S12.11_A1_T2.js
@@ -5,7 +5,7 @@
  * If Result.type is break and Result.target is in the current
  * label set, return (normal, Result.value, empty)
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A1_T2.js
+ * @path ch12/12.11/S12.11_A1_T2.js
  * @description Switch with different types of variables
  */
 
diff --git a/test/suite/ch12/12.11/S12.11_A1_T3.js b/test/suite/ch12/12.11/S12.11_A1_T3.js
index fc1a5710931d1bc17f8aadbff7a18d4577504d14..3171a66613c5607a1792131dbab24e9995a3fdd5 100644
--- a/test/suite/ch12/12.11/S12.11_A1_T3.js
+++ b/test/suite/ch12/12.11/S12.11_A1_T3.js
@@ -5,7 +5,7 @@
  * If Result.type is break and Result.target is in the current
  * label set, return (normal, Result.value, empty)
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A1_T3.js
+ * @path ch12/12.11/S12.11_A1_T3.js
  * @description Using case with null, NaN, Infinity
  */
 
diff --git a/test/suite/ch12/12.11/S12.11_A1_T4.js b/test/suite/ch12/12.11/S12.11_A1_T4.js
index 23e4e7f9501135ed7e03f26c7380e307c0903b08..0182397fe01f8fb9ffed7e71fdb69a8e63a82c6d 100644
--- a/test/suite/ch12/12.11/S12.11_A1_T4.js
+++ b/test/suite/ch12/12.11/S12.11_A1_T4.js
@@ -5,7 +5,7 @@
  * If Result.type is break and Result.target is in the current
  * label set, return (normal, Result.value, empty)
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A1_T4.js
+ * @path ch12/12.11/S12.11_A1_T4.js
  * @description Using case with isNaN and isNaN(value)
  */
 
diff --git a/test/suite/ch12/12.11/S12.11_A2_T1.js b/test/suite/ch12/12.11/S12.11_A2_T1.js
index 8f01c33d0a7f45ec7a0755343195d7205a858ff2..247437638a20e437851b041772a15a8e5759e8e7 100644
--- a/test/suite/ch12/12.11/S12.11_A2_T1.js
+++ b/test/suite/ch12/12.11/S12.11_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * There can be only one DefaultClause
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A2_T1.js
+ * @path ch12/12.11/S12.11_A2_T1.js
  * @description Duplicate DefaultClause
  * @negative
  */
diff --git a/test/suite/ch12/12.11/S12.11_A3_T1.js b/test/suite/ch12/12.11/S12.11_A3_T1.js
index e34df17de18f8105a153085eb371097f3dc044d9..feab32852f7ce04d1a054154ec020bde580db2b8 100644
--- a/test/suite/ch12/12.11/S12.11_A3_T1.js
+++ b/test/suite/ch12/12.11/S12.11_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Syntax constructions of switch statement
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A3_T1.js
+ * @path ch12/12.11/S12.11_A3_T1.js
  * @description Checking if execution of "switch() {}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.11/S12.11_A3_T2.js b/test/suite/ch12/12.11/S12.11_A3_T2.js
index 7337e12a79b6d014b3018313af51316e0897e9f7..d879d602867e9901fa57c707bc3459c549f83ef4 100644
--- a/test/suite/ch12/12.11/S12.11_A3_T2.js
+++ b/test/suite/ch12/12.11/S12.11_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Syntax constructions of switch statement
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A3_T2.js
+ * @path ch12/12.11/S12.11_A3_T2.js
  * @description Checking if execution of "switch {}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.11/S12.11_A3_T3.js b/test/suite/ch12/12.11/S12.11_A3_T3.js
index d1bfdf9533a810509ae1416163f2d00c156d2941..03d3898dc1b203b8ffae8fa0330308f568d39f70 100644
--- a/test/suite/ch12/12.11/S12.11_A3_T3.js
+++ b/test/suite/ch12/12.11/S12.11_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Syntax constructions of switch statement
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A3_T3.js
+ * @path ch12/12.11/S12.11_A3_T3.js
  * @description Checking if execution of "switch(value)" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.11/S12.11_A3_T4.js b/test/suite/ch12/12.11/S12.11_A3_T4.js
index c370df239ed7380bb37fba0ebe8f0233d501169a..00def2926f00272fa15d7020ee124f9b9d5b7190 100644
--- a/test/suite/ch12/12.11/S12.11_A3_T4.js
+++ b/test/suite/ch12/12.11/S12.11_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Syntax constructions of switch statement
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A3_T4.js
+ * @path ch12/12.11/S12.11_A3_T4.js
  * @description Using "case" that has no Expresson after it. "CaseClause: case Expression : [StatementList]"
  * @negative
  */
diff --git a/test/suite/ch12/12.11/S12.11_A3_T5.js b/test/suite/ch12/12.11/S12.11_A3_T5.js
index e6c853645704e0c10667337efef85a3246176ca6..02cd94bd9236f670cc252e5091010675a90e5938 100644
--- a/test/suite/ch12/12.11/S12.11_A3_T5.js
+++ b/test/suite/ch12/12.11/S12.11_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * Syntax constructions of switch statement
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A3_T5.js
+ * @path ch12/12.11/S12.11_A3_T5.js
  * @description Introducing statement not followed by "case" keyword
  * @negative
  */
diff --git a/test/suite/ch12/12.11/S12.11_A4_T1.js b/test/suite/ch12/12.11/S12.11_A4_T1.js
index 427cd3223b76620562ef59125bb3e0a3c717ea87..8fbafbc81e4e5916a79d979d805c1bdc321c72ad 100644
--- a/test/suite/ch12/12.11/S12.11_A4_T1.js
+++ b/test/suite/ch12/12.11/S12.11_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Embedded syntax constructions of switch statement
  *
- * @path 12_Statement/12.11_The_switch_Statement/S12.11_A4_T1.js
+ * @path ch12/12.11/S12.11_A4_T1.js
  * @description Nesting one "switch" statement into StatementList of the other's
  */
 
diff --git a/test/suite/ch12/12.12/S12.12_A1_T1.js b/test/suite/ch12/12.12/S12.12_A1_T1.js
index 36b5d2f6c3d58fff9beab8036c387c5daf7ba075..c88e0650ae6045c28143b4a1a87ee4997d640fd7 100644
--- a/test/suite/ch12/12.12/S12.12_A1_T1.js
+++ b/test/suite/ch12/12.12/S12.12_A1_T1.js
@@ -5,7 +5,7 @@
  * Labelled statements are only used in conjunction with labelled
  * break and continue statements
  *
- * @path 12_Statement/12.12_Labelled_Statements/S12.12_A1_T1.js
+ * @path ch12/12.12/S12.12_A1_T1.js
  * @description Checking if labelled break works. See continue and break sections
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A1.js b/test/suite/ch12/12.13/S12.13_A1.js
index f76b8ae9a0985e5ccafc98a67289c98f953f28f3..bc24635770026aa9f925f0096ec385af05826748 100644
--- a/test/suite/ch12/12.13/S12.13_A1.js
+++ b/test/suite/ch12/12.13/S12.13_A1.js
@@ -4,7 +4,7 @@
 /**
  * Sanity test for throw statement
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A1.js
+ * @path ch12/12.13/S12.13_A1.js
  * @description Trying to throw exception with "throw"
  * @negative
  */
diff --git a/test/suite/ch12/12.13/S12.13_A2_T1.js b/test/suite/ch12/12.13/S12.13_A2_T1.js
index 795577f0a174a0e69c7b9c307bfdc3b2a84640d5..bca31ea80ac67f11748b68cc377d2899e7b48b51 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T1.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T1.js
+ * @path ch12/12.13/S12.13_A2_T1.js
  * @description Throwing undefined
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A2_T2.js b/test/suite/ch12/12.13/S12.13_A2_T2.js
index 346c0c16ec50aff7910b8866565c0e1d321f9069..e068f39f61690a4db0ad6f2c26eade405348bda3 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T2.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T2.js
+ * @path ch12/12.13/S12.13_A2_T2.js
  * @description Throwing null
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A2_T3.js b/test/suite/ch12/12.13/S12.13_A2_T3.js
index 511636c8ddcf6ec2f418a5011bf198c7518f04e9..37592ac1948bf5b6602822306c3890b96d483946 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T3.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T3.js
+ * @path ch12/12.13/S12.13_A2_T3.js
  * @description Throwing boolean
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A2_T4.js b/test/suite/ch12/12.13/S12.13_A2_T4.js
index 1fdc5b26db4797d982d50cf584d670bc3ac5343e..bddf2dac367ec8f600c9a05008a9f8b988c99c1a 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T4.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T4.js
+ * @path ch12/12.13/S12.13_A2_T4.js
  * @description Throwing string
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A2_T5.js b/test/suite/ch12/12.13/S12.13_A2_T5.js
index ef295e442302f0103755c4bd25ea151336f7bde6..8d808484912457d17c8793154210a4f02a9c1d06 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T5.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T5.js
+ * @path ch12/12.13/S12.13_A2_T5.js
  * @description Throwing number
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A2_T6.js b/test/suite/ch12/12.13/S12.13_A2_T6.js
index e7a6358da228b222883b5f634e668778f071bd06..39e799852dc4b1d11d0a79a98e38ecc49bff6339 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T6.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T6.js
+ * @path ch12/12.13/S12.13_A2_T6.js
  * @description Throwing object
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A2_T7.js b/test/suite/ch12/12.13/S12.13_A2_T7.js
index f8ed54a302a085ff6f9e9da842d8780dc92c094c..bf633f868e0b0fb1bd3af2149b3815447be77c87 100644
--- a/test/suite/ch12/12.13/S12.13_A2_T7.js
+++ b/test/suite/ch12/12.13/S12.13_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A2_T7.js
+ * @path ch12/12.13/S12.13_A2_T7.js
  * @description Throwing Array
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A3_T1.js b/test/suite/ch12/12.13/S12.13_A3_T1.js
index f8eb6fa292a9f9a101d4c52bf98cd77999cff1f9..7843a645989ea3fd07f6ee58a47222fb815083e8 100644
--- a/test/suite/ch12/12.13/S12.13_A3_T1.js
+++ b/test/suite/ch12/12.13/S12.13_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * 1. Evaluate Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A3_T1.js
+ * @path ch12/12.13/S12.13_A3_T1.js
  * @description Evaluating boolean expression
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A3_T2.js b/test/suite/ch12/12.13/S12.13_A3_T2.js
index b2f41d1b54a2c1298e334a9d22b88a03601e9ab1..f8cb922039ca49774e150cb2b6269a36b54b02ec 100644
--- a/test/suite/ch12/12.13/S12.13_A3_T2.js
+++ b/test/suite/ch12/12.13/S12.13_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * 1. Evaluate Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A3_T2.js
+ * @path ch12/12.13/S12.13_A3_T2.js
  * @description Evaluating string expression
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A3_T3.js b/test/suite/ch12/12.13/S12.13_A3_T3.js
index 74519593ce2a7af7f5e74ed52a6c03c40eb4e386..44c9d075ce96a31687e3e10775ee78468b095429 100644
--- a/test/suite/ch12/12.13/S12.13_A3_T3.js
+++ b/test/suite/ch12/12.13/S12.13_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * 1. Evaluate Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A3_T3.js
+ * @path ch12/12.13/S12.13_A3_T3.js
  * @description Evaluating number expression
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A3_T4.js b/test/suite/ch12/12.13/S12.13_A3_T4.js
index 7f56760d2b80a7969cda5a09274e4afef92944e0..9a6e010f0b92c9e7887783ff17bcccc2e25d7dfa 100644
--- a/test/suite/ch12/12.13/S12.13_A3_T4.js
+++ b/test/suite/ch12/12.13/S12.13_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * 1. Evaluate Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A3_T4.js
+ * @path ch12/12.13/S12.13_A3_T4.js
  * @description Evaluating array expression
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A3_T5.js b/test/suite/ch12/12.13/S12.13_A3_T5.js
index 6930406fec9911553cc526ecec7ad6b78c2847dc..69fb016d53a457a0f4172f7419afdb9c0973cf46 100644
--- a/test/suite/ch12/12.13/S12.13_A3_T5.js
+++ b/test/suite/ch12/12.13/S12.13_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * 1. Evaluate Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A3_T5.js
+ * @path ch12/12.13/S12.13_A3_T5.js
  * @description Evaluating equation expression
  */
 
diff --git a/test/suite/ch12/12.13/S12.13_A3_T6.js b/test/suite/ch12/12.13/S12.13_A3_T6.js
index 29476693ccabda656b47bf6ffaeb139e99e6ec60..7191c6bd656413beb89ca501aefccab53e1ef211 100644
--- a/test/suite/ch12/12.13/S12.13_A3_T6.js
+++ b/test/suite/ch12/12.13/S12.13_A3_T6.js
@@ -4,7 +4,7 @@
 /**
  * 1. Evaluate Expression
  *
- * @path 12_Statement/12.13_The_throw_statement/S12.13_A3_T6.js
+ * @path ch12/12.13/S12.13_A3_T6.js
  * @description Evaluating functions
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A1.js b/test/suite/ch12/12.14/S12.14_A1.js
index 610cda73b60ef3bd0d8bbefc5237330e19738ded..8943760090a71d02b934725d1111a614c34459be 100644
--- a/test/suite/ch12/12.14/S12.14_A1.js
+++ b/test/suite/ch12/12.14/S12.14_A1.js
@@ -4,7 +4,7 @@
 /**
  * The production TryStatement : try Block Catch is evaluated as follows: 2. If Result(1).type is not throw, return Result(1)
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A1.js
+ * @path ch12/12.14/S12.14_A1.js
  * @description Executing TryStatement : try Block Catch. The statements doesn't cause actual exceptions
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A10_T1.js b/test/suite/ch12/12.14/S12.14_A10_T1.js
index 0b82ae74225195f426831a5910957aef4fd3aece..c7a7c4651f1f93977bc7b15356e65e1d853e699f 100644
--- a/test/suite/ch12/12.14/S12.14_A10_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A10_T1.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A10_T1.js
+ * @path ch12/12.14/S12.14_A10_T1.js
  * @description Throwing exception while executing iteration statement placed into try Block
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A10_T2.js b/test/suite/ch12/12.14/S12.14_A10_T2.js
index 90d30c6bb3db9b72358950e6f163d51013a93893..1826b48a8e3e071825fe276b3954ca00d77a3579 100644
--- a/test/suite/ch12/12.14/S12.14_A10_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A10_T2.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A10_T2.js
+ * @path ch12/12.14/S12.14_A10_T2.js
  * @description Try statement inside loop, where use continue loop
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A10_T3.js b/test/suite/ch12/12.14/S12.14_A10_T3.js
index 855b0bc2707099966ebcffc3fdd6582780a41c31..88e56168a3c494c3d38a8661fe76200e0ea1a906 100644
--- a/test/suite/ch12/12.14/S12.14_A10_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A10_T3.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A10_T3.js
+ * @path ch12/12.14/S12.14_A10_T3.js
  * @description Try statement inside loop, where use break
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A10_T4.js b/test/suite/ch12/12.14/S12.14_A10_T4.js
index 47b180fa3915f6378571b3176d8f2614b0cb38e9..926e564d38f345e09bdb08acb52122d5fb6365e9 100644
--- a/test/suite/ch12/12.14/S12.14_A10_T4.js
+++ b/test/suite/ch12/12.14/S12.14_A10_T4.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A10_T4.js
+ * @path ch12/12.14/S12.14_A10_T4.js
  * @description Try statement inside loop, where combinate using break and continue
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A10_T5.js b/test/suite/ch12/12.14/S12.14_A10_T5.js
index f2301fe9b7d382c1b617bb08551304ff4c872ec4..e840e939567e995cbaf8dc7a8a9cedd9d6a277c1 100644
--- a/test/suite/ch12/12.14/S12.14_A10_T5.js
+++ b/test/suite/ch12/12.14/S12.14_A10_T5.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A10_T5.js
+ * @path ch12/12.14/S12.14_A10_T5.js
  * @description Throw some exceptions from different place of loop body
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A11_T1.js b/test/suite/ch12/12.14/S12.14_A11_T1.js
index c18016a36624ad10a99583ce6ca73dd598d6b51b..41cfdb0a5c649f78d9e7f3ab906647a5917f0eb3 100644
--- a/test/suite/ch12/12.14/S12.14_A11_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A11_T1.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A11_T1.js
+ * @path ch12/12.14/S12.14_A11_T1.js
  * @description Loop inside try Block, where throw exception
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A11_T2.js b/test/suite/ch12/12.14/S12.14_A11_T2.js
index cfc92f215680f1e1b81e62b72b2e50582719a339..7453936fddd406cbb0a4f39d7328822daf5f4e48 100644
--- a/test/suite/ch12/12.14/S12.14_A11_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A11_T2.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A11_T2.js
+ * @path ch12/12.14/S12.14_A11_T2.js
  * @description Try statement inside loop, where use continue loop
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A11_T3.js b/test/suite/ch12/12.14/S12.14_A11_T3.js
index 9604ed03e1b5af5aa1d557896b6d5ec6d57a8905..af9976a2d0812ec2b1496a69c3ef82a0c3d3fb46 100644
--- a/test/suite/ch12/12.14/S12.14_A11_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A11_T3.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A11_T3.js
+ * @path ch12/12.14/S12.14_A11_T3.js
  * @description Try statement inside loop, where use break
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A11_T4.js b/test/suite/ch12/12.14/S12.14_A11_T4.js
index 017438f2b6d6af76ea82fb3b8ee13230bee964ea..6f4762beb2ac2efc0889597bd4f74e908d0ef364 100644
--- a/test/suite/ch12/12.14/S12.14_A11_T4.js
+++ b/test/suite/ch12/12.14/S12.14_A11_T4.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A11_T4.js
+ * @path ch12/12.14/S12.14_A11_T4.js
  * @description Try statement inside loop, where combinate using break and continue
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A12_T1.js b/test/suite/ch12/12.14/S12.14_A12_T1.js
index 42acabc3e98de6156aeaf6df0dcc04fae7ace292..b6906b1b8b1ea719969749361d6b11d4dd6ac114 100644
--- a/test/suite/ch12/12.14/S12.14_A12_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A12_T1.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for-in" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A12_T1.js
+ * @path ch12/12.14/S12.14_A12_T1.js
  * @description Loop inside try Block, where throw exception
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A12_T2.js b/test/suite/ch12/12.14/S12.14_A12_T2.js
index 841a429425dfab7c52241f8dadb25dd08fe64584..6a672996287bdc13a694f4954eb233b220150322 100644
--- a/test/suite/ch12/12.14/S12.14_A12_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A12_T2.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for-in" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A12_T2.js
+ * @path ch12/12.14/S12.14_A12_T2.js
  * @description Try statement inside loop, where use continue loop
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A12_T3.js b/test/suite/ch12/12.14/S12.14_A12_T3.js
index d5217bb727d51510fc78d686b3dcaf40798cfd91..d3b4cea0c7105bb0ce3d9d4c339c89c65471a418 100644
--- a/test/suite/ch12/12.14/S12.14_A12_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A12_T3.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for-in" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A12_T3.js
+ * @path ch12/12.14/S12.14_A12_T3.js
  * @description Try statement inside loop, where use break
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A12_T4.js b/test/suite/ch12/12.14/S12.14_A12_T4.js
index 2ac1e4fdd205b9cb99ad03dbff0e4b034c285ccf..c09b4e2e7d5c6609ab79de774a85c3d1efa8e95a 100644
--- a/test/suite/ch12/12.14/S12.14_A12_T4.js
+++ b/test/suite/ch12/12.14/S12.14_A12_T4.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "for-in" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A12_T4.js
+ * @path ch12/12.14/S12.14_A12_T4.js
  * @description Try statement inside loop, where combinate using break and continue
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A13_T1.js b/test/suite/ch12/12.14/S12.14_A13_T1.js
index f42399005b863e1a151c0ea21919b79a5bad916f..ab3b79d4df8eefc8968da8d2dd4300f0ed5cd646 100644
--- a/test/suite/ch12/12.14/S12.14_A13_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A13_T1.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement with a "return" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A13_T1.js
+ * @path ch12/12.14/S12.14_A13_T1.js
  * @description Using try/catch syntax construction
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A13_T2.js b/test/suite/ch12/12.14/S12.14_A13_T2.js
index 3ab976c39530b91ee7a3f2956da916c577fa795d..947926476692bc4dc3e1d58d3473e1e460f1b304 100644
--- a/test/suite/ch12/12.14/S12.14_A13_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A13_T2.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement with a "return" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A13_T2.js
+ * @path ch12/12.14/S12.14_A13_T2.js
  * @description Using try/finally syntax construction
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A13_T3.js b/test/suite/ch12/12.14/S12.14_A13_T3.js
index 3e23cf4aa4f0640d83e1f28698b31f462b40584e..9b3e4a3e9c0aaa6f2d2458e81d370b00af8e0749 100644
--- a/test/suite/ch12/12.14/S12.14_A13_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A13_T3.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement with a "return" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A13_T3.js
+ * @path ch12/12.14/S12.14_A13_T3.js
  * @description Using try/catch/finally syntax construction
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A14.js b/test/suite/ch12/12.14/S12.14_A14.js
index c92733a82c0b0213ef35298fd61b8d5998d8d69a..af2177a0594645562ea6c47a8f4902c09f986e57 100644
--- a/test/suite/ch12/12.14/S12.14_A14.js
+++ b/test/suite/ch12/12.14/S12.14_A14.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "with" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A14.js
+ * @path ch12/12.14/S12.14_A14.js
  * @description Using try/catch/finally in With and With in try/catch/finally
  * @noStrict
  */
diff --git a/test/suite/ch12/12.14/S12.14_A15.js b/test/suite/ch12/12.14/S12.14_A15.js
index d9c40a5fcbf074c7ed62ce934455f8da0a3b90ca..abd6a63a7dac22703e6cf45e2add7c8af243a54e 100644
--- a/test/suite/ch12/12.14/S12.14_A15.js
+++ b/test/suite/ch12/12.14/S12.14_A15.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement within/without a "switch" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A15.js
+ * @path ch12/12.14/S12.14_A15.js
  * @description Insert try/catch/finally to switch statement
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A16_T1.js b/test/suite/ch12/12.14/S12.14_A16_T1.js
index ea5bfc9ccccd407e8d98ef980670c98c4468f9b0..b6e39191b078b60e19a1394436ef1b559cefcd44 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T1.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T1.js
+ * @path ch12/12.14/S12.14_A16_T1.js
  * @description Checking if pure "try" syntax construction passes
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T10.js b/test/suite/ch12/12.14/S12.14_A16_T10.js
index 07f9dc3aae0646bcfd3a421ce773c8dc9b4f34ec..2baef30d045f62c3dbe50214e28e79d9808a879a 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T10.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T10.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T10.js
+ * @path ch12/12.14/S12.14_A16_T10.js
  * @description Catch: "catch (Identifier ) Block"
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T11.js b/test/suite/ch12/12.14/S12.14_A16_T11.js
index bc77823d5686d64789b97949124530fc595a6d14..8d8699e6b7475232c23d1016ea0000e70aeff5fe 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T11.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T11.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T11.js
+ * @path ch12/12.14/S12.14_A16_T11.js
  * @description Catch and Finally are placed into the Block of "try" (whitle expected outside)
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T12.js b/test/suite/ch12/12.14/S12.14_A16_T12.js
index 590361640e37004058f05b2c9abaee2812e4b656..dacc1a6a691c70787df2c734076c79155dd86288 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T12.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T12.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T12.js
+ * @path ch12/12.14/S12.14_A16_T12.js
  * @description Embedded "try" statements followed by two "catch" statements
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T13.js b/test/suite/ch12/12.14/S12.14_A16_T13.js
index 13f4c56530e4f0437af7e940aabf3c4c5a87c678..20b4754996ff5acba13f8f2b1190550929abfb25 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T13.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T13.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T13.js
+ * @path ch12/12.14/S12.14_A16_T13.js
  * @description Catch: "catch (Identifier ) Block". Checking if execution of "22" passes at the place of Identifier of "catch"
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T14.js b/test/suite/ch12/12.14/S12.14_A16_T14.js
index 1cdca660c796fd845c39236e7cca79e64c15365a..dfcbc2c657d38efe0e9b4e0dd14caed74a5b3b0d 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T14.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T14.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T14.js
+ * @path ch12/12.14/S12.14_A16_T14.js
  * @description Checking if passing argument to "try" statement fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T15.js b/test/suite/ch12/12.14/S12.14_A16_T15.js
index 2a4ae2d52011e1c07ca0f2eb8c5b6c80a96586a6..720bf61dd9f2e3703b53862a091a838f8e7000a4 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T15.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T15.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T15.js
+ * @path ch12/12.14/S12.14_A16_T15.js
  * @description Finally: "finally Block". Checking if passing argument to "try" statement fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T2.js b/test/suite/ch12/12.14/S12.14_A16_T2.js
index b724f2016e0b12a6a954e0883fcaafc7d2b9173f..a3e9421d5220f2bed45435f0889726cacc19d612 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T2.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T2.js
+ * @path ch12/12.14/S12.14_A16_T2.js
  * @description Checking if execution of "catch" with no "try" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T3.js b/test/suite/ch12/12.14/S12.14_A16_T3.js
index 5cff5b3f4d124e404883ae3ca0e46c367531bc5c..237580b0236dd43130d282bb02827e7146ee8097 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T3.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T3.js
+ * @path ch12/12.14/S12.14_A16_T3.js
  * @description Checking if execution of "finally" with no "try" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T4.js b/test/suite/ch12/12.14/S12.14_A16_T4.js
index 625b25fa5b513d1c5f5fdce0130e805df36183b9..ae3e45bba4cc966fab626020936b25420e01bc13 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T4.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T4.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T4.js
+ * @path ch12/12.14/S12.14_A16_T4.js
  * @description Catch: "catch (Identifier ) Block". Checking if execution of "catch" that takes no arguments fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T5.js b/test/suite/ch12/12.14/S12.14_A16_T5.js
index 82cbbd43ac35face897faf8fca1007efedadf481..a825e889a6e84ae2e54b3bfe1795666b7f172434 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T5.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T5.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T5.js
+ * @path ch12/12.14/S12.14_A16_T5.js
  * @description Catch: "catch (Identifier ) Block". Checking if execution of "catch" with no Block fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T6.js b/test/suite/ch12/12.14/S12.14_A16_T6.js
index 56026c08239c41fb11bd43f027a85dd33e270461..8210671c454b7ff641a5d76be17bf1f298bdd896 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T6.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T6.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T6.js
+ * @path ch12/12.14/S12.14_A16_T6.js
  * @description Block: "{ StatementList }". Checking if execution of "try{ catch{}{}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T7.js b/test/suite/ch12/12.14/S12.14_A16_T7.js
index a31b329e06373f90917fa430c26908270a6de3f4..76990243d17ab87194f2a63338c6b6a0f26e2686 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T7.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T7.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T7.js
+ * @path ch12/12.14/S12.14_A16_T7.js
  * @description Block: "{ StatementList }". Checking if execution of "try{} catch(){" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T8.js b/test/suite/ch12/12.14/S12.14_A16_T8.js
index f360c93534ce719223833a4039118fac5e208ec7..93774a7b6fb637563bb981f82a405387947dffb6 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T8.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T8.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T8.js
+ * @path ch12/12.14/S12.14_A16_T8.js
  * @description Block: "{ StatementList }". Catch: "catch (Identifier ) Block". Checking if execution of "try{} catch(){finally{}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A16_T9.js b/test/suite/ch12/12.14/S12.14_A16_T9.js
index c9f9deb7c128a2d1af314d0cf44b29bbf9080e9f..d7fb3308e7556c13c19e66fb422f8c5e2fdeebea 100644
--- a/test/suite/ch12/12.14/S12.14_A16_T9.js
+++ b/test/suite/ch12/12.14/S12.14_A16_T9.js
@@ -4,7 +4,7 @@
 /**
  * TryStatement: "try Block Catch" or "try Block Finally" or "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A16_T9.js
+ * @path ch12/12.14/S12.14_A16_T9.js
  * @description Checking if execution of "catch(){} finally{}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.14/S12.14_A17.js b/test/suite/ch12/12.14/S12.14_A17.js
index 168a809a1c57b4615417c2e53e0dcdd0cad781eb..6878502e63391f43c350ccd1bfe5c83cc90bd67d 100644
--- a/test/suite/ch12/12.14/S12.14_A17.js
+++ b/test/suite/ch12/12.14/S12.14_A17.js
@@ -4,7 +4,7 @@
 /**
  * Using "try" with "catch" or "finally" statement in a constructor
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A17.js
+ * @path ch12/12.14/S12.14_A17.js
  * @description Creating exceptions within constructor
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T1.js b/test/suite/ch12/12.14/S12.14_A18_T1.js
index 03911d08951c7d818c4d3059315573c263f35d4c..635c235d04d705bd2b09aeb75e874fb2d5e5beb2 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T1.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T1.js
+ * @path ch12/12.14/S12.14_A18_T1.js
  * @description Catching undefined
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T2.js b/test/suite/ch12/12.14/S12.14_A18_T2.js
index 7f6e71d89a099c6fbaf6bcab8721f4f514f5175e..f6499be276c51cc70cbf5bce6ae019d061a4ff32 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T2.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T2.js
+ * @path ch12/12.14/S12.14_A18_T2.js
  * @description Catching null
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T3.js b/test/suite/ch12/12.14/S12.14_A18_T3.js
index ab03712b238f1ed21f88216799cd489bc9acb4f9..1ee0644d18d8fd1874c269ed3f847ab59a3c5868 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T3.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T3.js
+ * @path ch12/12.14/S12.14_A18_T3.js
  * @description Catching boolean
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T4.js b/test/suite/ch12/12.14/S12.14_A18_T4.js
index dc9242d361f167787f0dfbc0063fbdd48939fc52..3cd7d906450d71b29e7debf681ad6def9ce292c6 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T4.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T4.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T4.js
+ * @path ch12/12.14/S12.14_A18_T4.js
  * @description Catching string
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T5.js b/test/suite/ch12/12.14/S12.14_A18_T5.js
index 63b91329814417e4db4ad55cc8e2c59e3016ddb0..c46c421bec6235205ce747a257e57f38355a99ce 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T5.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T5.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T5.js
+ * @path ch12/12.14/S12.14_A18_T5.js
  * @description Catching Number
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T6.js b/test/suite/ch12/12.14/S12.14_A18_T6.js
index 00cb4fb2b963940086686893d29c1ebaaabb5b54..ca17450b34dc3d0f660a5f20e39c14f4c1a682a7 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T6.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T6.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T6.js
+ * @path ch12/12.14/S12.14_A18_T6.js
  * @description Catching Object
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A18_T7.js b/test/suite/ch12/12.14/S12.14_A18_T7.js
index f7cb97cd8fcfd5c2cfa1b6ec617aeccf0ce6bf43..905cfa0bca36eb1ab77ef29408cb1eb4c2a7642b 100644
--- a/test/suite/ch12/12.14/S12.14_A18_T7.js
+++ b/test/suite/ch12/12.14/S12.14_A18_T7.js
@@ -4,7 +4,7 @@
 /**
  * Catching objects with try/catch/finally statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A18_T7.js
+ * @path ch12/12.14/S12.14_A18_T7.js
  * @description Catching Array
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A19_T1.js b/test/suite/ch12/12.14/S12.14_A19_T1.js
index 124474bc2a084b0cc0d41553a2abe1b3f71d8291..c2e8d27a4c7ce2c520221e3a829c0374c9142895 100644
--- a/test/suite/ch12/12.14/S12.14_A19_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A19_T1.js
@@ -4,7 +4,7 @@
 /**
  * Catching system exceptions of different types with try statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A19_T1.js
+ * @path ch12/12.14/S12.14_A19_T1.js
  * @description Testing try/catch syntax construction
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A19_T2.js b/test/suite/ch12/12.14/S12.14_A19_T2.js
index 46c2914f4d2eef4b4b8eca9ceaa8fe6b5136f497..acc465ea1dc158d869523113364f75182757f057 100644
--- a/test/suite/ch12/12.14/S12.14_A19_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A19_T2.js
@@ -4,7 +4,7 @@
 /**
  * Catching system exceptions of different types with try statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A19_T2.js
+ * @path ch12/12.14/S12.14_A19_T2.js
  * @description Testing try/catch/finally syntax construction
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A2.js b/test/suite/ch12/12.14/S12.14_A2.js
index 8785953a0cb0302542c51081097a7d836638d0d3..4185b346f26203eea5dfbb2bb41ea2a69211ab8a 100644
--- a/test/suite/ch12/12.14/S12.14_A2.js
+++ b/test/suite/ch12/12.14/S12.14_A2.js
@@ -4,7 +4,7 @@
 /**
  * Throwing exception with "throw" and catching it with "try" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A2.js
+ * @path ch12/12.14/S12.14_A2.js
  * @description Checking if execution of "catch" catches an exception thrown with "throw"
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A3.js b/test/suite/ch12/12.14/S12.14_A3.js
index a0a7313e9432c354ca835da32cfb14265a2b4824..b87f6d57c70d7e9a234aa1e135c623375495f06a 100644
--- a/test/suite/ch12/12.14/S12.14_A3.js
+++ b/test/suite/ch12/12.14/S12.14_A3.js
@@ -4,7 +4,7 @@
 /**
  * Catching system exception with "try" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A3.js
+ * @path ch12/12.14/S12.14_A3.js
  * @description Checking if execution of "catch" catches system exceptions
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A4.js b/test/suite/ch12/12.14/S12.14_A4.js
index 66cff3e349b8bb08058e755024323d5f3d31435c..e904f5c9e36c72f697adf1c7da1348a1d5c02d3e 100644
--- a/test/suite/ch12/12.14/S12.14_A4.js
+++ b/test/suite/ch12/12.14/S12.14_A4.js
@@ -4,7 +4,7 @@
 /**
  * Sanity test for "catch(Indetifier) statement"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A4.js
+ * @path ch12/12.14/S12.14_A4.js
  * @description Checking if deleting an exception fails
  * @noStrict
  */
diff --git a/test/suite/ch12/12.14/S12.14_A5.js b/test/suite/ch12/12.14/S12.14_A5.js
index 8539bd3176d8b461018a7aed3083233bcbd196ac..f7620908bd0e6c91a41652285bd39e78e4dc43cd 100644
--- a/test/suite/ch12/12.14/S12.14_A5.js
+++ b/test/suite/ch12/12.14/S12.14_A5.js
@@ -4,7 +4,7 @@
 /**
  * The production TryStatement: "try Block Finally" and the production TryStatement: "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A5.js
+ * @path ch12/12.14/S12.14_A5.js
  * @description Checking "catch" catches the Identifier in appropriate way
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A6.js b/test/suite/ch12/12.14/S12.14_A6.js
index d0f1de462afe65fb274fd42cf9b7160b33c63ce0..96b30dbc09471202de29c9760c7c922ac19931d5 100644
--- a/test/suite/ch12/12.14/S12.14_A6.js
+++ b/test/suite/ch12/12.14/S12.14_A6.js
@@ -4,7 +4,7 @@
 /**
  * The production TryStatement: "try Block Catch Finally"
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A6.js
+ * @path ch12/12.14/S12.14_A6.js
  * @description Executing sequence of "try" statements, using counters with varying values within
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A7_T1.js b/test/suite/ch12/12.14/S12.14_A7_T1.js
index 4f06a38bdd19572af22af38055a3844c6d9515d4..86efa4fadf111aa1062f4f842f1b608507c8e060 100644
--- a/test/suite/ch12/12.14/S12.14_A7_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * Evaluating the nested productions TryStatement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A7_T1.js
+ * @path ch12/12.14/S12.14_A7_T1.js
  * @description Checking if the production of nested TryStatement statements evaluates correct
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A7_T2.js b/test/suite/ch12/12.14/S12.14_A7_T2.js
index ec451e6729aca7b868f85745f314d72cacfc25c5..94a8c343d8ec73c3b9b08d7e91583596d6ef3de2 100644
--- a/test/suite/ch12/12.14/S12.14_A7_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * Evaluating the nested productions TryStatement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A7_T2.js
+ * @path ch12/12.14/S12.14_A7_T2.js
  * @description Checking if the production of nested TryStatement statements evaluates correct
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A7_T3.js b/test/suite/ch12/12.14/S12.14_A7_T3.js
index e264a54686d897c8abdb2aa7425acea0f8447ed7..183ab7d22e4e236d72de68835277d7ef096c2813 100644
--- a/test/suite/ch12/12.14/S12.14_A7_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A7_T3.js
@@ -4,7 +4,7 @@
 /**
  * Evaluating the nested productions TryStatement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A7_T3.js
+ * @path ch12/12.14/S12.14_A7_T3.js
  * @description Checking if the production of nested TryStatement statements evaluates correct
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A8.js b/test/suite/ch12/12.14/S12.14_A8.js
index 6f1fbfa2b4c672535b6b199420008987ecf74fad..4ac0574a25a2945c46250bec5b28bc514fe68b24 100644
--- a/test/suite/ch12/12.14/S12.14_A8.js
+++ b/test/suite/ch12/12.14/S12.14_A8.js
@@ -4,7 +4,7 @@
 /**
  * "try" with "catch" or "finally" statement within/without an "if" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A8.js
+ * @path ch12/12.14/S12.14_A8.js
  * @description Throwing exception within an "if" statement
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A9_T1.js b/test/suite/ch12/12.14/S12.14_A9_T1.js
index 002c77b3a5e907da66e97a6498c492da995195fb..974b9e72540c709527cf116269aa682a94cb7ecf 100644
--- a/test/suite/ch12/12.14/S12.14_A9_T1.js
+++ b/test/suite/ch12/12.14/S12.14_A9_T1.js
@@ -4,7 +4,7 @@
 /**
  * "try" with "catch" or "finally" statement within/without an "do while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A9_T1.js
+ * @path ch12/12.14/S12.14_A9_T1.js
  * @description Loop within a "try" Block, from where exception is thrown
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A9_T2.js b/test/suite/ch12/12.14/S12.14_A9_T2.js
index 046096e8988f3dd6fd4a51da0e14a5ce32fb909a..9b36f31fb23935dc7fcd0ae4d220e611dced813e 100644
--- a/test/suite/ch12/12.14/S12.14_A9_T2.js
+++ b/test/suite/ch12/12.14/S12.14_A9_T2.js
@@ -4,7 +4,7 @@
 /**
  * "try" with "catch" or "finally" statement within/without an "do while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A9_T2.js
+ * @path ch12/12.14/S12.14_A9_T2.js
  * @description "try" statement within a loop, the statement contains "continue" statement
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A9_T3.js b/test/suite/ch12/12.14/S12.14_A9_T3.js
index 55458848a1894f5403f0c1ee02c4184debab4f64..60bdd4b303ee4ae360c87495ad5db1bbd300a5a6 100644
--- a/test/suite/ch12/12.14/S12.14_A9_T3.js
+++ b/test/suite/ch12/12.14/S12.14_A9_T3.js
@@ -4,7 +4,7 @@
 /**
  * "try" with "catch" or "finally" statement within/without an "do while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A9_T3.js
+ * @path ch12/12.14/S12.14_A9_T3.js
  * @description "try" statement within a loop, the statement contains "break" statement
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A9_T4.js b/test/suite/ch12/12.14/S12.14_A9_T4.js
index 1eee19aec62d342a4037ca1a4c254980b3c96c3b..06542b1d19dce9af8f8ca02a25a461821fd48c1e 100644
--- a/test/suite/ch12/12.14/S12.14_A9_T4.js
+++ b/test/suite/ch12/12.14/S12.14_A9_T4.js
@@ -4,7 +4,7 @@
 /**
  * "try" with "catch" or "finally" statement within/without an "do while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A9_T4.js
+ * @path ch12/12.14/S12.14_A9_T4.js
  * @description "try" statement within a loop, the statement contains "continue" and "break" statements
  */
 
diff --git a/test/suite/ch12/12.14/S12.14_A9_T5.js b/test/suite/ch12/12.14/S12.14_A9_T5.js
index 22813e235c89243480c8e3c43b451a53e3e8afaa..dd16dfe2d93e5454461e05e9a726164dbb578147 100644
--- a/test/suite/ch12/12.14/S12.14_A9_T5.js
+++ b/test/suite/ch12/12.14/S12.14_A9_T5.js
@@ -4,7 +4,7 @@
 /**
  * "try" with "catch" or "finally" statement within/without an "do while" statement
  *
- * @path 12_Statement/12.14_The_try_Statement/S12.14_A9_T5.js
+ * @path ch12/12.14/S12.14_A9_T5.js
  * @description Checking if exceptions are thrown correctly from wherever of loop body
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A1.js b/test/suite/ch12/12.2/S12.2_A1.js
index 855aba97389c8f8fa7a6c3798b10ed454f1b3d33..520daebf599c7a472a31742c4fce580244a6125c 100644
--- a/test/suite/ch12/12.2/S12.2_A1.js
+++ b/test/suite/ch12/12.2/S12.2_A1.js
@@ -6,7 +6,7 @@
  * when created. A variable with an Initialiser is assigned the value of its AssignmentExpression when the
  * VariableStatement is executed, not when the variable is created
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A1.js
+ * @path ch12/12.2/S12.2_A1.js
  * @description Creating variables after entering the execution scope
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A10.js b/test/suite/ch12/12.2/S12.2_A10.js
index 6dd7c316c4ce83f607b70262d6f30bb12b15b089..b85f957b2bb639baf1c832fd8574d5559e649e9b 100644
--- a/test/suite/ch12/12.2/S12.2_A10.js
+++ b/test/suite/ch12/12.2/S12.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * "var" statement within "for" statement is allowed
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A10.js
+ * @path ch12/12.2/S12.2_A10.js
  * @description Declaring variable within a "for" IterationStatement
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A11.js b/test/suite/ch12/12.2/S12.2_A11.js
index 42818a353179f66911e47b0edc800708d1d9cae2..392d4e74b988c62ffc463257ab4cb45e2fe827a9 100644
--- a/test/suite/ch12/12.2/S12.2_A11.js
+++ b/test/suite/ch12/12.2/S12.2_A11.js
@@ -4,7 +4,7 @@
 /**
  * When using property attributes, {ReadOnly} is not used
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A11.js
+ * @path ch12/12.2/S12.2_A11.js
  * @description Changing variable value using property attributes
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A12.js b/test/suite/ch12/12.2/S12.2_A12.js
index cf52e9487e8ca01aa91ebdd764319c4d6afd68c5..d69e27539cbff584cd853cc4e72920567498895b 100644
--- a/test/suite/ch12/12.2/S12.2_A12.js
+++ b/test/suite/ch12/12.2/S12.2_A12.js
@@ -4,7 +4,7 @@
 /**
  * VariableDeclaration within "do-while" loop is allowed
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A12.js
+ * @path ch12/12.2/S12.2_A12.js
  * @description Declaring variable within "do-while" statement
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A2.js b/test/suite/ch12/12.2/S12.2_A2.js
index 9d297d46bc43cb9a3a64bca5b402fc7c5a739657..5f7de5abc7d8855a0c4a2029ddb493887b565c79 100644
--- a/test/suite/ch12/12.2/S12.2_A2.js
+++ b/test/suite/ch12/12.2/S12.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * Variables are defined with global scope (that is, they are created as members of the global object, as described in 10.1.3) using property attributes { DontDelete}
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A2.js
+ * @path ch12/12.2/S12.2_A2.js
  * @description Checking if deleting global variables that have the attributes {DontDelete} fails
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A3.js b/test/suite/ch12/12.2/S12.2_A3.js
index e087583dc4f15619c5979999610c1fb83c2d4926..5c0845ad2200307af5e5926926670a0ef76844d0 100644
--- a/test/suite/ch12/12.2/S12.2_A3.js
+++ b/test/suite/ch12/12.2/S12.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration produces a new scope
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A3.js
+ * @path ch12/12.2/S12.2_A3.js
  * @description Using Global scope and Function scope together
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A4.js b/test/suite/ch12/12.2/S12.2_A4.js
index 40e36832acbdae3a11e80dd4f81c02fe73c3b2ca..17f5c6a87baee1821e75114ef3e2e65fe6f551c4 100644
--- a/test/suite/ch12/12.2/S12.2_A4.js
+++ b/test/suite/ch12/12.2/S12.2_A4.js
@@ -4,7 +4,7 @@
 /**
  * Unicode characters in variable Identifier are allowed
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A4.js
+ * @path ch12/12.2/S12.2_A4.js
  * @description Create and use unicode characters in variable Identifier
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A5.js b/test/suite/ch12/12.2/S12.2_A5.js
index 9e7d7849f2fc6082115c5c0a6c59816a63f065f4..c168bfd2bcb24ff4ad77f144c7f78575b3c241ee 100644
--- a/test/suite/ch12/12.2/S12.2_A5.js
+++ b/test/suite/ch12/12.2/S12.2_A5.js
@@ -4,7 +4,7 @@
 /**
  * VariableDeclaration within Eval statement is initialized as the program reaches the eval statement
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A5.js
+ * @path ch12/12.2/S12.2_A5.js
  * @description Executing eval("var x")
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A6_T1.js b/test/suite/ch12/12.2/S12.2_A6_T1.js
index 9d96c521bfcbf6a69c9a5076332c93e7efb531b1..34e7f0e7afe7df22873d7d250a158f6c24513be1 100644
--- a/test/suite/ch12/12.2/S12.2_A6_T1.js
+++ b/test/suite/ch12/12.2/S12.2_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * VariableDeclaration within "try-catch" statement is allowed
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A6_T1.js
+ * @path ch12/12.2/S12.2_A6_T1.js
  * @description Declaring variable within "try-catch" statement
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A6_T2.js b/test/suite/ch12/12.2/S12.2_A6_T2.js
index f0696cee4a1abee33122805518f4aee8ed7a8ac0..4b586e0ab6c9318d334c75640b3ba61d6a94c8b9 100644
--- a/test/suite/ch12/12.2/S12.2_A6_T2.js
+++ b/test/suite/ch12/12.2/S12.2_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * VariableDeclaration within "try-catch" statement is allowed
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A6_T2.js
+ * @path ch12/12.2/S12.2_A6_T2.js
  * @description Declaring variables within "try-catch" statement
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A7.js b/test/suite/ch12/12.2/S12.2_A7.js
index 2a92a2174b3967ec619300d58d38115e6696a736..167355a9faa8e247f74952a2b880d4cf2fa4423f 100644
--- a/test/suite/ch12/12.2/S12.2_A7.js
+++ b/test/suite/ch12/12.2/S12.2_A7.js
@@ -4,7 +4,7 @@
 /**
  * VariableDeclaration within "for" statement is allowed
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A7.js
+ * @path ch12/12.2/S12.2_A7.js
  * @description Declaring variable within "for" statement
  */
 
diff --git a/test/suite/ch12/12.2/S12.2_A8_T1.js b/test/suite/ch12/12.2/S12.2_A8_T1.js
index a67e4f7ea9930f3d3fe65aa23266eb6843085f97..c9466b665df7e1c6bee88b1faa9cbab0b87ba9e3 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T1.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T1.js
+ * @path ch12/12.2/S12.2_A8_T1.js
  * @description Checking if execution of "var x += 1" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T2.js b/test/suite/ch12/12.2/S12.2_A8_T2.js
index 875707dd10fc0fa8290ecd69744859e930bb658e..f5b9edc5f8142abce6fbcc09b13c4f0620edb8b5 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T2.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T2.js
+ * @path ch12/12.2/S12.2_A8_T2.js
  * @description Checking if execution of "var x | true" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T3.js b/test/suite/ch12/12.2/S12.2_A8_T3.js
index dff7da3f9132d2bf00344c43bc754409064761fc..4272e5c1bf457550ba67745d587da05b0dfbb27a 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T3.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T3.js
+ * @path ch12/12.2/S12.2_A8_T3.js
  * @description Checking if execution of "var x && 1" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T4.js b/test/suite/ch12/12.2/S12.2_A8_T4.js
index 778f589d728e13a7eb67129ce81a6ab8ab7a344d..1f46417708dcc0f355916fc8262caacdd727de8e 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T4.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T4.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T4.js
+ * @path ch12/12.2/S12.2_A8_T4.js
  * @description Checking if execution of "var x++" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T5.js b/test/suite/ch12/12.2/S12.2_A8_T5.js
index 936fad4066ca5d970129709412e074fb23d1b48c..1c414f6ddd5212e72195d85687575217fd74c355 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T5.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T5.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T5.js
+ * @path ch12/12.2/S12.2_A8_T5.js
  * @description Checking if execution of "var --x" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T6.js b/test/suite/ch12/12.2/S12.2_A8_T6.js
index 2b39293dd659628cc8e1943a7ec1949fba4dd3b8..c763f07aa916ae599811b8c88f9429bb17ce3c0b 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T6.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T6.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T6.js
+ * @path ch12/12.2/S12.2_A8_T6.js
  * @description Checking if execution of "var x*1" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T7.js b/test/suite/ch12/12.2/S12.2_A8_T7.js
index 2d5dce582bdd2a78f2fe0c42389bb7d7b61db5f2..86d1c33988bf106e22a80a4d71ded53214f74727 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T7.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T7.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T7.js
+ * @path ch12/12.2/S12.2_A8_T7.js
  * @description Checking if execution of "var x>>1" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A8_T8.js b/test/suite/ch12/12.2/S12.2_A8_T8.js
index c64552d74d31fadab4bfd5a5278e30a095d3b3ee..d798757d6867aeb9637fe5256f765f92763905af 100644
--- a/test/suite/ch12/12.2/S12.2_A8_T8.js
+++ b/test/suite/ch12/12.2/S12.2_A8_T8.js
@@ -4,7 +4,7 @@
 /**
  * Only AssignmentExpression is admitted when variable is initialized
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A8_T8.js
+ * @path ch12/12.2/S12.2_A8_T8.js
  * @description Checking if execution of "var x in __arr" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.2/S12.2_A9.js b/test/suite/ch12/12.2/S12.2_A9.js
index b7eeff01d0df393a789ac57eb8fbbb404077486e..261599a65601b560ba160c164cabef138a3291c0 100644
--- a/test/suite/ch12/12.2/S12.2_A9.js
+++ b/test/suite/ch12/12.2/S12.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * When using property attributes, {DontEnum} is not used
  *
- * @path 12_Statement/12.2_Variable_Statement/S12.2_A9.js
+ * @path ch12/12.2/S12.2_A9.js
  * @description Enumerating property attributes of "this" and then searching for the declared variable
  */
 
diff --git a/test/suite/ch12/12.3/S12.3_A1.js b/test/suite/ch12/12.3/S12.3_A1.js
index a9b4710e4640c47dde791ecfe0974be2e1ca0335..e314b179e587093717802cc7f626ead515aca11f 100644
--- a/test/suite/ch12/12.3/S12.3_A1.js
+++ b/test/suite/ch12/12.3/S12.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The production EmptyStatement ; is evaluated as follows Return (normal, empty, empty)
  *
- * @path 12_Statement/12.3_Empty_Statement/S12.3_A1.js
+ * @path ch12/12.3/S12.3_A1.js
  * @description Using EmptyStatement ;
  */
 
diff --git a/test/suite/ch12/12.4/S12.4_A1.js b/test/suite/ch12/12.4/S12.4_A1.js
index 2677504cb698ff905e69ca190ba0636ea93cceb6..0754d791e9690fe88c7038d7c5d41b3082ef1294 100644
--- a/test/suite/ch12/12.4/S12.4_A1.js
+++ b/test/suite/ch12/12.4/S12.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * An ExpressionStatement can not start with the function keyword because that might make it ambiguous with a FunctionDeclaration
  *
- * @path 12_Statement/12.4_Expression_Statement/S12.4_A1.js
+ * @path ch12/12.4/S12.4_A1.js
  * @description Checking if execution of "function(){}()" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.4/S12.4_A2_T1.js b/test/suite/ch12/12.4/S12.4_A2_T1.js
index 0b7e10fd54858f7270986000c9b3067a38f875d2..70d0aa62d296fafe0ac3fc6dbb20d0371a5ab8a6 100644
--- a/test/suite/ch12/12.4/S12.4_A2_T1.js
+++ b/test/suite/ch12/12.4/S12.4_A2_T1.js
@@ -7,7 +7,7 @@
  * 2. Call GetValue(Result(1)).
  * 3. Return (normal, Result(2), empty)
  *
- * @path 12_Statement/12.4_Expression_Statement/S12.4_A2_T1.js
+ * @path ch12/12.4/S12.4_A2_T1.js
  * @description Checking by using eval "(eval("x+1+x==1"))"
  */
 
diff --git a/test/suite/ch12/12.4/S12.4_A2_T2.js b/test/suite/ch12/12.4/S12.4_A2_T2.js
index 5991707c4932e270f3f38061a3bcd5c4dbbb3eac..2fdadc008854efee92a59bbe70816d2581abf89a 100644
--- a/test/suite/ch12/12.4/S12.4_A2_T2.js
+++ b/test/suite/ch12/12.4/S12.4_A2_T2.js
@@ -7,7 +7,7 @@
  * 2. Call GetValue(Result(1)).
  * 3. Return (normal, Result(2), empty)
  *
- * @path 12_Statement/12.4_Expression_Statement/S12.4_A2_T2.js
+ * @path ch12/12.4/S12.4_A2_T2.js
  * @description Checking by using eval(eval(x), where x is any string)
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A1.1_T1.js b/test/suite/ch12/12.5/S12.5_A1.1_T1.js
index af2956b42350c2b5bd01b4f324abc8bbc66a8e3d..ae2038c98dd0f3fad3242fb6ea5124e47319d524 100644
--- a/test/suite/ch12/12.5/S12.5_A1.1_T1.js
+++ b/test/suite/ch12/12.5/S12.5_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * 0, null, undefined, false, empty string, NaN in expression is evaluated to false
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A1.1_T1.js
+ * @path ch12/12.5/S12.5_A1.1_T1.js
  * @description Using "if" without "else" construction
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A1.1_T2.js b/test/suite/ch12/12.5/S12.5_A1.1_T2.js
index 949faf7216bc12f5e3a8a531663e96777e47fab0..ba5d8e3cb083d8484727e7cf7b2b5e77969af135 100644
--- a/test/suite/ch12/12.5/S12.5_A1.1_T2.js
+++ b/test/suite/ch12/12.5/S12.5_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * 0, null, undefined, false, empty string, NaN in expression is evaluated to false
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A1.1_T2.js
+ * @path ch12/12.5/S12.5_A1.1_T2.js
  * @description Using "if/else" construction
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A1.2_T1.js b/test/suite/ch12/12.5/S12.5_A1.2_T1.js
index e688fa766344ac2b51905e6ace7c348f070ed616..19ba4cdd190d4a6c1f40ddb635832c39a6b0a641 100644
--- a/test/suite/ch12/12.5/S12.5_A1.2_T1.js
+++ b/test/suite/ch12/12.5/S12.5_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * 1, true, non-empty string and others in expression is evaluated to true when using operator "new"
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A1.2_T1.js
+ * @path ch12/12.5/S12.5_A1.2_T1.js
  * @description Using "if" without "else" construction
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A1.2_T2.js b/test/suite/ch12/12.5/S12.5_A1.2_T2.js
index 0935337775d32949c2d24891371775770d15e828..b384311f1bb947ccb8866b2faea446fcf388651d 100644
--- a/test/suite/ch12/12.5/S12.5_A1.2_T2.js
+++ b/test/suite/ch12/12.5/S12.5_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * 1, true, non-empty string and others in expression is evaluated to true when using operator "new"
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A1.2_T2.js
+ * @path ch12/12.5/S12.5_A1.2_T2.js
  * @description Using "if/else" construction
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A10_T1.js b/test/suite/ch12/12.5/S12.5_A10_T1.js
index 56b69f3a3218f20a5d8c381bb55af5a31afce6d7..4995fe1c23a2eb78af8a87cb0e97ff372a3268cd 100644
--- a/test/suite/ch12/12.5/S12.5_A10_T1.js
+++ b/test/suite/ch12/12.5/S12.5_A10_T1.js
@@ -4,7 +4,7 @@
 /**
  * Function expession inside the "if" expression is allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A10_T1.js
+ * @path ch12/12.5/S12.5_A10_T1.js
  * @description Using function expession(function __func(){return 0;}) inside the "if" expression
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A10_T2.js b/test/suite/ch12/12.5/S12.5_A10_T2.js
index 3c84f11941a1786cd2d7eb59b59349d1fe6d635a..bcb187b0831a49e27fdf25ae77eb3ac4916c5553 100644
--- a/test/suite/ch12/12.5/S12.5_A10_T2.js
+++ b/test/suite/ch12/12.5/S12.5_A10_T2.js
@@ -4,7 +4,7 @@
 /**
  * Function expession inside the "if" expression is allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A10_T2.js
+ * @path ch12/12.5/S12.5_A10_T2.js
  * @description Using function expession "function __func(){return 0;}()" within "if" expression
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A11.js b/test/suite/ch12/12.5/S12.5_A11.js
index fb91481d3312fc92ed7858b90f9ea07d22455784..250b29f50837de00c4946d83999392be464f37ec 100644
--- a/test/suite/ch12/12.5/S12.5_A11.js
+++ b/test/suite/ch12/12.5/S12.5_A11.js
@@ -4,7 +4,7 @@
 /**
  * {} within the "if" expression is not allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A11.js
+ * @path ch12/12.5/S12.5_A11.js
  * @description Checking if execution of "if({1})" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.5/S12.5_A12_T1.js b/test/suite/ch12/12.5/S12.5_A12_T1.js
index 5b9e6ac0b8b142fb9911c22d280a4a42e442b800..43f858b091cb7f7c1db514cf850945a29820f3a6 100644
--- a/test/suite/ch12/12.5/S12.5_A12_T1.js
+++ b/test/suite/ch12/12.5/S12.5_A12_T1.js
@@ -4,7 +4,7 @@
 /**
  * Embedded "if/else" constructions are allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A12_T1.js
+ * @path ch12/12.5/S12.5_A12_T1.js
  * @description Using embedded "if/else" into "if/else" constructions
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A12_T2.js b/test/suite/ch12/12.5/S12.5_A12_T2.js
index 310538e86319c6444735bb9ed72015a1099731d4..c9115994b6fbe099f9d3c2606469d40cd7b40aa9 100644
--- a/test/suite/ch12/12.5/S12.5_A12_T2.js
+++ b/test/suite/ch12/12.5/S12.5_A12_T2.js
@@ -4,7 +4,7 @@
 /**
  * Embedded "if/else" constructions are allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A12_T2.js
+ * @path ch12/12.5/S12.5_A12_T2.js
  * @description Using embedded "if" into "if/else" constructions
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A12_T3.js b/test/suite/ch12/12.5/S12.5_A12_T3.js
index 2ec3bb3c6f0eea29025171375ec2701cdad1c9ba..a17cff21f6be93179ed058780c84fdd25fec911e 100644
--- a/test/suite/ch12/12.5/S12.5_A12_T3.js
+++ b/test/suite/ch12/12.5/S12.5_A12_T3.js
@@ -4,7 +4,7 @@
 /**
  * Embedded "if/else" constructions are allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A12_T3.js
+ * @path ch12/12.5/S12.5_A12_T3.js
  * @description Using embedded "if/else" into "if" without "else" constructions
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A12_T4.js b/test/suite/ch12/12.5/S12.5_A12_T4.js
index 6d1d7cf41d3dc15ac69b7314f952de9ea20ffcc1..03f643d6285188195ee3e3467eca0b1739e905c1 100644
--- a/test/suite/ch12/12.5/S12.5_A12_T4.js
+++ b/test/suite/ch12/12.5/S12.5_A12_T4.js
@@ -4,7 +4,7 @@
 /**
  * Embedded "if/else" constructions are allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A12_T4.js
+ * @path ch12/12.5/S12.5_A12_T4.js
  * @description Using embedded "if" into "if" constructions
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A1_T1.js b/test/suite/ch12/12.5/S12.5_A1_T1.js
index 7beb6f31b561ce8fcfa160d8d16aaddcbf024b32..df6f327d4f3591235a3114c82c402dccd1c628fe 100644
--- a/test/suite/ch12/12.5/S12.5_A1_T1.js
+++ b/test/suite/ch12/12.5/S12.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * 1, true, non-empty string in expression is evaluated to true
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A1_T1.js
+ * @path ch12/12.5/S12.5_A1_T1.js
  * @description Using "if" without "else" construction
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A1_T2.js b/test/suite/ch12/12.5/S12.5_A1_T2.js
index 0344eb7df0d85938c690ac188c8f46a75c423956..ea952a9303af39f71bf4a407d7d8a82bb1cb1edc 100644
--- a/test/suite/ch12/12.5/S12.5_A1_T2.js
+++ b/test/suite/ch12/12.5/S12.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * 1, true, non-empty string in expression is evaluated to true
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A1_T2.js
+ * @path ch12/12.5/S12.5_A1_T2.js
  * @description Using "if/else" construction
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A2.js b/test/suite/ch12/12.5/S12.5_A2.js
index e1c1c17590a5d160c4139f10167a7b96755bc1a4..c953c29cdc35955a3edbba205e09795cd87ee0ed 100644
--- a/test/suite/ch12/12.5/S12.5_A2.js
+++ b/test/suite/ch12/12.5/S12.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * In the "if" Statement eval in Expression is admitted
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A2.js
+ * @path ch12/12.5/S12.5_A2.js
  * @description Checking by using eval "eval("true")"
  * @negative
  */
diff --git a/test/suite/ch12/12.5/S12.5_A3.js b/test/suite/ch12/12.5/S12.5_A3.js
index 6ad0c4c17fe012e61dc3d2d7fd3b7f2de996bb72..3eb41d59b83e82377e2321ebd355e2997a15cddf 100644
--- a/test/suite/ch12/12.5/S12.5_A3.js
+++ b/test/suite/ch12/12.5/S12.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * When the production "IfStatement: if ( Expression ) Statement else Statement" is evaluated, Expression is evaluated first
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A3.js
+ * @path ch12/12.5/S12.5_A3.js
  * @description The Expression is "(function(){throw 1})()"
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A4.js b/test/suite/ch12/12.5/S12.5_A4.js
index f301bd4863225e4906a282dc23bc58342a84570b..73babcfeaf701199f9048a15e53c5bbcd19f97c8 100644
--- a/test/suite/ch12/12.5/S12.5_A4.js
+++ b/test/suite/ch12/12.5/S12.5_A4.js
@@ -4,7 +4,7 @@
 /**
  * When the production "IfStatement: if ( Expression ) Statement else Statement" is evaluated, Statement(s) is(are) evaluated second
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A4.js
+ * @path ch12/12.5/S12.5_A4.js
  * @description The first statement is "(function(){throw "instatement"})()"
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A5.js b/test/suite/ch12/12.5/S12.5_A5.js
index a558be1732fae171b2629fffd00aaa916f391391..72c334a67c1cc2071d09b2fe1aa56f53db4e169d 100644
--- a/test/suite/ch12/12.5/S12.5_A5.js
+++ b/test/suite/ch12/12.5/S12.5_A5.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration inside the "if" Expression is evaluated as true and function will not be declarated
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A5.js
+ * @path ch12/12.5/S12.5_A5.js
  * @description The "if" Expression is "function __func(){throw "FunctionExpression";}"
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A6_T1.js b/test/suite/ch12/12.5/S12.5_A6_T1.js
index 06850e8e529310b127ddbbab8d3ae622ab873420..76aabe63c462ca86254d00eb06d44de9643fb9c1 100644
--- a/test/suite/ch12/12.5/S12.5_A6_T1.js
+++ b/test/suite/ch12/12.5/S12.5_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * In the If statement expression must be enclosed in braces
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A6_T1.js
+ * @path ch12/12.5/S12.5_A6_T1.js
  * @description Checking if execution of "if true" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.5/S12.5_A6_T2.js b/test/suite/ch12/12.5/S12.5_A6_T2.js
index 354c2e14d465637b0023d5496881eb2ce8306ace..1b6f383ab72174a79b9941b465aaf3f4c824803b 100644
--- a/test/suite/ch12/12.5/S12.5_A6_T2.js
+++ b/test/suite/ch12/12.5/S12.5_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * In the If statement expression must be enclosed in braces
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A6_T2.js
+ * @path ch12/12.5/S12.5_A6_T2.js
  * @description Checking if execution of "if false" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.5/S12.5_A7.js b/test/suite/ch12/12.5/S12.5_A7.js
index 48afb84cedbadaf5927f417d2517586961038318..f450d6aea250eb4a14dad64f01a9498a4712cd4b 100644
--- a/test/suite/ch12/12.5/S12.5_A7.js
+++ b/test/suite/ch12/12.5/S12.5_A7.js
@@ -4,7 +4,7 @@
 /**
  * In the "if" statement empty statement is allowed and is evaluated to "undefined"
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A7.js
+ * @path ch12/12.5/S12.5_A7.js
  * @description Checking by using eval "eval("if(1);"))"
  */
 
diff --git a/test/suite/ch12/12.5/S12.5_A8.js b/test/suite/ch12/12.5/S12.5_A8.js
index b20c6cd8d07f4830096a2fcb078e7bd935f3c467..7a2d4b9c6754e5b48de4d3a15e4d400144dcf323 100644
--- a/test/suite/ch12/12.5/S12.5_A8.js
+++ b/test/suite/ch12/12.5/S12.5_A8.js
@@ -4,7 +4,7 @@
 /**
  * In the "if" Statement empty expression is not allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A8.js
+ * @path ch12/12.5/S12.5_A8.js
  * @description Checking if execution of "if()" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.5/S12.5_A9_T3.js b/test/suite/ch12/12.5/S12.5_A9_T3.js
index 1d947ac4af4c8c6fab9c72b8d9ec588523a0d870..c2cce81cdb391af5e4599d8d67b5c3b850f9a580 100644
--- a/test/suite/ch12/12.5/S12.5_A9_T3.js
+++ b/test/suite/ch12/12.5/S12.5_A9_T3.js
@@ -4,7 +4,7 @@
 /**
  * Function declaration within an "if" statement is not allowed
  *
- * @path 12_Statement/12.5_The_if_Statement/S12.5_A9_T3.js
+ * @path ch12/12.5/S12.5_A9_T3.js
  * @description Declaring function within an "if" statement that is declared within the function declaration
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A1.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A1.js
index 2828d475443dff18688013e7b4838d8d98a11ea7..c95c6ff1e0b98ec7d6949628c620177a37bde045 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A1.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A1.js
  * @description Evaluating various Expressions
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A10.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A10.js
index 4c19893455d10fc61f80b38ca01dc1952932669e..0c01a5e2eda0a95cb5f7ba64b103ff2b9439f63b 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A10.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A10.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a "do-while" statement is allowed, but no function with the given name will appear in the global context
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A10.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A10.js
  * @description Also this a test on FunctionExpression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A11.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A11.js
index 2c24455bc1a0450931eedd1857824a32ab993c0b..60071bd6b415db09530ca36cc2a898b49167bc56 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A11.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A11.js
@@ -4,7 +4,7 @@
 /**
  * Block "{}" in a "do-while" Expression is evaluated to true
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A11.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A11.js
  * @description Checking if execution of "do {} while({})" passes
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A12.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A12.js
index 68497d27b904afc761a9ca01123b567a3823cfef..1e623bc43dfc71ff9dbc74f2a934b59556e58502 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A12.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A12.js
@@ -4,7 +4,7 @@
 /**
  * Any statement within "do-while" construction must be a compound
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A12.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A12.js
  * @description Checking if execution of "do var x=1; var y =2; while (0)" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A13_T3.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A13_T3.js
index 7dca223e80ea6e8e9e2dd684d21b1633ae579577..29bf80ac9f7879b3c84b5bfbd2bc4199d59926e0 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A13_T3.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A13_T3.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration within a "do-while" Block is not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T3.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A13_T3.js
  * @description Declaring a function within a "do-while" loop that is within a function declaration itself
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T1.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T1.js
index ef62c708454ea743a82d956e85f770fe1c5eaf59..38bc21491b5f43fe3914260c9591dc82b5ac115d 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T1.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T1.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a "do-while" Expression is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A14_T1.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A14_T1.js
  * @description Using FunctionExpression "function __func(){return 0;}" as an Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T2.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T2.js
index aa6bfcaa89e9c813c0174f51c20e6a48dcb7c532..9ae3ad7638deda1ed0811edf3eb072a363c26b18 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T2.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A14_T2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a "do-while" Expression is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A14_T2.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A14_T2.js
  * @description Using FunctionExpression "function __func(){return 0;}()" as an Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A15.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A15.js
index 928a1b5f9600fe9fe521e965a92dfc155343b258..65588750c8553e8e06c93afc6cdcafd836131084 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A15.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A15.js
@@ -4,7 +4,7 @@
 /**
  * Block within a "do-while" Expression is not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A15.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A15.js
  * @description Using "{0}" Block as an Expression
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A2.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A2.js
index 9789b8eba5e61269b37233d0a4388f4e1f9929a8..6540356a0d6fc966c47f659897325ca680a90714 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A2.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating "do Statement while ( Expression )", Statement is evaluated first and only after it is done Expression is checked
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A2.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A2.js
  * @description Evaluating Statement with error Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A3.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A3.js
index 6d0107cd0974daaa16176e5946d6d8af0784ca83..5f5f0ed6903223796b17419dd66869982afd22ce 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A3.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * When the production "do Statement while ( Expression )" is evaluated, then (normal, V, empty) is returned
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A3.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A3.js
  * @description Using eval "eval("do __in__do=1; while (false)")"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T1.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T1.js
index 593929bbd54ea43aa91f535ceb11eb93d55c75db..917afe3293d1158c672590a67f48ed23d6ca051b 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T1.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "do-while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A4_T1.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A4_T1.js
  * @description Using "break" within a "do-while" loop
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T2.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T2.js
index cb24747467158ba41d3bac47c204d41583bd85a8..72e01a07d9d9118aa74355490b263d5bf03164aa 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T2.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "do-while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A4_T2.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A4_T2.js
  * @description "break" and VariableDeclaration within a "do-while" statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T3.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T3.js
index d614562aa3edf28cf47b4f02eb96d518203a39c7..a6adc083694e750094d80056d18d160ea3d2c52c 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T3.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "do-while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A4_T3.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A4_T3.js
  * @description "break" and VariableDeclaration within a "do-while" statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T4.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T4.js
index 56cacb51578ee765ec5b50a6bc8f4d26557bbb0f..52cb23cc95791e1ef5c266857bb984d3c03d8059 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T4.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "do-while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A4_T4.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A4_T4.js
  * @description "break" and VariableDeclaration within a "do-while" statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T5.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T5.js
index cac2be619e8dcb27dbd6c1c13b0c8e41bf650463..97f65bf598b1525955f262c1a2ce06e60ee96e11 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T5.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "do-while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A4_T5.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A4_T5.js
  * @description Using labeled "break" in order to continue a loop
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A5.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A5.js
index 239963ad98446e6ca52b2f64eaf413f4b7299d6b..67bc20de25f80907103a328f24202d27f2b39ec4 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A5.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A5.js
@@ -4,7 +4,7 @@
 /**
  * After "do-while" is broken, (normal, V, empty) is returned
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A5.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A5.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T1.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T1.js
index 1fb24986ba8e72097a990cfd2ee3cdea1d9a8b59..40af77c630d86e9538bf75195633763b21429ed6 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T1.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "do-while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A6_T1.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A6_T1.js
  * @description Checking if execution of "do{} while 1" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T2.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T2.js
index f90a35dffd3a97ab4a12d2390dd3d8452bd076b6..06fb063caeeba81e0eb4e979d7ac73b20ac91166 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T2.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "do-while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A6_T2.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A6_T2.js
  * @description Checking if execution of "do{} while 0" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T3.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T3.js
index 014f96b005b22e4b2eb43692735ef51ac2e665fc..b29c7c83f34e92c7bd29b184e8ee1b7166335132 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T3.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "do-while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A6_T3.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A6_T3.js
  * @description Checking if execution of "do{}while true" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T4.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T4.js
index 72fdc2d6284693aecf1a824b6dcba094629a7201..55b67050658b25d45e8a89491a8707bd463d136c 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T4.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T4.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "do-while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A6_T4.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A6_T4.js
  * @description Checking if execution of "do{}while false" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T5.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T5.js
index 7b2b2377aa25bb7e9c56d31755255c168a88dc6e..4b0b062022edb5dbc1d2549f91074ac941387c62 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T5.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T5.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "do-while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A6_T5.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A6_T5.js
  * @description Checking if execution of "do{}while ''" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T6.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T6.js
index 7ffb6386d33f655b85853a5f6075d09fce4f458c..35e96f41e35e13fbfcf61ea6e3db291a7f29ac14 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T6.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A6_T6.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "do-while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A6_T6.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A6_T6.js
  * @description Checking if execution of "do{}while 'hood'" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A7.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A7.js
index d65bc5c62cbb8c242f5ef0c64948000595034cc1..78ca8c4ec6cffb520c795ab1c2463b3c19fab6e2 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A7.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A7.js
@@ -4,7 +4,7 @@
 /**
  * The "do-while" Statement is evaluted according to 12.6.1 and returns (normal, V, empty)
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A7.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A7.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A8.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A8.js
index dcfcd30f8d671e2b975bad74b725abd802e06837..2f7c7e742e1a693edf152775829a1fc83b2fb2a9 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A8.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A8.js
@@ -4,7 +4,7 @@
 /**
  * "continue" statement within a "do-while" Statement is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A8.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A8.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.1/S12.6.1_A9.js b/test/suite/ch12/12.6/12.6.1/S12.6.1_A9.js
index a2b8793be27184ad3088c55199da940642041751..7ef695f56dcea941b8c8ca82043695eff37c7d8d 100644
--- a/test/suite/ch12/12.6/12.6.1/S12.6.1_A9.js
+++ b/test/suite/ch12/12.6/12.6.1/S12.6.1_A9.js
@@ -4,7 +4,7 @@
 /**
  * "do-while" Statement is evaluated without syntax checks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A9.js
+ * @path ch12/12.6/12.6.1/S12.6.1_A9.js
  * @description Throwing system exception whithin a "do-while" loop
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A1.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A1.js
index d462c776b5f60f65a055fe39c7853973bf73f167..cb7fff72225ec9c7bf72da6a42e495c1a47b262f 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A1.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * Expression from "while" IterationStatement is evaluated first; "false", "0", "null", "undefined" and "empty" strings used as the Expression are evaluated to "false"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A1.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A1.js
  * @description Evaluating various Expressions
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A10.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A10.js
index cb56b42019358561b2e9b121da81deeb879ce841..9a05fe3172a74cd534634c61020f6bb508bc43c9 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A10.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a "while" IterationStatement is allowed, but no function with the given name will appear in the global context
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A10.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A10.js
  * @description Testing FunctionExpression too
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A11.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A11.js
index 121311ddc95b6dda3190cbc6875c5ae5931e3929..6ff4c779c839ee33a5477097963a48bee658a5de 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A11.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A11.js
@@ -4,7 +4,7 @@
 /**
  * "{}" Block within a "while" Expression is evaluated to true
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A11.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A11.js
  * @description Checking if execution of "while({}){}" passes
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A13_T3.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A13_T3.js
index 782d0d42dc3c2b061481136e87264e59fdc7955a..2947810372119f2df7ecb273f75173f8873126ca 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A13_T3.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A13_T3.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration within a "while" Statement is not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A13_T3.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A13_T3.js
  * @description Checking if declaring a function within a "while" Statement that is in a function body leads to an exception
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T1.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T1.js
index 8fac5fa8b31d27b1b7f750c8f20b22eb7a2cb180..f27b9df262fa04fb3fd970caf9a9b101e1c727ec 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T1.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T1.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a "while" Expression is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A14_T1.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A14_T1.js
  * @description Using "function __func(){return 0;}" as an Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T2.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T2.js
index 12e3816fcbd8590372b8070a7ee67908b34b328a..cd867ea973008c5b03e338902893aff396743990 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T2.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A14_T2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a "while" Expression is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A14_T2.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A14_T2.js
  * @description Using function call as an Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A15.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A15.js
index 2a948b5df586aa6a576df82ae7b377d8136e1a2c..e1e231dd4cef5e724751238551b05193016be880 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A15.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A15.js
@@ -4,7 +4,7 @@
 /**
  * Block within a "while" Expression is not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A15.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A15.js
  * @description Expression is "{0}"
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A2.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A2.js
index 991066da724c26131e7e4f4db0524745b27082b3..e3994d474900f4c3b0068543a1788d8683f91bcf 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A2.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating The production IterationStatement: "while ( Expression ) Statement", Expression is evaluated first
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A2.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A2.js
  * @description Evaluating Statement with error Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A3.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A3.js
index 1724ba2e79f7fd81fda476dd05579f7537242e07..ec8934e8e4c228706e158f2326c4bc3806738c2b 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A3.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * When "while" IterationStatement is evaluated, (normal, V, empty) is returned
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A3.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A3.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T1.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T1.js
index e88f41b0353f89c473f9dc87a96aa6d02a0b4483..5e20d53ba282a97900ee5b2583dee2697f747d4b 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T1.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A4_T1.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A4_T1.js
  * @description "break" within a "while" Statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T2.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T2.js
index 4e68988bbff979d774789ac850c3d957375541df..616145c02013ebbeec29dc6c1ffc63cc3095e68a 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T2.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A4_T2.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A4_T2.js
  * @description "break" and VariableDeclaration within a "while" Statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T3.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T3.js
index 8f2d78fcb2abe170c0d107e02cde2ebce6a35783..a86e95705102084c770de33225c70e59f09e2559 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T3.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A4_T3.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A4_T3.js
  * @description "break" and VariableDeclaration within a "while" Statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T4.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T4.js
index 1b3343b209711d92a9e2ce95f6f1e967272fbc50..4dc75f13750f409df11ef75173aff169a2ae6462 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T4.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A4_T4.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A4_T4.js
  * @description "break" and VariableDeclaration within a "while" Statement
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T5.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T5.js
index 45cb8f4ccdece31e6e561210377c77be2cca78d6..46e5b95c7afe5a1a4b6dc541f38393d4ddba15f6 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T5.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * "break" within a "while" Statement is allowed and performed as described in 12.8
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A4_T5.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A4_T5.js
  * @description Using labeled "break" in order to continue a "while" loop
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A5.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A5.js
index 61dad984822b35c3a173a393d0909bb744fb657b..899837466e2226d0bc411bd7407b8268c0a6bcdb 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A5.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A5.js
@@ -4,7 +4,7 @@
 /**
  * While using "while" within an eval statement, source "break" is allowed and (normal, V, empty) is returned
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A5.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A5.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T1.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T1.js
index f00d9197c2ef6993af8975810e02008106a21e0f..f9a4e97448d32a92540e38979d4152fb4b5d7ec0 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T1.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A6_T1.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A6_T1.js
  * @description Checking if execution of "while 1 break" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T2.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T2.js
index e55c858c33dcef6cbfc2c6d5f8b8ced7688ead74..b7f61b8b4f1a9011caed73127ca355e03f3b1c1e 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T2.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A6_T2.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A6_T2.js
  * @description Checking if execution of "while 0 break" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T3.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T3.js
index 148b6b9f55920720b778406e0af4933a9f50dc4f..4b0eaea0353f3fdcea3c5b89891d5c5a10913cf4 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T3.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A6_T3.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A6_T3.js
  * @description Checking if execution of "while true break" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T4.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T4.js
index f37d3572079ebadb179312a5ba40d10beb9c9c87..8d17ce8f166427301e1b38ebe6a88fbde61f8668 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T4.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T4.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A6_T4.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A6_T4.js
  * @description Checking if execution of "while false break" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T5.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T5.js
index bfb44055ed24e96b2da180d6c586521cf86b1a28..e1b67774198f2e128cc8781b0dec383a2a1a4b7b 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T5.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T5.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A6_T5.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A6_T5.js
  * @description Checking if execution of "while '' break" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T6.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T6.js
index edde4d900a2b1dac7c39dd7584f2986e990c28d4..78ce3abdb591e2243f661983d8faf3be6dd195f3 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T6.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A6_T6.js
@@ -4,7 +4,7 @@
 /**
  * Expression in "while" IterationStatement is bracketed with braces
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A6_T6.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A6_T6.js
  * @description Checking if execution of "while 'hood' break" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A7.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A7.js
index 5835e52046cdb25f7f6b938b2ad9f13fc2b81a53..5743cd6d4e3d00a1e2ac54eda6405bcdfa7de0a7 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A7.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A7.js
@@ -4,7 +4,7 @@
 /**
  * The "while" Statement is evaluted according to 12.6.2 and returns (normal, V, empty)
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A7.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A7.js
  * @description using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A8.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A8.js
index 203ecc6cd6f15cc21aa41dde93b45b583604b745..a5af5748db32f19773d85bfe3aa7e344e68d178b 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A8.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A8.js
@@ -4,7 +4,7 @@
 /**
  * "continue" statement within a "while" Statement is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A8.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A8.js
  * @description using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.2/S12.6.2_A9.js b/test/suite/ch12/12.6/12.6.2/S12.6.2_A9.js
index 7b2a5f5cf7d7c8dacdd29e2f077dd403fdf456bd..12618180f613c97c6ce9c52d169dd6b85825a6ac 100644
--- a/test/suite/ch12/12.6/12.6.2/S12.6.2_A9.js
+++ b/test/suite/ch12/12.6/12.6.2/S12.6.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * "while" Statement is evaluated without syntax checks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.2_The_while_statement/S12.6.2_A9.js
+ * @path ch12/12.6/12.6.2/S12.6.2_A9.js
  * @description Throwing system exception inside "while" loop
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A1.js
index f5d8e98669c0d6d3e15f6e6afcaabca6b715d150..dd200559c5fa39716120a00392cd8674bcdb24c1 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The "for {;;}" for Statement with empty expressions is allowed and leads to performing an infinite loop
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A1.js
  * @description Breaking an infinite loop by throwing exception
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.1.js
index 06ab610fb8e5ee5937dcaa67efa6b6a81bc92416..13bfc59fffac6a84f46180923cf393189b461121 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.1.js
@@ -4,7 +4,7 @@
 /**
  * Nested "var-loops" nine blocks depth is evaluated properly
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A10.1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A10.1.js
  * @description Checking if executing nested "var-loops" nine blocks depth is evaluated properly
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.js
index 212f9d2b4f5c83650f4ac9060e1ddfae8d2c4b3d..fb17b0b2c5078dab0c961c14d329cab1580cf3ef 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A10.js
@@ -4,7 +4,7 @@
 /**
  * Nested "var-loops" nine blocks depth is evaluated properly
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A10.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A10.js
  * @description Checking if executing nested "var-loops" nine blocks depth is evaluated properly
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js
index ff1e2a000cb5e6a7991fbea1c936ae84a910009e..d050b3dbc06dbbc3785443b19fc5df7e45c0d6ae 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11.1_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js
  * @description Using "continue" in order to continue a loop
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js
index 3f426d1367e783e21b70f266319a0474a45e07ef..cc0233d418aaa2cd9add930ac7e54cdd89f52589 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11.1_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js
  * @description Embedded loops
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js
index cc38d5134d233ea28b94556243f195e5e95dd478..d02abf29287a904f329b99747be57161eddc07e5 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11.1_T3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js
  * @description Trying to continue non-existent label
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T1.js
index 6060c2bac2e527acb3e7525ef2c18cfcd1020d9e..192f1ebd5294e0b52ea9d488c1038cd1c2d564df 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T1.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A11_T1.js
  * @description Simple test of continue loop with using "continue"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T2.js
index 6e33033eade7edcefab2323f6056965bae27393d..cdc606b5c20e36e94ceeb69592b78d69b08e4b1b 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T2.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A11_T2.js
  * @description Embedded loops
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T3.js
index 4329d4f6d2099e231ada160e7db20af8b9682847..2807bc86ff6b598ebddb0e559ed67ae327ba3cf4 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A11_T3.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A11_T3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A11_T3.js
  * @description Trying to continue non-existent label
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js
index d61509610b1b0875f63933dd84d6e1e68d6fa382..48fc3b30c1eda0ad4bf79a4edaad1d95b55bd310 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12.1_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js
  * @description Breaking a loop with "break"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js
index 57537261c0b7db57a8e22eb7f58aa2347ebea1c7..939fd991d7882004d9193c2aea78fd76786ebba5 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12.1_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js
  * @description Embedded loops
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js
index 5fb588f9a283c01178a7e2de7ec5a8cfbe281b5f..96a5accd9cb4b40deafb0a345dfe7d8228c3c69b 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12.1_T3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js
  * @description Trying to break non-existent label
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T1.js
index 6045a1a0851ceb652f4a8e60279cb886b17f97b7..55031321d046404670e5e1cbc2eda25abedaa7fc 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T1.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A12_T1.js
  * @description Breaking a loop with "break"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T2.js
index fb1cf429159485c2fca14453ed49717d5cd23f0d..e97dc7da3edb26df3429fd03765fce1526abdb22 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T2.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A12_T2.js
  * @description Embedded loops
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T3.js
index e5bfe20459bd8de723f16967fe6a13f50bfb2007..67fd236cd3a70378e53a7c7cbf8d3350c7c70828 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A12_T3.js
@@ -4,7 +4,7 @@
 /**
  * If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A12_T3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A12_T3.js
  * @description Trying to break non-existent label
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A13.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A13.js
index 9518b87baf63c0cadc0326a5924c673fbab62b70..452902537e247afeecdae1b5a387618e171b12ad 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A13.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A13.js
@@ -4,7 +4,7 @@
 /**
  * VariableDeclaration in "var VariableDeclarationListNoIn" of for IterationStatement is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A13.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A13.js
  * @description Declaring variable in "for" ExpressionNoIn
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A14.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A14.js
index d449b35b4de0a0070b494641fb00c3f2df45ca68..182482dd925b1ac753260c33635ea5fce4d2b178 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A14.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A14.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationListNoIn; Expression; Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A14.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A14.js
  * @description Using +,*,/, as the second Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A15.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A15.js
index 4674396f8e69b32565abf494dbaccabe53e71449..4ec6147b9e9a39c1eea4364ed4aa67c4d3d5486b 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A15.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A15.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationListNoIn; Expression; Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A15.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A15.js
  * @description Statement must be evaluated before second Expression is evaluated
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.1.js
index 4c47ff2a0ac789908a71524ad1393f9f40d93ce8..78372a2d7e541e33471286e94ffcbef9bd8da710 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating "for (ExpressionNoIn ;  ; Expression) Statement", Statement is evaulated first
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A2.1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A2.1.js
  * @description Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.2.js
index 6f526182a65d8149c717f87d59f1283c6c643d54..f6391e2f7bed023e70562faee06d43558fe484c8 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating "for (ExpressionNoIn;;) Statement", Statement is evaulated first
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A2.2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A2.2.js
  * @description Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.js
index dceaab18de607a343f08a2edc255e99f1b4379bb..86718d9d15cf0fc31354de37e3bc1652bd9598e9 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating "for (ExpressionNoIn; Expression; Expression) Statement", ExpressionNoIn is evaulated first
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A2.js
  * @description Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A3.js
index 6cbbc80d3f83ac0f5c0ca7b1b5e1420c5b710835..2c46dbfbb86132c45aa5d89342e21bcd13060761 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement", ExpressionNoIn is evaulated first, FirstExpressoin is evaluated second
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A3.js
  * @description Using "(function(){throw "FirstExpression"})()" as FirstExpression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A4.1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A4.1.js
index 91e79807e9a8b995cc20d37eb38c1732ad62f817..a6493527454b6f0de29db924d5fd7efc5b8bdce6 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A4.1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A4.1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A4.1.js
  * @description Checking if execution of "for (var a in arr;1;){}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T1.js
index 9edff63af7c9dae314865603cff73887e75bd0a3..48e56c4b14ede840d5a8249e546931f8f10c9e87 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A4_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A4_T1.js
  * @description Checking if execution of "for (a in arr;1;){}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T2.js
index 1228e3763d830548923ff4e2c9e055fe2a38bd9e..2a292a808992dbe76830f9b30c2e9447a46152d2 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A4_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A4_T2.js
  * @description Checking if execution of "for (1 in arr;1;){}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A5.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A5.js
index 42049d84f050b9c1a6d4b2680c164b1da9082089..6cab0f017ad66bd0e8509711ee41322e001e59da 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A5.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A5.js
@@ -4,7 +4,7 @@
 /**
  * "in"-expression wrapped into "eval" statement is allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A5.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A5.js
  * @description Using eval "for(eval("i in arr");1;)"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A6.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A6.js
index 0e1cc972db08bf6ce3a60f0cec7d06116167be15..1dfd5b457523a8fd3b03013be1dc1c7b68c12c9f 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A6.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A6.js
@@ -4,7 +4,7 @@
 /**
  * While evaluating "for ( ;  ; Expression) Statement", Statement is evaluated first and then Expression is evaluated
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A6.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A6.js
  * @description Using "(function(){throw "SecondExpression";})()" as an Expression
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js
index 2d78d59fa3a8daee9df84429a27e471ff830d978..f8b2fdbd0621cc311f14c3af9285d2968c544d8c 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js
@@ -5,7 +5,7 @@
  * Only three expressions and two semicolons in "for(with var)" braces are allowed.
  * Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A7.1_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js
  * @description Checking if execution of "for(var index=0; index<10; index++; index--)" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js
index 48fb3662ec267ec90fdde2cd155fa6a1183e3c1f..550b14b19f24bace8a07561ebecdd975ebda2e02 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js
@@ -5,7 +5,7 @@
  * Only three expressions and two semicolons in "for(with var)" braces are allowed.
  * Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A7.1_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js
  * @description Checking if execution of "for(var index=0; index<10; index+=4; index++; index--)" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T1.js
index 4607e988b397e9d005cf17b95ad60a96ddabc11b..39dcc1c6a587736e72a62101f80db93e3bd1cc79 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T1.js
@@ -5,7 +5,7 @@
  * Only three expressions and two semicolons in "for" braces are allowed.
  * Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A7_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A7_T1.js
  * @description Checking if execution of "for(index=0; index<10; index++; index--)" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T2.js
index e30eba022b2972a4ea5e2a9312b830fff462a294..2f22dbf3c6139dd7017a50abe278a4d3d53e1679 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A7_T2.js
@@ -5,7 +5,7 @@
  * Only three expressions and two semicolons in "for" braces are allowed.
  * Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A7_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A7_T2.js
  * @description Checking if execution of "for(index=0; index<10; index+=4; index++; index--)" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js
index 64ada199175438af529a94df859f1a7ef6232b93..ddd3c30e4185592e62482b1330506b4f08913d35 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Blocks within "for(with var)" braces are not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8.1_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js
  * @description Checking if execution of "for(var index=0; index<100; {index++; index*2;}) {  arr.add(""+index);}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js
index 197f6f4885ff03cb919adba5cea4b4173130a8bc..81cbed22bfaadde020ca3ed720a9af8554b3b49c 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Blocks within "for(with var)" braces are not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8.1_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js
  * @description Checking if execution of "for(var index=0; {index++;index<100;}; index*2;) {  arr.add(""+index);}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js
index a8c303f15d182a3edeee67f667fde6f865079ff0..8c26060e3e02d55ababc318f8016270cebb53363 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Blocks within "for(with var)" braces are not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8.1_T3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js
  * @description Checking if execution of "for({var index=0; index+=1;} index++<=10; index*2;) { arr.add(""+index);}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T1.js
index 4329e8b3733e17677550c1f4670f8fe80da990dd..8f9ce29d68c1137b010dc1bfe1c100086a3a2fdd 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Blocks within "for" braces are not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8_T1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A8_T1.js
  * @description Checking if execution of "for(index=0; index<100; {index++; index*2;}) {  arr.add(""+index);}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T2.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T2.js
index 985ac41348ef31b1b55425f3b1066d12b47e7626..406d23bbb786680f6248b9d003f97fdd8a2aeb68 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T2.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Blocks within "for" braces are not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8_T2.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A8_T2.js
  * @description Checking if execution of "for(index=0; {index++;index<100;}; index*2;) {  arr.add(""+index);}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T3.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T3.js
index a9b449803ab20ae0e0cf6ed12be8987467a496dd..9843a3229e7108fd750ca6d32f5a80701c3b7115 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T3.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * Blocks within "for" braces are not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8_T3.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A8_T3.js
  * @description Checking if execution of "for({index=0; index+=1;} index++<=10; index*2;) { arr.add(""+index);}" fails
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.1.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.1.js
index 14bb018ff2adc0d4631ea6f0142627b64ada77a9..c2031c9ab367fd4a4ba304f6ef8174fcf2c4078c 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.1.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.1.js
@@ -4,7 +4,7 @@
 /**
  * The result of evaluating "for( ExpNoIn;Exp;Exp)" loop is returning (normal, evalValue, empty)
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A9.1.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A9.1.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.js b/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.js
index 9e3ca7ce9cc4dbcf380291778972d91babed2fca..11b88316f6ade494d9d55d8b0fbc8af651e04744 100644
--- a/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.js
+++ b/test/suite/ch12/12.6/12.6.3/S12.6.3_A9.js
@@ -4,7 +4,7 @@
 /**
  * The result of evaluating "for(var ExpNoIn;Exp;Exp)" loop is returning (normal, evalValue, empty)
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A9.js
+ * @path ch12/12.6/12.6.3/S12.6.3_A9.js
  * @description Using eval
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A1.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A1.js
index 5728b3a8f699c21bf915d9854ea9dd5f3dc45af0..fd8c754bfe6f26d6ed8b53c0df69c7ceabf423e1 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A1.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * "for(key in undefined)" Statement is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A1.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A1.js
  * @description Checking if execution of "for(key in undefined)" passes
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A13_T3.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A13_T3.js
index 1974d4da66f9392692ada0108bd2cc9f5a681a89..86cd5d401206740178b4f5a272f0e776e0de65b0 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A13_T3.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A13_T3.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration within a "for-in" Statement is not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A13_T3.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A13_T3.js
  * @description Declaring function within a "for-in" Statement that is within function declaration
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A14_T2.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A14_T2.js
index 0e2fde45c1e42083708257417edf0d910063f9e3..b90e3e99b28d90e639433b2dbbedcf097ed4f90a 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A14_T2.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A14_T2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpession within a "for-in" Expression is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A14_T2.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A14_T2.js
  * @description Using "function __func(){return {a:1};}()" as Expession
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A15.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A15.js
index 4d6e8cee53af3c84907ccbdd05fb41862250f840..c19908904db89004728f39957e15a90039b993df 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A15.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A15.js
@@ -4,7 +4,7 @@
 /**
  * Block within a "for-in" Expression is not allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A15.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A15.js
  * @description Using block within "for-in" Expression
  * @negative
  */
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A2.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A2.js
index 2a7543c73f1e544a4499a0ed130ff5adb2e38f19..e8db640c0d2f11439c609384f7d17832328700e9 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A2.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * "for(key in null)" Expression is allowed
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A2.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A2.js
  * @description Checking if execution of "for(key in null)" passes
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.1.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.1.js
index cc7fd0609a792c39bbda8773f8180d225507f70e..d232fe48d950d4f6db32fe8518d3472e5e2729df 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.1.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A3.1.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A3.1.js
  * @description Using an array as an Expression is appropriate. Here Expression is an array of numbers
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.js
index 54fe87c1987f9ed0c748aafd5381a725c1d2a865..2b34c38c73fbc9cecef7b6e09697fafdf2027e6c 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A3.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A3.js
  * @description Using an array as an Expression is appropriate. Here Expression is an array of numbers. Eval is used
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.1.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.1.js
index 1f775c0c3820c7faa4cd2f2891ea99a540c4124e..a491b3f34175c582d2e82f1b0427ecc110fd7ac8 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.1.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A4.1.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A4.1.js
  * @description Using Object as an Expression is appropriate. Eval is used
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.js
index 6bf59f94f72d169d9efffd8a5862633416fbf1a0..79f496b8cd7649a2f1edebc7df84fadda9034ae4 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A4.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A4.js
  * @description Using Object as an Expression is appropriate. Eval is used
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.1.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.1.js
index e129553225cf10f333b64e7d0381bb42c37f14ac..37992e1dd909a966ae03ef602c169d722b8d34b8 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.1.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A5.1.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A5.1.js
  * @description Using hierarchical Object as an Expression is appropriate. The depth is two
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.js
index 9a57658e0097277a60b958f82177f04632d55aa6..974659f107db98d67a9ee2627a90adc7f5c1eb0b 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A5.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A5.js
  * @description Using hierarchical Object as an Expression is appropriate. The depth is two
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.1.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.1.js
index b3e288f92a643dcb485eeeb32de38e3366b92bd7..78cc2e8420e26ef18de1d3519cb38789071befaf 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.1.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A6.1.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A6.1.js
  * @description Using Object with custom prototype as an Expression is appropriate. The prototype is "{feat:2,hint:"protohint"}"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.js
index 6f2327141e349fb09e9bb0106ba3b7a3c5c6a6d7..5a1f8d9c2b7f981f1bda1f8be966b15dd7666e54 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A6.js
@@ -4,7 +4,7 @@
 /**
  * The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement"
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A6.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A6.js
  * @description Using Object with custom prototype as an Expression is appropriate. The prototype is "{feat:2,hint:"protohint"}"
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T1.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T1.js
index f4bfe362a4778ae07bea5dfd51d8c851cf70295d..1105b7ff2532daaad14be3d63da1d4c0d9f70d5f 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T1.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * Properties of the object being enumerated may be deleted during enumeration
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A7_T1.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A7_T1.js
  * @description Checking "for (LeftHandSideExpression in Expression) Statement" case
  */
 
diff --git a/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T2.js b/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T2.js
index 78aa0fdc0696d056529df64fbe95b00abd0119bc..48be196ab2faec98b02529db246f58f725ae9238 100644
--- a/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T2.js
+++ b/test/suite/ch12/12.6/12.6.4/S12.6.4_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * Properties of the object being enumerated may be deleted during enumeration
  *
- * @path 12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A7_T2.js
+ * @path ch12/12.6/12.6.4/S12.6.4_A7_T2.js
  * @description Checking "for (var VariableDeclarationNoIn in Expression) Statement" case
  */
 
diff --git a/test/suite/ch12/12.7/S12.7_A1_T1.js b/test/suite/ch12/12.7/S12.7_A1_T1.js
index d6717d8a78323dca64e1e8b3bf58ff659923a026..ec172729f8ec062134e63d9ad7f10e226bc78d02 100644
--- a/test/suite/ch12/12.7/S12.7_A1_T1.js
+++ b/test/suite/ch12/12.7/S12.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of continue without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A1_T1.js
+ * @path ch12/12.7/S12.7_A1_T1.js
  * @description Checking if execution of single "continue" without any IterationStatement fails
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A1_T2.js b/test/suite/ch12/12.7/S12.7_A1_T2.js
index c484c54176316780582a7186f5a81ffdcde76e1a..2aa90f8b1bed50f98e764b2b4aa9c7ec70c70469 100644
--- a/test/suite/ch12/12.7/S12.7_A1_T2.js
+++ b/test/suite/ch12/12.7/S12.7_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of continue without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A1_T2.js
+ * @path ch12/12.7/S12.7_A1_T2.js
  * @description Checking if single "continue" with Label but without any IterationStatement fails
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A1_T3.js b/test/suite/ch12/12.7/S12.7_A1_T3.js
index 3a40f2f84a22766aac068852105b7948c6fd08d9..4652dc86522591c227b2cdff4d593cba6146c5fd 100644
--- a/test/suite/ch12/12.7/S12.7_A1_T3.js
+++ b/test/suite/ch12/12.7/S12.7_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of continue without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A1_T3.js
+ * @path ch12/12.7/S12.7_A1_T3.js
  * @description Checking if laballed "continue" with no IterationStatement, placed into a block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A1_T4.js b/test/suite/ch12/12.7/S12.7_A1_T4.js
index c558e4c14d814a619578cc29e59b7030e07f0ae8..ac34f2642b027cc0b0e56e24ca4b8410e9b05b5c 100644
--- a/test/suite/ch12/12.7/S12.7_A1_T4.js
+++ b/test/suite/ch12/12.7/S12.7_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of continue without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A1_T4.js
+ * @path ch12/12.7/S12.7_A1_T4.js
  * @description Checking if execution of "continue" with no IterationStatement, placed into a block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A2.js b/test/suite/ch12/12.7/S12.7_A2.js
index ea5de1fd61102e08c2ce4d0430b5a4b39f8ecbe3..3f76aa1a4cd2f3df27ab4a595194739f461efcfa 100644
--- a/test/suite/ch12/12.7/S12.7_A2.js
+++ b/test/suite/ch12/12.7/S12.7_A2.js
@@ -4,7 +4,7 @@
 /**
  * Since LineTerminator between "continue" and Identifier is not allowed, "continue" is evaluated without label
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A2.js
+ * @path ch12/12.7/S12.7_A2.js
  * @description Checking by using eval, inserting LineTerminator between continue and Identifier
  */
 
diff --git a/test/suite/ch12/12.7/S12.7_A5_T1.js b/test/suite/ch12/12.7/S12.7_A5_T1.js
index 05c9d883ffe4e788a61539070085174d2cb6fb98..14a8b5f7a64ca8d86f2b36f0c10b6ac3f8cde7f7 100644
--- a/test/suite/ch12/12.7/S12.7_A5_T1.js
+++ b/test/suite/ch12/12.7/S12.7_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * When "continue Identifier" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A5_T1.js
+ * @path ch12/12.7/S12.7_A5_T1.js
  * @description Trying to continue another labeled loop
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A5_T2.js b/test/suite/ch12/12.7/S12.7_A5_T2.js
index 4e57499f99e1108aa77fb79101cd31be6f016804..1d3f7e9c1a0d266725c5a0e5fc62b91908b49cbe 100644
--- a/test/suite/ch12/12.7/S12.7_A5_T2.js
+++ b/test/suite/ch12/12.7/S12.7_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * When "continue Identifier" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A5_T2.js
+ * @path ch12/12.7/S12.7_A5_T2.js
  * @description Identifier is a function name
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A5_T3.js b/test/suite/ch12/12.7/S12.7_A5_T3.js
index 68231ef6319ac9c51cfea0c87e77062b882fc2fa..16babd629bfe3e367956cdc0c8ee9eafcd7f930e 100644
--- a/test/suite/ch12/12.7/S12.7_A5_T3.js
+++ b/test/suite/ch12/12.7/S12.7_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * When "continue Identifier" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A5_T3.js
+ * @path ch12/12.7/S12.7_A5_T3.js
  * @description Identifier is within loop label
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A6.js b/test/suite/ch12/12.7/S12.7_A6.js
index 5765b3ee3c4dbe39664b929647d6ccad386d53c8..11bb439aa3a165893467650fa9b9d5303632ee75 100644
--- a/test/suite/ch12/12.7/S12.7_A6.js
+++ b/test/suite/ch12/12.7/S12.7_A6.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "continue" within a function call that is within an IterationStatement yields SyntaxError
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A6.js
+ * @path ch12/12.7/S12.7_A6.js
  * @description Using labaled "continue Identifier" within a function body
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A7.js b/test/suite/ch12/12.7/S12.7_A7.js
index c26911148299637e49fc43496ddb0e2b36d99300..c43f701e1cdb8583445593c3b19bacb0b3e9caae 100644
--- a/test/suite/ch12/12.7/S12.7_A7.js
+++ b/test/suite/ch12/12.7/S12.7_A7.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of continue within eval statement that is within an IterationStatement yields SyntaxError
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A7.js
+ * @path ch12/12.7/S12.7_A7.js
  * @description Using eval "eval("continue LABEL1")"
  */
 
diff --git a/test/suite/ch12/12.7/S12.7_A8_T1.js b/test/suite/ch12/12.7/S12.7_A8_T1.js
index 5e55e957bcd37ec47fa07266a436ac1adb6ca8ae..76f8538a8f08b2e69a5188239cadf7c0f2557a43 100644
--- a/test/suite/ch12/12.7/S12.7_A8_T1.js
+++ b/test/suite/ch12/12.7/S12.7_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "continue" within a "try/catch" Block yields SyntaxError
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A8_T1.js
+ * @path ch12/12.7/S12.7_A8_T1.js
  * @description Checking if execution of "continue Identifier" within catch Block fails
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A8_T2.js b/test/suite/ch12/12.7/S12.7_A8_T2.js
index 4254dda0336db9d31f28cc1885389a1f3404907f..4d6f48e8b54b715bff9983802461c6afdbd25b57 100644
--- a/test/suite/ch12/12.7/S12.7_A8_T2.js
+++ b/test/suite/ch12/12.7/S12.7_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "continue" within a "try/catch" Block yields SyntaxError
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A8_T2.js
+ * @path ch12/12.7/S12.7_A8_T2.js
  * @description Checking if execution of "continue" within catch Block fails
  * @negative
  */
diff --git a/test/suite/ch12/12.7/S12.7_A9_T1.js b/test/suite/ch12/12.7/S12.7_A9_T1.js
index 80227ab59bfcd6bd99dff56b03b9ae5c0fa5c499..e6ab1f542523ea59d8372edbf01e1d7ab020b6be 100644
--- a/test/suite/ch12/12.7/S12.7_A9_T1.js
+++ b/test/suite/ch12/12.7/S12.7_A9_T1.js
@@ -4,7 +4,7 @@
 /**
  * Continue inside of try-catch nested in a loop is allowed
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A9_T1.js
+ * @path ch12/12.7/S12.7_A9_T1.js
  * @description Using "continue Identifier" within catch Block that is within a loop
  */
 
diff --git a/test/suite/ch12/12.7/S12.7_A9_T2.js b/test/suite/ch12/12.7/S12.7_A9_T2.js
index 201ad10cdb77257ec4863dd05bf67291033a3816..8763414ebdd54ba89080a6c08606c4950cdfecca 100644
--- a/test/suite/ch12/12.7/S12.7_A9_T2.js
+++ b/test/suite/ch12/12.7/S12.7_A9_T2.js
@@ -4,7 +4,7 @@
 /**
  * Continue inside of try-catch nested in a loop is allowed
  *
- * @path 12_Statement/12.7_The_continue_Statement/S12.7_A9_T2.js
+ * @path ch12/12.7/S12.7_A9_T2.js
  * @description Using "continue" within catch Block that is within a loop
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A1_T1.js b/test/suite/ch12/12.8/S12.8_A1_T1.js
index 6ac01349a7134bffc7889d5670b0ad65a7b48cc0..546e6678090ac2d8c5b321ff3477f8cb0c47717f 100644
--- a/test/suite/ch12/12.8/S12.8_A1_T1.js
+++ b/test/suite/ch12/12.8/S12.8_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of break without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A1_T1.js
+ * @path ch12/12.8/S12.8_A1_T1.js
  * @description Checking if break statement with no loop fails
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A1_T2.js b/test/suite/ch12/12.8/S12.8_A1_T2.js
index ab6914b43af2810fb3c0941bae82d3e6d3870020..c141c7722a89cc2494eca6b903ec9a093b929aba 100644
--- a/test/suite/ch12/12.8/S12.8_A1_T2.js
+++ b/test/suite/ch12/12.8/S12.8_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of break without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A1_T2.js
+ * @path ch12/12.8/S12.8_A1_T2.js
  * @description Checking if break Identifier with no loop fails
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A1_T3.js b/test/suite/ch12/12.8/S12.8_A1_T3.js
index 9293ee06b8757acd69fd16c6e972713232059b86..6627be368aa2ae1e712999922fb2bcffbdb9d207 100644
--- a/test/suite/ch12/12.8/S12.8_A1_T3.js
+++ b/test/suite/ch12/12.8/S12.8_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of break without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A1_T3.js
+ * @path ch12/12.8/S12.8_A1_T3.js
  * @description Checking if break statement with no loop, placed into a block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A1_T4.js b/test/suite/ch12/12.8/S12.8_A1_T4.js
index 86758f821b7bfd67c3a7e077adc3b4ca609bf86e..1663fc5f5bd82869046c27270602e4470c5289ab 100644
--- a/test/suite/ch12/12.8/S12.8_A1_T4.js
+++ b/test/suite/ch12/12.8/S12.8_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of break without an IterationStatement leads to syntax error
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A1_T4.js
+ * @path ch12/12.8/S12.8_A1_T4.js
  * @description Checking if break Identifier with no loop, placed into a  block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A2.js b/test/suite/ch12/12.8/S12.8_A2.js
index 9a7dcc35c3304169fe441dfba135e079958d0297..a1154aeca0d514a32f2590788fab524d8557b328 100644
--- a/test/suite/ch12/12.8/S12.8_A2.js
+++ b/test/suite/ch12/12.8/S12.8_A2.js
@@ -4,7 +4,7 @@
 /**
  * Since LineTerminator between "break" and Identifier is not allowed, "break" is evaluated without label
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A2.js
+ * @path ch12/12.8/S12.8_A2.js
  * @description Checking by using eval, inserting LineTerminator between break and Identifier
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A3.js b/test/suite/ch12/12.8/S12.8_A3.js
index b71f2073943e47588fdd615efc0c3040238da7c0..d2aaa5ad3eb0ac9943f496e31e14a88f3a98da17 100644
--- a/test/suite/ch12/12.8/S12.8_A3.js
+++ b/test/suite/ch12/12.8/S12.8_A3.js
@@ -4,7 +4,7 @@
 /**
  * When "break" is evaluated, (break, empty, empty) is returned
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A3.js
+ * @path ch12/12.8/S12.8_A3.js
  * @description Using "break" without Identifier within labeled loop
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A4_T1.js b/test/suite/ch12/12.8/S12.8_A4_T1.js
index 2a484d2a13260b44e76901b673f96116364df8a1..86e258a4ee9b1080a5f02ee0f847cc4ffcf7c9d5 100644
--- a/test/suite/ch12/12.8/S12.8_A4_T1.js
+++ b/test/suite/ch12/12.8/S12.8_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * When "break Identifier" is evaluated, (break, empty, Identifier) is returned
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A4_T1.js
+ * @path ch12/12.8/S12.8_A4_T1.js
  * @description Using "break Identifier" within labaeled loop
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A4_T2.js b/test/suite/ch12/12.8/S12.8_A4_T2.js
index e0d439ca8941f4dda1d446bdfd69f8778f97089e..8662cf829059179d261fc345b651aaa596a0f1fa 100644
--- a/test/suite/ch12/12.8/S12.8_A4_T2.js
+++ b/test/suite/ch12/12.8/S12.8_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * When "break Identifier" is evaluated, (break, empty, Identifier) is returned
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A4_T2.js
+ * @path ch12/12.8/S12.8_A4_T2.js
  * @description Using embedded and labeled loops, breaking to nested loop
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A4_T3.js b/test/suite/ch12/12.8/S12.8_A4_T3.js
index d4e0ef4986721b5a6342639c2ab204df6b55ef10..7ca7fc2d66c59e9f5187bec4b1a7d6c517794871 100644
--- a/test/suite/ch12/12.8/S12.8_A4_T3.js
+++ b/test/suite/ch12/12.8/S12.8_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * When "break Identifier" is evaluated, (break, empty, Identifier) is returned
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A4_T3.js
+ * @path ch12/12.8/S12.8_A4_T3.js
  * @description Using embedded and labeled loops, breaking to outer loop
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A5_T1.js b/test/suite/ch12/12.8/S12.8_A5_T1.js
index e8301c1faa5689e1a87d277acccf19e73a7b547b..34fbed938acf168c4164bda612892b714571c821 100644
--- a/test/suite/ch12/12.8/S12.8_A5_T1.js
+++ b/test/suite/ch12/12.8/S12.8_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A5_T1.js
+ * @path ch12/12.8/S12.8_A5_T1.js
  * @description Checking if breaking another labeled loop fails
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A5_T2.js b/test/suite/ch12/12.8/S12.8_A5_T2.js
index 6151a576506395a84f09d2ab247be82487b337ae..f843c3bb112544522e618f6120299a79aba017bd 100644
--- a/test/suite/ch12/12.8/S12.8_A5_T2.js
+++ b/test/suite/ch12/12.8/S12.8_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A5_T2.js
+ * @path ch12/12.8/S12.8_A5_T2.js
  * @description Checking if using function name as an Identifier appears to be invalid
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A5_T3.js b/test/suite/ch12/12.8/S12.8_A5_T3.js
index 2b05d135a2c4c492d27704f5882fdab0cfd83c81..d6f930705caeee7242f3cc6928edec83d2d5fb1c 100644
--- a/test/suite/ch12/12.8/S12.8_A5_T3.js
+++ b/test/suite/ch12/12.8/S12.8_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A5_T3.js
+ * @path ch12/12.8/S12.8_A5_T3.js
  * @description Checking if using internal loop label as an Identifier appears to be invalid
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A6.js b/test/suite/ch12/12.8/S12.8_A6.js
index 805afe7964b473ef581de739d9f13f217493286c..264f74d8622ed8bb99f12855a6a8a5bf5cd5f4f8 100644
--- a/test/suite/ch12/12.8/S12.8_A6.js
+++ b/test/suite/ch12/12.8/S12.8_A6.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "break" within a function call that is nested in a IterationStatement yields SyntaxError
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A6.js
+ * @path ch12/12.8/S12.8_A6.js
  * @description Checking if using "break Identifier" within a function body appears to be invalid
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A7.js b/test/suite/ch12/12.8/S12.8_A7.js
index f389f9825e64b2982c0c7641359dff2a38c3d307..a5f5bebaf503cb3f28e8814be2ba41bc85f3b1a4 100644
--- a/test/suite/ch12/12.8/S12.8_A7.js
+++ b/test/suite/ch12/12.8/S12.8_A7.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "break" within eval statement that is nested in an IterationStatement yields SyntaxError
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A7.js
+ * @path ch12/12.8/S12.8_A7.js
  * @description Using eval "eval("break LABEL1")"
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A8_T1.js b/test/suite/ch12/12.8/S12.8_A8_T1.js
index 29f66090712710f7fca73abd968f94718a5c2819..cbcba7f69c20c707bdc942b727ad3f2343ca7c7e 100644
--- a/test/suite/ch12/12.8/S12.8_A8_T1.js
+++ b/test/suite/ch12/12.8/S12.8_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "break" within "try/catch" Block yields SyntaxError
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A8_T1.js
+ * @path ch12/12.8/S12.8_A8_T1.js
  * @description Checking if using "break Identifier" from within catch Block appears to be invalid
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A8_T2.js b/test/suite/ch12/12.8/S12.8_A8_T2.js
index 8ca758dfb9f359ca3bf3ce3ba9cb8c5317b7f9a6..92771babf42dfa8ab95cddef927db839f9d1b00e 100644
--- a/test/suite/ch12/12.8/S12.8_A8_T2.js
+++ b/test/suite/ch12/12.8/S12.8_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "break" within "try/catch" Block yields SyntaxError
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A8_T2.js
+ * @path ch12/12.8/S12.8_A8_T2.js
  * @description Checking if using "break Identifier" from within catch Block appears to be invalid
  * @negative
  */
diff --git a/test/suite/ch12/12.8/S12.8_A9_T1.js b/test/suite/ch12/12.8/S12.8_A9_T1.js
index 9e824ea98e1d0472d93c7ff49173db447a1bac5d..60da11ef2975aaa0de8fe6e1d47ea92ec2eb8211 100644
--- a/test/suite/ch12/12.8/S12.8_A9_T1.js
+++ b/test/suite/ch12/12.8/S12.8_A9_T1.js
@@ -4,7 +4,7 @@
 /**
  * Using "break" within "try/catch" statement that is nested in a loop is allowed
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A9_T1.js
+ * @path ch12/12.8/S12.8_A9_T1.js
  * @description Using "continue Identifier" within "catch" statement
  */
 
diff --git a/test/suite/ch12/12.8/S12.8_A9_T2.js b/test/suite/ch12/12.8/S12.8_A9_T2.js
index 40ce45c20d119f90fac2bed49270e7b59e0fa4b5..53dc3555cab2f1315f64d00feccbfff29ba1d0a0 100644
--- a/test/suite/ch12/12.8/S12.8_A9_T2.js
+++ b/test/suite/ch12/12.8/S12.8_A9_T2.js
@@ -4,7 +4,7 @@
 /**
  * Using "break" within "try/catch" statement that is nested in a loop is allowed
  *
- * @path 12_Statement/12.8_The_break_Statement/S12.8_A9_T2.js
+ * @path ch12/12.8/S12.8_A9_T2.js
  * @description Using "continue Identifier" within "catch" statement
  */
 
diff --git a/test/suite/ch12/12.9/S12.9_A1_T1.js b/test/suite/ch12/12.9/S12.9_A1_T1.js
index 038edf5b5e964ab01d1411b03c7f63844762516e..a4115f7ec858b86184ac14a69ec870a8ddcb931f 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T1.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T1.js
+ * @path ch12/12.9/S12.9_A1_T1.js
  * @description Checking if execution of "return" with no function fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T10.js b/test/suite/ch12/12.9/S12.9_A1_T10.js
index 5568f8da356698adc3f3127c515f8a51f549031c..63bcd816c700a87bdb290104ab798cd7b31ea87f 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T10.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T10.js
+ * @path ch12/12.9/S12.9_A1_T10.js
  * @description Checking if execution of "return (0)" with no function fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T2.js b/test/suite/ch12/12.9/S12.9_A1_T2.js
index 12e9d7d02fd2e0237b6acec1839fa70143da7949..74f657b600a8fd04a9c7c8a21131a854119d08aa 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T2.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T2.js
+ * @path ch12/12.9/S12.9_A1_T2.js
  * @description Checking if execution of "return x" with no function fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T3.js b/test/suite/ch12/12.9/S12.9_A1_T3.js
index 26c3a38225bebc6440a437be3757e89d0f44e2a5..8f22b8859a4494dbb7d53cb54792aee315008dd5 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T3.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T3.js
+ * @path ch12/12.9/S12.9_A1_T3.js
  * @description Checking if execution of "return" within "try" statement fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T4.js b/test/suite/ch12/12.9/S12.9_A1_T4.js
index b62f687f4430981c956485880a1cce9585093927..3add975cb82c1e31e922c6ed152573e80eec85a5 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T4.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T4.js
+ * @path ch12/12.9/S12.9_A1_T4.js
  * @description Checking if execution of "return" with no function fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T5.js b/test/suite/ch12/12.9/S12.9_A1_T5.js
index ea0824d561ef87f9305ab65cccc171bb5ba032b6..a53d7c7641c3b5d2c6b565ef8d123a603f5a9951 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T5.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T5.js
+ * @path ch12/12.9/S12.9_A1_T5.js
  * @description Checking if execution of "return" with no function, placed into a Block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T6.js b/test/suite/ch12/12.9/S12.9_A1_T6.js
index 2cfd748180ad2c4653261680f0db643235b0547e..aea6ec97799883bbfac9683d079b399e8e239fad 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T6.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T6.js
+ * @path ch12/12.9/S12.9_A1_T6.js
  * @description Checking if execution of "return" with no function, placed into a loop, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T7.js b/test/suite/ch12/12.9/S12.9_A1_T7.js
index dda536c54d711c8812fe0e0fa66880e42c401681..ad863d473458fe0bc45e2dafc06cc53281643637 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T7.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T7.js
+ * @path ch12/12.9/S12.9_A1_T7.js
  * @description Checking if execution of "return x" with no function, placed inside Block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T8.js b/test/suite/ch12/12.9/S12.9_A1_T8.js
index ff14479d9f37a3d545d90c08f1b4898f26ba0b9b..edfbd1660ec4c665a326eb8af23759592ceeb45e 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T8.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T8.js
+ * @path ch12/12.9/S12.9_A1_T8.js
  * @description Checking if execution of "return x" with no function, placed into a loop, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A1_T9.js b/test/suite/ch12/12.9/S12.9_A1_T9.js
index 71f94414912b5db00ab7db08c3e8983f270a4b33..57e39aee73e8382726b7e4f8d0e4e798809cd3e3 100644
--- a/test/suite/ch12/12.9/S12.9_A1_T9.js
+++ b/test/suite/ch12/12.9/S12.9_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * Appearing of "return" without a function body leads to syntax error
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A1_T9.js
+ * @path ch12/12.9/S12.9_A1_T9.js
  * @description Checking if execution of "return", placed into a catch Block, fails
  * @negative
  */
diff --git a/test/suite/ch12/12.9/S12.9_A2.js b/test/suite/ch12/12.9/S12.9_A2.js
index cf0b72cbae8c1e13f0460dde69aaa04e5dcd5f31..177205dbb412d5b460f41cee656b3e1e64c468b4 100644
--- a/test/suite/ch12/12.9/S12.9_A2.js
+++ b/test/suite/ch12/12.9/S12.9_A2.js
@@ -4,7 +4,7 @@
 /**
  * LineTerminator between return and Identifier_opt yields return without Identifier_opt
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A2.js
+ * @path ch12/12.9/S12.9_A2.js
  * @description Checking by using eval, inserting LineTerminator between return and Variable
  */
 
diff --git a/test/suite/ch12/12.9/S12.9_A3.js b/test/suite/ch12/12.9/S12.9_A3.js
index fde436362577dde69e1cbf3a254cebdc4ec22d56..95b87c36379bc3113a462cd3240a6dc9b94ebca7 100644
--- a/test/suite/ch12/12.9/S12.9_A3.js
+++ b/test/suite/ch12/12.9/S12.9_A3.js
@@ -4,7 +4,7 @@
 /**
  * If Expression is omitted, the return value is undefined
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A3.js
+ * @path ch12/12.9/S12.9_A3.js
  * @description Return without Expression
  */
 
diff --git a/test/suite/ch12/12.9/S12.9_A4.js b/test/suite/ch12/12.9/S12.9_A4.js
index 28964f4c9f1db9ebb565951d964db82f680f5edf..97c92397947f96acce7d01e5dd7b2eb62f32a53a 100644
--- a/test/suite/ch12/12.9/S12.9_A4.js
+++ b/test/suite/ch12/12.9/S12.9_A4.js
@@ -7,7 +7,7 @@
  * ii)  Call GetValue(Result(2)).
  * iii) Return (return, Result(3), empty)
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A4.js
+ * @path ch12/12.9/S12.9_A4.js
  * @description Return very sophisticated expression and function
  */
 
diff --git a/test/suite/ch12/12.9/S12.9_A5.js b/test/suite/ch12/12.9/S12.9_A5.js
index 1c9f101c447a196925611940d9159027111559b9..3b0b98e435456c9c0a7399536e220d31c2c1c98a 100644
--- a/test/suite/ch12/12.9/S12.9_A5.js
+++ b/test/suite/ch12/12.9/S12.9_A5.js
@@ -4,7 +4,7 @@
 /**
  * Code after ReturnStatement is not evaluated
  *
- * @path 12_Statement/12.9_The_return_Statement/S12.9_A5.js
+ * @path ch12/12.9/S12.9_A5.js
  * @description Using code after Return statement
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A1_T1.js b/test/suite/ch13/13.2/S13.2.1_A1_T1.js
index d579f3dd7f08144ede38e15eb93f147028d972ee..1295b6a489febe57fe73d5aa0818322fdc18c789 100644
--- a/test/suite/ch13/13.2/S13.2.1_A1_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The depth of nested function calls reaches 32
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A1_T1.js
+ * @path ch13/13.2/S13.2.1_A1_T1.js
  * @description Creating function calls 32 elements depth
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A4_T1.js b/test/suite/ch13/13.2/S13.2.1_A4_T1.js
index 19e5931ae436b5b7d61d0a61799efb29d0cababe..a2bce3580a3963ef31b37138d6cbd3c97edf3ef9 100644
--- a/test/suite/ch13/13.2/S13.2.1_A4_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Objects as arguments are passed by reference
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A4_T1.js
+ * @path ch13/13.2/S13.2.1_A4_T1.js
  * @description Adding new number property to a function argument within the function body,
  * where explicit argument is an object defined with "var __obj={}"
  */
diff --git a/test/suite/ch13/13.2/S13.2.1_A4_T2.js b/test/suite/ch13/13.2/S13.2.1_A4_T2.js
index 2894d770920e16f43887a0ff12ddb156828aa89c..682f57d081a06a9a80b0096dd5048c19c1ba5a82 100644
--- a/test/suite/ch13/13.2/S13.2.1_A4_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Objects as arguments are passed by reference
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A4_T2.js
+ * @path ch13/13.2/S13.2.1_A4_T2.js
  * @description Adding new string property to a function argument within the function body,
  * where explicit argument is an object defined with "__obj={}"
  */
diff --git a/test/suite/ch13/13.2/S13.2.1_A4_T3.js b/test/suite/ch13/13.2/S13.2.1_A4_T3.js
index 002d4d2771f1469420012181615b0fb937f605aa..00ee68b102ec44ed4da0c37eea20673b336997f8 100644
--- a/test/suite/ch13/13.2/S13.2.1_A4_T3.js
+++ b/test/suite/ch13/13.2/S13.2.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Objects as arguments are passed by reference
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A4_T3.js
+ * @path ch13/13.2/S13.2.1_A4_T3.js
  * @description Adding new number property to a function argument within the function body,
  * where array element "arguments[0]" is an object defined with "__obj={}"
  */
diff --git a/test/suite/ch13/13.2/S13.2.1_A4_T4.js b/test/suite/ch13/13.2/S13.2.1_A4_T4.js
index addd140703e6648d7118c6d570ada63278ed2d1a..a9a02612128488dd468a1418769f87bed61cb584 100644
--- a/test/suite/ch13/13.2/S13.2.1_A4_T4.js
+++ b/test/suite/ch13/13.2/S13.2.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * Objects as arguments are passed by reference
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A4_T4.js
+ * @path ch13/13.2/S13.2.1_A4_T4.js
  * @description Adding new number property to a function argument within the function body,
  * where array element "arguments[0]" is an object defined with "var __obj={}"
  */
diff --git a/test/suite/ch13/13.2/S13.2.1_A5_T1.js b/test/suite/ch13/13.2/S13.2.1_A5_T1.js
index 1891f496abc6aab08f7e60d9a5c1c738833a4b5a..81909da90bad4d8a9902de11b9573b20ab22576c 100644
--- a/test/suite/ch13/13.2/S13.2.1_A5_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Closures are admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A5_T1.js
+ * @path ch13/13.2/S13.2.1_A5_T1.js
  * @description Sorting with closure
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A5_T2.js b/test/suite/ch13/13.2/S13.2.1_A5_T2.js
index 2393e9b0d65e2135aa9d24c1cda3d3b9925fed30..e48402cd69fbc6e415d0faf4779718c55744358d 100644
--- a/test/suite/ch13/13.2/S13.2.1_A5_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Closures are admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A5_T2.js
+ * @path ch13/13.2/S13.2.1_A5_T2.js
  * @description Returning a function that approximates the derivative of f
  * using an interval of dx, which should be appropriately small
  */
diff --git a/test/suite/ch13/13.2/S13.2.1_A6_T1.js b/test/suite/ch13/13.2/S13.2.1_A6_T1.js
index 76937592483380db28b58e4ef2e6c05fda08fce6..a1d360b348d19315b47f617801322c989c6771cc 100644
--- a/test/suite/ch13/13.2/S13.2.1_A6_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Primitive types are passed by value
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A6_T1.js
+ * @path ch13/13.2/S13.2.1_A6_T1.js
  * @description Declaring a function with "function __func(arg1, arg2)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A6_T2.js b/test/suite/ch13/13.2/S13.2.1_A6_T2.js
index b5a3efe05b15b0c7ba4c067652f7361f35497c00..f92bafaf2882e6b977217ad2ad08010e086305a9 100644
--- a/test/suite/ch13/13.2/S13.2.1_A6_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Primitive types are passed by value
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A6_T2.js
+ * @path ch13/13.2/S13.2.1_A6_T2.js
  * @description Declaring a function with "__func = function(arg1, arg2)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A7_T1.js b/test/suite/ch13/13.2/S13.2.1_A7_T1.js
index 120afde76dac9f98bf077770d801ead4f72459d0..4e46fcafecaacba2505f7e387499bc2e856c1948 100644
--- a/test/suite/ch13/13.2/S13.2.1_A7_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A7_T1.js
@@ -6,7 +6,7 @@
  * 2. Evaluate F's FunctionBody;
  * if Result.type is returned  then Result.value is returned too
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A7_T1.js
+ * @path ch13/13.2/S13.2.1_A7_T1.js
  * @description Returning null. Declaring a function with "function __func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A7_T2.js b/test/suite/ch13/13.2/S13.2.1_A7_T2.js
index 652c935496433bda84c5e7c972da9bdce1bc1169..ae4fbb4061c296b436644c9b0980ffe9f99696f9 100644
--- a/test/suite/ch13/13.2/S13.2.1_A7_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A7_T2.js
@@ -6,7 +6,7 @@
  * 2. Evaluate F's FunctionBody;
  * if Result.type is returned  then Result.value is returned too
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A7_T2.js
+ * @path ch13/13.2/S13.2.1_A7_T2.js
  * @description Returning null. Declaring a function with "var __func = function ()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A7_T3.js b/test/suite/ch13/13.2/S13.2.1_A7_T3.js
index 62ebcf5458cd9227c0d2e350cb59c888f2d3da31..987e7d18f93bfa6f897477df9fd48a245dc087b1 100644
--- a/test/suite/ch13/13.2/S13.2.1_A7_T3.js
+++ b/test/suite/ch13/13.2/S13.2.1_A7_T3.js
@@ -6,7 +6,7 @@
  * 2. Evaluate F's FunctionBody;
  * if Result.type is returned  then Result.value is returned too
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A7_T3.js
+ * @path ch13/13.2/S13.2.1_A7_T3.js
  * @description Returning number. Declaring a function with "function __func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A7_T4.js b/test/suite/ch13/13.2/S13.2.1_A7_T4.js
index 9a83f48ce73359ea9d38b0cc85f06a5d6b4c59e0..146fd1f64c52dd50e4bf48469822ab57ffd58629 100644
--- a/test/suite/ch13/13.2/S13.2.1_A7_T4.js
+++ b/test/suite/ch13/13.2/S13.2.1_A7_T4.js
@@ -6,7 +6,7 @@
  * 2. Evaluate F's FunctionBody;
  * if Result.type is returned  then Result.value is returned too
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A7_T4.js
+ * @path ch13/13.2/S13.2.1_A7_T4.js
  * @description Returning boolean. Declaring a function with "function __func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A8_T1.js b/test/suite/ch13/13.2/S13.2.1_A8_T1.js
index ada35b5c7cd1a656289f8f2a886d65539a8ec736..2be9cb728861d94936261a632ea143f59d446a29 100644
--- a/test/suite/ch13/13.2/S13.2.1_A8_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A8_T1.js
@@ -6,7 +6,7 @@
  * 2. Evaluate F's FunctionBody;
  * if Result.type is thrown then Result.value is thrown too
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A8_T1.js
+ * @path ch13/13.2/S13.2.1_A8_T1.js
  * @description Throwing an exception within a function body. Declaring function with "function __func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A8_T2.js b/test/suite/ch13/13.2/S13.2.1_A8_T2.js
index c4512df59ee5bd1034805ce464cc22df340756dc..c07582b280504aedb8854bb40b3fc3692838ecab 100644
--- a/test/suite/ch13/13.2/S13.2.1_A8_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A8_T2.js
@@ -6,7 +6,7 @@
  * 2. Evaluate F's FunctionBody;
  * if Result.type is thrown then Result.value is thrown too
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A8_T2.js
+ * @path ch13/13.2/S13.2.1_A8_T2.js
  * @description Throwing an exception within a function body. Declaring function with "var __func = function (message)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A9.1_T1.js b/test/suite/ch13/13.2/S13.2.1_A9.1_T1.js
index d4bccfba2aae3f9b97599cdc1905f81c7a2a22f5..9b1dd7382dc17362772804d489b53557c53bef39 100644
--- a/test/suite/ch13/13.2/S13.2.1_A9.1_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A9.1_T1.js
@@ -5,7 +5,7 @@
  * When the [[Call]] property for a Function object is called,
  * the body is evaluated and if evaluation result has type "normal", then "undefined" is returned
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A9.1_T1.js
+ * @path ch13/13.2/S13.2.1_A9.1_T1.js
  * @description Declaring a function with "function __func()" and no "return" in the function body
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A9.1_T2.js b/test/suite/ch13/13.2/S13.2.1_A9.1_T2.js
index 597a9f83f713f42c8be50439b586251a0cf9c1d7..90057b04b078a214ab23ec78975c453f680e8418 100644
--- a/test/suite/ch13/13.2/S13.2.1_A9.1_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A9.1_T2.js
@@ -5,7 +5,7 @@
  * When the [[Call]] property for a Function object is called,
  * the body is evaluated and if evaluation result has type "normal", then "undefined" is returned
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A9.1_T2.js
+ * @path ch13/13.2/S13.2.1_A9.1_T2.js
  * @description Declaring a function with "var __func = function()" and no "return" in the function body
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A9_T1.js b/test/suite/ch13/13.2/S13.2.1_A9_T1.js
index 649d5884b72a5976570e151409c36efa6908c3c1..6332ef34e489bf7889a1725e48381a11f27a8a95 100644
--- a/test/suite/ch13/13.2/S13.2.1_A9_T1.js
+++ b/test/suite/ch13/13.2/S13.2.1_A9_T1.js
@@ -5,7 +5,7 @@
  * When the [[Call]] property for a Function object is called,
  * the body is evaluated and if evaluation result has type "return" its value is not defined, then "undefined" is returned
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A9_T1.js
+ * @path ch13/13.2/S13.2.1_A9_T1.js
  * @description Using "return" with no expression. Declaring a function with "function __func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.1_A9_T2.js b/test/suite/ch13/13.2/S13.2.1_A9_T2.js
index c02af3ebef244cfe2dd8cbe676b80504ba0f0e7e..75be8a19a9938af0b90cc5e2b3e2595cc606ab15 100644
--- a/test/suite/ch13/13.2/S13.2.1_A9_T2.js
+++ b/test/suite/ch13/13.2/S13.2.1_A9_T2.js
@@ -5,7 +5,7 @@
  * When the [[Call]] property for a Function object is called,
  * the body is evaluated and if evaluation result has type "return" its value is not defined, then "undefined" is returned
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.1_A9_T2.js
+ * @path ch13/13.2/S13.2.1_A9_T2.js
  * @description Using "return" with no expression. Declaring a function with "var __func = function()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A10.js b/test/suite/ch13/13.2/S13.2.2_A10.js
index 013074970461c80ce15f38131977d3a77ba8d46d..25ba9d58df5ce2f23fedef781156395061f95efe 100644
--- a/test/suite/ch13/13.2/S13.2.2_A10.js
+++ b/test/suite/ch13/13.2/S13.2.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * Calling a function as a constructor is possible as long as this.any_Function is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A10.js
+ * @path ch13/13.2/S13.2.2_A10.js
  * @description Calling a function as a constructor after it has been declared
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A11.js b/test/suite/ch13/13.2/S13.2.2_A11.js
index b3ab190e439a7e86e6b4ee6657cf8690a8fed3be..d9e029b34a2f74b4c215e1c587b3505f81864404 100644
--- a/test/suite/ch13/13.2/S13.2.2_A11.js
+++ b/test/suite/ch13/13.2/S13.2.2_A11.js
@@ -4,7 +4,7 @@
 /**
  * Calling a function as a constructor is possible as long as this.any_Function is declared and called
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A11.js
+ * @path ch13/13.2/S13.2.2_A11.js
  * @description Calling a function as a constructor after it has been declared with "function func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A12.js b/test/suite/ch13/13.2/S13.2.2_A12.js
index 4dfb8fe75c6b41715e57e7304c008b5879c2529d..52d4a95b6d4c74c47483ae3b46a734fa3b4fa35c 100644
--- a/test/suite/ch13/13.2/S13.2.2_A12.js
+++ b/test/suite/ch13/13.2/S13.2.2_A12.js
@@ -4,7 +4,7 @@
 /**
  * Calling a function as a constructor is possible as long as this.any_Function is declared and called
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A12.js
+ * @path ch13/13.2/S13.2.2_A12.js
  * @description Calling a function as a constructor after it has been declared with "function func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A13.js b/test/suite/ch13/13.2/S13.2.2_A13.js
index 9be9dab8670aae1755b8a8d0e1e67cecd3e235db..152351c56e3cf7637f6ae3ef2d60b88c81a995f6 100644
--- a/test/suite/ch13/13.2/S13.2.2_A13.js
+++ b/test/suite/ch13/13.2/S13.2.2_A13.js
@@ -4,7 +4,7 @@
 /**
  * Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A13.js
+ * @path ch13/13.2/S13.2.2_A13.js
  * @description Calling a function as a constructor after it has been declared by eval
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A14.js b/test/suite/ch13/13.2/S13.2.2_A14.js
index fd1126e51640abf9bbc523473982a51b6793f626..2db1005bc9ce0ceec73d1bde8253ccb4bf9d1c84 100644
--- a/test/suite/ch13/13.2/S13.2.2_A14.js
+++ b/test/suite/ch13/13.2/S13.2.2_A14.js
@@ -4,7 +4,7 @@
 /**
  * Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A14.js
+ * @path ch13/13.2/S13.2.2_A14.js
  * @description Calling a function as a constructor after it has been declared by eval
  * @noStrict
  */
diff --git a/test/suite/ch13/13.2/S13.2.2_A15_T1.js b/test/suite/ch13/13.2/S13.2.2_A15_T1.js
index add8fec348d5ddd3d909d45157b87c7286687122..6548618ebcde11687f14d71a38dada5a039961ce 100644
--- a/test/suite/ch13/13.2/S13.2.2_A15_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A15_T1.js
@@ -5,7 +5,7 @@
  * When the [[Construct]] property for a Function object F is called,
  * and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A15_T1.js
+ * @path ch13/13.2/S13.2.2_A15_T1.js
  * @description Function declared at the end of the program and "obj" property is declared with "var obj = {}"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A15_T2.js b/test/suite/ch13/13.2/S13.2.2_A15_T2.js
index f205bae7cc6e26e95c5ee20a2c4e5ebaf12303a4..007474b4bdff82272daf0a0795ddabc68c78c741 100644
--- a/test/suite/ch13/13.2/S13.2.2_A15_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A15_T2.js
@@ -5,7 +5,7 @@
  * When the [[Construct]] property for a Function object F is called,
  * and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A15_T2.js
+ * @path ch13/13.2/S13.2.2_A15_T2.js
  * @description Function declared at the end of the program and "obj" property is declared with "obj = {}"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A15_T3.js b/test/suite/ch13/13.2/S13.2.2_A15_T3.js
index 9bcfd4c1ea6326ea1d3d2c6abd2842078cc52773..c448df5527bd96542f5de6513ee031cfc94cf969 100644
--- a/test/suite/ch13/13.2/S13.2.2_A15_T3.js
+++ b/test/suite/ch13/13.2/S13.2.2_A15_T3.js
@@ -5,7 +5,7 @@
  * When the [[Construct]] property for a Function object F is called,
  * and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A15_T3.js
+ * @path ch13/13.2/S13.2.2_A15_T3.js
  * @description Function declared at the end of the program and "obj" property is declared with "var obj = {}"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A15_T4.js b/test/suite/ch13/13.2/S13.2.2_A15_T4.js
index 5325acf115a62d162c793ad628cccfc07a886203..5667b9b52a5228a0c539060529a597c95e80b9a8 100644
--- a/test/suite/ch13/13.2/S13.2.2_A15_T4.js
+++ b/test/suite/ch13/13.2/S13.2.2_A15_T4.js
@@ -5,7 +5,7 @@
  * When the [[Construct]] property for a Function object F is called,
  * and the object created in the function is returned, the object (declared with "this" within a function) will be strong and healthy
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A15_T4.js
+ * @path ch13/13.2/S13.2.2_A15_T4.js
  * @description Function declared at the end of the program and "obj" property is declared with "obj = {}"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A16_T1.js b/test/suite/ch13/13.2/S13.2.2_A16_T1.js
index bf94fd39d04d466e035f1ba4ed0a8fbf2102cbb7..ea40cfb09fdd056070bb8d924ec2a4959e64a767 100644
--- a/test/suite/ch13/13.2/S13.2.2_A16_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A16_T1.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a new statement is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A16_T1.js
+ * @path ch13/13.2/S13.2.2_A16_T1.js
  * @description Using "is __obj = new function __func(){this.prop=1;}" as FunctionExpression
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A16_T2.js b/test/suite/ch13/13.2/S13.2.2_A16_T2.js
index e43712e88930a00a30c76b1ba58e5ae02c2e1cdd..2af36ba4459112cc330be6d60f3a60b2f136566b 100644
--- a/test/suite/ch13/13.2/S13.2.2_A16_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A16_T2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a new statement is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A16_T2.js
+ * @path ch13/13.2/S13.2.2_A16_T2.js
  * @description Using "var __obj = new function __func(arg){this.prop=arg;}(5)" as FunctionExpression
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A16_T3.js b/test/suite/ch13/13.2/S13.2.2_A16_T3.js
index 745740ff177b4ad6cc7cbcef7d86548bc8e689fb..8cff917f6e83aeb78a1390b10baa8aaa76ad4376 100644
--- a/test/suite/ch13/13.2/S13.2.2_A16_T3.js
+++ b/test/suite/ch13/13.2/S13.2.2_A16_T3.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression within a new statement is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A16_T3.js
+ * @path ch13/13.2/S13.2.2_A16_T3.js
  * @description Using "is __obj = new function __func(arg){this.prop=arg; return {feat: ++arg}}(5)" as FunctionExpression
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A17_T2.js b/test/suite/ch13/13.2/S13.2.2_A17_T2.js
index 92155fcbc0baafa6a4236259420348ca7dac30ea..105b762d75074590dd7d964f8c9ca6b9c0fa692f 100644
--- a/test/suite/ch13/13.2/S13.2.2_A17_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A17_T2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression containing "with" statement is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A17_T2.js
+ * @path ch13/13.2/S13.2.2_A17_T2.js
  * @description Throwing an exception within "with" statement
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A17_T3.js b/test/suite/ch13/13.2/S13.2.2_A17_T3.js
index 389d48a33365795495033755ecd39703e54b10be..8d8eba5bde6ae29e7873a7d19b3dbd3c6006f65b 100644
--- a/test/suite/ch13/13.2/S13.2.2_A17_T3.js
+++ b/test/suite/ch13/13.2/S13.2.2_A17_T3.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression containing "with" statement is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A17_T3.js
+ * @path ch13/13.2/S13.2.2_A17_T3.js
  * @description In the check 4 we populate field getRight in __obj object since var getRight declaration adds variable to function scope
  * but getRight in statement resolves within with(__obj) scope and searchs getRight in __obj first
  */
diff --git a/test/suite/ch13/13.2/S13.2.2_A18_T1.js b/test/suite/ch13/13.2/S13.2.2_A18_T1.js
index 60135618d8eefacfc56436b2bcc3564258473a70..327f816dd1dee0569ccb74ae6571fb6dff546a50 100644
--- a/test/suite/ch13/13.2/S13.2.2_A18_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A18_T1.js
@@ -4,7 +4,7 @@
 /**
  * Using arguments object within a "with" Expression that is nested in a function is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A18_T1.js
+ * @path ch13/13.2/S13.2.2_A18_T1.js
  * @description Object is declared with "var __obj={callee:"a"}"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A18_T2.js b/test/suite/ch13/13.2/S13.2.2_A18_T2.js
index 8f196108ca3a96635ea93ae3a8b8e38f9b7dc759..d586ca5f94feb36016ad9cb6599a0afd66d182a2 100644
--- a/test/suite/ch13/13.2/S13.2.2_A18_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A18_T2.js
@@ -4,7 +4,7 @@
 /**
  * Using arguments object within a "with" Expression that is nested in a function is admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A18_T2.js
+ * @path ch13/13.2/S13.2.2_A18_T2.js
  * @description Object is declared with "__obj={callee:"a"}"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T1.js b/test/suite/ch13/13.2/S13.2.2_A19_T1.js
index 01e12e1742388a0b83c04444e787fb85d9ac3e7b..5fdcaee5ac59ed00e1b9c79a218b4d22e40a3734 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T1.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T1.js
+ * @path ch13/13.2/S13.2.2_A19_T1.js
  * @description Function is declared in the global scope
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T2.js b/test/suite/ch13/13.2/S13.2.2_A19_T2.js
index a739629a23a727fd37ba28707a98568c87a6a3b0..b36f457b8b578f0b3b1e2fb18d71e7cbd25e4163 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T2.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T2.js
+ * @path ch13/13.2/S13.2.2_A19_T2.js
  * @description Function is declared in the object scope. Using "with" statement
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T3.js b/test/suite/ch13/13.2/S13.2.2_A19_T3.js
index 2fcc62f31501635925e8a14fbefa2005e4f144ac..3f6e112661235cade24808bf1c285f68cf41c78b 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T3.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T3.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T3.js
+ * @path ch13/13.2/S13.2.2_A19_T3.js
  * @description Function is declared in the object scope and then an exception is thrown
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T4.js b/test/suite/ch13/13.2/S13.2.2_A19_T4.js
index 34a41476a98f2692e5d8b13d67b1f08b64b068de..65f6e765ac492076a81e416190ed246773d9efaa 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T4.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T4.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T4.js
+ * @path ch13/13.2/S13.2.2_A19_T4.js
  * @description Function is declared in the hierarchical object scope and then an exception is thrown
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T5.js b/test/suite/ch13/13.2/S13.2.2_A19_T5.js
index c7a1433864604f1cff3672ad2d47fc479562e2a6..f0614e1759532327ed127553911281d1b0fa3f65 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T5.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T5.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T5.js
+ * @path ch13/13.2/S13.2.2_A19_T5.js
  * @description Function is declared in the object scope, then an exception is thrown and the object is deleted
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T6.js b/test/suite/ch13/13.2/S13.2.2_A19_T6.js
index f00437d998e60171ddec5599f9fe8fa30f13e1f9..b9fafb1f5665702ddd73bd9fb3c8d90eb05e700c 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T6.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T6.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T6.js
+ * @path ch13/13.2/S13.2.2_A19_T6.js
  * @description Function is declared in the "object->do-while" scope, then the object is deleted and another object with the same name is declared
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T7.js b/test/suite/ch13/13.2/S13.2.2_A19_T7.js
index 57ba26f77f7f33cc827c15cca5bda4f2570f696b..c83232d660397c1e1a7b10fd58e6a54f41658a1a 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T7.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T7.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T7.js
+ * @path ch13/13.2/S13.2.2_A19_T7.js
  * @description Function is declared in the object scope as a variable
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A19_T8.js b/test/suite/ch13/13.2/S13.2.2_A19_T8.js
index 41b1fe8a0e425348312b2bd9d04784e55f4036cd..7db4affd8bf7de35be4319030f3ccbe40746b96a 100644
--- a/test/suite/ch13/13.2/S13.2.2_A19_T8.js
+++ b/test/suite/ch13/13.2/S13.2.2_A19_T8.js
@@ -4,7 +4,7 @@
 /**
  * Function's scope chain is started when it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A19_T8.js
+ * @path ch13/13.2/S13.2.2_A19_T8.js
  * @description Function is declared multiply times
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A1_T1.js b/test/suite/ch13/13.2/S13.2.2_A1_T1.js
index a9c072ecb7a42d79ce03ff6224c9829596d565fc..cb9a2dbd61afbc3dd1ba133fb510eda8508ce74b 100644
--- a/test/suite/ch13/13.2/S13.2.2_A1_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A1_T1.js
+ * @path ch13/13.2/S13.2.2_A1_T1.js
  * @description Declaring a function with "function __func()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A1_T2.js b/test/suite/ch13/13.2/S13.2.2_A1_T2.js
index 5c5448fb31d9ef15fff6a80c94ba060966b515cc..dd907d790add35d6c8d248084bae6501af5f30d6 100644
--- a/test/suite/ch13/13.2/S13.2.2_A1_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A1_T2.js
+ * @path ch13/13.2/S13.2.2_A1_T2.js
  * @description Declaring a function with "var __PROTO = function()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A2.js b/test/suite/ch13/13.2/S13.2.2_A2.js
index c5c5c5eacef626f804dd55ea6f2c612e13bc9024..3389a36d1220347cf0f7b4d84de409a0890e10d9 100644
--- a/test/suite/ch13/13.2/S13.2.2_A2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A2.js
@@ -5,7 +5,7 @@
  * Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property,
  * but [[call]] property must fail with TypeError error
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A2.js
+ * @path ch13/13.2/S13.2.2_A2.js
  * @description Trying to [[call]] this function
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A3_T1.js b/test/suite/ch13/13.2/S13.2.2_A3_T1.js
index 613eaf361ffdfbd4fcd66a9a1f6bde0d8374acf4..a04721c810561ece172adf23c104a153266acaf6 100644
--- a/test/suite/ch13/13.2/S13.2.2_A3_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A3_T1.js
@@ -8,7 +8,7 @@
  * If PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created
  *  to the original Object prototype object as described in 15.2.3.1
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A3_T1.js
+ * @path ch13/13.2/S13.2.2_A3_T1.js
  * @description Declaring a function with "function __FACTORY()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A3_T2.js b/test/suite/ch13/13.2/S13.2.2_A3_T2.js
index 4ee42264571392e0801cc9b02be74d4b6da7a8f4..613adbb9cfe10b7f3a0904f02558e09266a3fe19 100644
--- a/test/suite/ch13/13.2/S13.2.2_A3_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A3_T2.js
@@ -8,7 +8,7 @@
  * If PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created
  *  to the original Object prototype object as described in 15.2.3.1
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A3_T2.js
+ * @path ch13/13.2/S13.2.2_A3_T2.js
  * @description Declaring a function with "var __FACTORY = function()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A4_T1.js b/test/suite/ch13/13.2/S13.2.2_A4_T1.js
index f33838abd177e1ed3964ed892dde526919cfef63..5804b6c296f9cbefa4c7a4c2d40f614af67eb5a8 100644
--- a/test/suite/ch13/13.2/S13.2.2_A4_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A4_T1.js
@@ -8,7 +8,7 @@
  * If PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created
  * to the PROTO_VAL
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A4_T1.js
+ * @path ch13/13.2/S13.2.2_A4_T1.js
  * @description Declaring a function with "function __FACTORY()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A4_T2.js b/test/suite/ch13/13.2/S13.2.2_A4_T2.js
index b69d1b11e66b8d513a85fd173df3cc4682d242f9..3560e058b5796827d037b08b8c911a0a51d42f83 100644
--- a/test/suite/ch13/13.2/S13.2.2_A4_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A4_T2.js
@@ -8,7 +8,7 @@
  * If PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created
  * to the PROTO_VAL
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A4_T2.js
+ * @path ch13/13.2/S13.2.2_A4_T2.js
  * @description Declaring a function with "__FACTORY = function()"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A5_T1.js b/test/suite/ch13/13.2/S13.2.2_A5_T1.js
index 58c0e1fcec3e141b52fd018fbe5512d18656edbe..03c552318c739dde5aa09d4b53135702391575a8 100644
--- a/test/suite/ch13/13.2/S13.2.2_A5_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A5_T1.js
@@ -7,7 +7,7 @@
  * Invoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and
  * providing the argument list passed into [[Construct]] as the argument values
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A5_T1.js
+ * @path ch13/13.2/S13.2.2_A5_T1.js
  * @description Declaring a function with "function __FACTORY(arg1, arg2)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A5_T2.js b/test/suite/ch13/13.2/S13.2.2_A5_T2.js
index a7b5dade52fcd9f510439bad92b3a6d3e9053173..d3cd773ab48084bd0e2f732baa815f449ba57198 100644
--- a/test/suite/ch13/13.2/S13.2.2_A5_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A5_T2.js
@@ -7,7 +7,7 @@
  * Invoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and
  * providing the argument list passed into [[Construct]] as the argument values
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A5_T2.js
+ * @path ch13/13.2/S13.2.2_A5_T2.js
  * @description Declaring a function with "__FACTORY = function(arg1, arg2)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A6_T1.js b/test/suite/ch13/13.2/S13.2.2_A6_T1.js
index 3a55602cc9c74aad29dd45f42426a5898c767075..82ef96dcee680b0834856835911bfa167b7a2b7d 100644
--- a/test/suite/ch13/13.2/S13.2.2_A6_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A6_T1.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A6_T1.js
+ * @path ch13/13.2/S13.2.2_A6_T1.js
  * @description Declaring a function with "__func = function(arg)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A6_T2.js b/test/suite/ch13/13.2/S13.2.2_A6_T2.js
index c2ce418b44ca0d4de7499a7fdc31a6501112fd87..f428bcb15da6c914b80614d3261aed75d882ce88 100644
--- a/test/suite/ch13/13.2/S13.2.2_A6_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A6_T2.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A6_T2.js
+ * @path ch13/13.2/S13.2.2_A6_T2.js
  * @description Declaring a function with "function __func (arg)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A7_T1.js b/test/suite/ch13/13.2/S13.2.2_A7_T1.js
index 9b56b9da10c0e13d0420411968d902468375eb3c..02734e83ef05c40aaa55a732a7c70dabf32605ea 100644
--- a/test/suite/ch13/13.2/S13.2.2_A7_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A7_T1.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is an Object then return this just as obtained object
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A7_T1.js
+ * @path ch13/13.2/S13.2.2_A7_T1.js
  * @description Declaring a function with "as __func = function(arg)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A7_T2.js b/test/suite/ch13/13.2/S13.2.2_A7_T2.js
index 803d002cf3fed9dad1efcf787b6926dff33fdd6c..9fbebf72c288bbf3973e8be99f10a9632666421c 100644
--- a/test/suite/ch13/13.2/S13.2.2_A7_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A7_T2.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is an Object then return this just as obtained object
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A7_T2.js
+ * @path ch13/13.2/S13.2.2_A7_T2.js
  * @description Declaring a "function as function __func (arg)"
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A8_T1.js b/test/suite/ch13/13.2/S13.2.2_A8_T1.js
index 3b20f63e8c2e7742947a8b50ef20d710572fdb52..640c120f84f88c97c080e861db0bca5fe6876828 100644
--- a/test/suite/ch13/13.2/S13.2.2_A8_T1.js
+++ b/test/suite/ch13/13.2/S13.2.2_A8_T1.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is an Function then return this just as obtained function
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A8_T1.js
+ * @path ch13/13.2/S13.2.2_A8_T1.js
  * @description Creating a function whose prototype contains "return" followed by declaration of another function
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A8_T2.js b/test/suite/ch13/13.2/S13.2.2_A8_T2.js
index 3b2fe13fd933012b1b514be565db011dc098214a..e7f454b8d335d20a9abb401eee16a90d2e36b82a 100644
--- a/test/suite/ch13/13.2/S13.2.2_A8_T2.js
+++ b/test/suite/ch13/13.2/S13.2.2_A8_T2.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is an Function then return this just as obtained function
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A8_T2.js
+ * @path ch13/13.2/S13.2.2_A8_T2.js
  * @description Creating a function whose prototype contains declaration of another function declared as a variable
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A8_T3.js b/test/suite/ch13/13.2/S13.2.2_A8_T3.js
index 926af050e44f503c50aeaa96e810a9529e5d47c6..e5e05f4bd6e168e8b6bd576c11524235db476668 100644
--- a/test/suite/ch13/13.2/S13.2.2_A8_T3.js
+++ b/test/suite/ch13/13.2/S13.2.2_A8_T3.js
@@ -8,7 +8,7 @@
  * list passed into [[Construct]] as the argument values.
  * If Type( [[Call]] returned) is an Function then return this just as obtained function
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A8_T3.js
+ * @path ch13/13.2/S13.2.2_A8_T3.js
  * @description Creating a function whose prototype contains declaration of another function defined by using Function.call method
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.2_A9.js b/test/suite/ch13/13.2/S13.2.2_A9.js
index 26733a5565d39ca80014e05afdc0d2cec26c6e3e..ff722e7065feea86500b75655e25682699128c58 100644
--- a/test/suite/ch13/13.2/S13.2.2_A9.js
+++ b/test/suite/ch13/13.2/S13.2.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * Calling a function as a constructor is inadmissible as long as this.any_Function is called before it is declared
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A9.js
+ * @path ch13/13.2/S13.2.2_A9.js
  * @description Calling a function as a constructor
  */
 
diff --git a/test/suite/ch13/13.2/S13.2.3_A1.js b/test/suite/ch13/13.2/S13.2.3_A1.js
index a117f822759cb455c2a0e13e4fed1a5e10104517..bc6d70b902d0bd75b80b695a8e852a2e4880b150 100644
--- a/test/suite/ch13/13.2/S13.2.3_A1.js
+++ b/test/suite/ch13/13.2/S13.2.3_A1.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2.3_A1.js
+ * @path ch13/13.2/S13.2.3_A1.js
  * @description check that all poisoning use the [[ThrowTypeError]]
  * function object.
  * @onlyStrict
diff --git a/test/suite/ch13/13.2/S13.2_A1_T1.js b/test/suite/ch13/13.2/S13.2_A1_T1.js
index 53a6ea63bd03d2c6bb71a3fdd0d8fb1c57bb59be..5f7d1b15a3bcaff554b68604fa55563921cb5311 100644
--- a/test/suite/ch13/13.2/S13.2_A1_T1.js
+++ b/test/suite/ch13/13.2/S13.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * A "prototype" property is automatically created for every function
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A1_T1.js
+ * @path ch13/13.2/S13.2_A1_T1.js
  * @description Using "function __func(){}" as a FunctionDeclaration
  */
 
diff --git a/test/suite/ch13/13.2/S13.2_A1_T2.js b/test/suite/ch13/13.2/S13.2_A1_T2.js
index 48e9919dc31bb5dc268433ed4bdeb80d0d88aa55..b9d933a6d2d40398b512e0989e5f934ba7dd8f65 100644
--- a/test/suite/ch13/13.2/S13.2_A1_T2.js
+++ b/test/suite/ch13/13.2/S13.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * A "prototype" property is automatically created for every function
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A1_T2.js
+ * @path ch13/13.2/S13.2_A1_T2.js
  * @description Using "var __func = function(){}" as a FunctionDeclaration
  */
 
diff --git a/test/suite/ch13/13.2/S13.2_A2_T1.js b/test/suite/ch13/13.2/S13.2_A2_T1.js
index d5758a260ced0657a42a9a5f439dbbb5f7c9c590..b49ba197304345c58433b6bf94284d14de7a1f07 100644
--- a/test/suite/ch13/13.2/S13.2_A2_T1.js
+++ b/test/suite/ch13/13.2/S13.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Nested function are admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A2_T1.js
+ * @path ch13/13.2/S13.2_A2_T1.js
  * @description Nesting level is two
  */
 
diff --git a/test/suite/ch13/13.2/S13.2_A2_T2.js b/test/suite/ch13/13.2/S13.2_A2_T2.js
index 07b96559ff7a3c63637f2c0da8f5d5246f1de2c3..024a624faf2e5b64c7cf4224aca948ef9caaab98 100644
--- a/test/suite/ch13/13.2/S13.2_A2_T2.js
+++ b/test/suite/ch13/13.2/S13.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Nested function are admitted
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A2_T2.js
+ * @path ch13/13.2/S13.2_A2_T2.js
  * @description Nesting level is three
  */
 
diff --git a/test/suite/ch13/13.2/S13.2_A3.js b/test/suite/ch13/13.2/S13.2_A3.js
index 1f8e6fbea6621432306644932e4a645374a01cfc..3cd3c7032b83cb5148d02e5bc001b52794802dea 100644
--- a/test/suite/ch13/13.2/S13.2_A3.js
+++ b/test/suite/ch13/13.2/S13.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * When Function object(F) is constructed the length property of F is set to the number of formal properties specified in FormalParameterList
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A3.js
+ * @path ch13/13.2/S13.2_A3.js
  * @description Creating functions with various FormalParameterList and checking their lengths
  */
 
diff --git a/test/suite/ch13/13.2/S13.2_A4_T1.js b/test/suite/ch13/13.2/S13.2_A4_T1.js
index 6bb1a23baba1c77446b0bd874954f023e7d0ca2c..9656e4d1ae83405363c21ee4f62ce5c9718997fe 100644
--- a/test/suite/ch13/13.2/S13.2_A4_T1.js
+++ b/test/suite/ch13/13.2/S13.2_A4_T1.js
@@ -7,7 +7,7 @@
  * 10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.
  * 11. Set the "prototype" property of F to Result(9).
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A4_T1.js
+ * @path ch13/13.2/S13.2_A4_T1.js
  * @description Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.
  * Using "function __func(){}" as a FunctionDeclaration
  */
diff --git a/test/suite/ch13/13.2/S13.2_A4_T2.js b/test/suite/ch13/13.2/S13.2_A4_T2.js
index 2323f32e9bc6db09ef85219e1b5af84628d06a1b..1cb3f4ea8b3dc1abafbd26ad27a41fd014cd278b 100644
--- a/test/suite/ch13/13.2/S13.2_A4_T2.js
+++ b/test/suite/ch13/13.2/S13.2_A4_T2.js
@@ -7,7 +7,7 @@
  * 10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.
  * 11. Set the "prototype" property of F to Result(9).
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A4_T2.js
+ * @path ch13/13.2/S13.2_A4_T2.js
  * @description Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.
  * Using "var __gunc = function(){}" as a FunctionDeclaration
  */
diff --git a/test/suite/ch13/13.2/S13.2_A5.js b/test/suite/ch13/13.2/S13.2_A5.js
index a1a79ef80374235afa1ec7ecdcdbb746a7434bb1..6d88fad8e1ec497c6e51930dfe32cfa7130d7d0d 100644
--- a/test/suite/ch13/13.2/S13.2_A5.js
+++ b/test/suite/ch13/13.2/S13.2_A5.js
@@ -5,7 +5,7 @@
  * When Function object(F) is constructed
  * the [[Prototype]] property of F is set to the original Function prototype object as specified in 15.3.3.1
  *
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A5.js
+ * @path ch13/13.2/S13.2_A5.js
  * @description Function.prototype.isPrototypeOf() is used
  */
 
diff --git a/test/suite/ch13/13.2/S13.2_A6_T1.js b/test/suite/ch13/13.2/S13.2_A6_T1.js
index 4eb7b60309b08c354893ec728206eb0b7938dfb0..2fca01cc2f8a8fb0d5de57e2b685a1c3f752a5c1 100644
--- a/test/suite/ch13/13.2/S13.2_A6_T1.js
+++ b/test/suite/ch13/13.2/S13.2_A6_T1.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T1.js
+ * @path ch13/13.2/S13.2_A6_T1.js
  * @description check if "caller" poisoning poisons
  * getOwnPropertyDescriptor too
  * @onlyStrict
diff --git a/test/suite/ch13/13.2/S13.2_A6_T2.js b/test/suite/ch13/13.2/S13.2_A6_T2.js
index 02174e5376480eff82c392f9e50363df893b2847..e8a3344620fde260fc9d28f7275d138f1b794bff 100644
--- a/test/suite/ch13/13.2/S13.2_A6_T2.js
+++ b/test/suite/ch13/13.2/S13.2_A6_T2.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A6_T2.js
+ * @path ch13/13.2/S13.2_A6_T2.js
  * @description check if "arguments" poisoning poisons
  * getOwnPropertyDescriptor too
  * @onlyStrict
diff --git a/test/suite/ch13/13.2/S13.2_A7_T1.js b/test/suite/ch13/13.2/S13.2_A7_T1.js
index 2d2a9bd0e3fdb4529307ce81ba2c6d8ff4dd8ee0..d557bbd6739d047621ba464f126e42a7366ae689 100644
--- a/test/suite/ch13/13.2/S13.2_A7_T1.js
+++ b/test/suite/ch13/13.2/S13.2_A7_T1.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T1.js
+ * @path ch13/13.2/S13.2_A7_T1.js
  * @description check if "caller" poisoning poisons
  * hasOwnProperty too
  * @onlyStrict
diff --git a/test/suite/ch13/13.2/S13.2_A7_T2.js b/test/suite/ch13/13.2/S13.2_A7_T2.js
index bc40c8ed07d35ec873468b7f8eab48e4e2e10931..82c03938ffa7fb3e6a3ae9e4c7be532d63dc4412 100644
--- a/test/suite/ch13/13.2/S13.2_A7_T2.js
+++ b/test/suite/ch13/13.2/S13.2_A7_T2.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A7_T2.js
+ * @path ch13/13.2/S13.2_A7_T2.js
  * @description check if "arguments" poisoning poisons
  * hasOwnProperty too
  * @onlyStrict
diff --git a/test/suite/ch13/13.2/S13.2_A8_T1.js b/test/suite/ch13/13.2/S13.2_A8_T1.js
index b7b33d853f92f3ac7cf83e999b5b59e692e69268..a68553e824e5c3c10491c01849ed856ac39baace 100644
--- a/test/suite/ch13/13.2/S13.2_A8_T1.js
+++ b/test/suite/ch13/13.2/S13.2_A8_T1.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T1.js
+ * @path ch13/13.2/S13.2_A8_T1.js
  * @description check if "caller" poisoning poisons
  * "in" too
  * @onlyStrict
diff --git a/test/suite/ch13/13.2/S13.2_A8_T2.js b/test/suite/ch13/13.2/S13.2_A8_T2.js
index dd0379744b3ae83ef4cf4182a746fadc769e08cd..0d9eec7c5ab052fedd260feecd911d4c52a6ad2c 100644
--- a/test/suite/ch13/13.2/S13.2_A8_T2.js
+++ b/test/suite/ch13/13.2/S13.2_A8_T2.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 13_Function_Definition/13.2_Creating_Function_Objects/S13.2_A8_T2.js
+ * @path ch13/13.2/S13.2_A8_T2.js
  * @description check if "arguments" poisoning poisons
  * "in" too
  * @onlyStrict
diff --git a/test/suite/ch13/S13_A1.js b/test/suite/ch13/S13_A1.js
index 986981ad5fb4d02026c993bc723e1aa253ba8de8..fdd4e020f2109522ad370774e76bd6ea6251016f 100644
--- a/test/suite/ch13/S13_A1.js
+++ b/test/suite/ch13/S13_A1.js
@@ -4,7 +4,7 @@
 /**
  * "x=function y(){}" statement does not store a reference to the new function in the varaible y(Identifier)
  *
- * @path 13_Function_Definition/S13_A1.js
+ * @path ch13/S13_A1.js
  * @description Checking the type of y
  */
 
diff --git a/test/suite/ch13/S13_A10.js b/test/suite/ch13/S13_A10.js
index d3116b32720ca8c851572ab3feb97f48bdd7013e..99525bf522be6d1c2f6b14f964b7f9375ecd8fa7 100644
--- a/test/suite/ch13/S13_A10.js
+++ b/test/suite/ch13/S13_A10.js
@@ -4,7 +4,7 @@
 /**
  * Function is a data
  *
- * @path 13_Function_Definition/S13_A10.js
+ * @path ch13/S13_A10.js
  * @description Using function as a property of an object
  */
 
diff --git a/test/suite/ch13/S13_A11_T1.js b/test/suite/ch13/S13_A11_T1.js
index 97cac4881784dd07d004c6631f5991ef079920fa..4c082a712ca7f089755b502ec4db7333bcb54894 100644
--- a/test/suite/ch13/S13_A11_T1.js
+++ b/test/suite/ch13/S13_A11_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since arguments property has attribute { DontDelete }, only its elements can be deleted
  *
- * @path 13_Function_Definition/S13_A11_T1.js
+ * @path ch13/S13_A11_T1.js
  * @description Returning result of "delete arguments"
  */
 
diff --git a/test/suite/ch13/S13_A11_T2.js b/test/suite/ch13/S13_A11_T2.js
index 136d6c62ca1f62c232c4a326b26bbcd13e78e685..d97dfe0397ae879545c34ed210c560c425f53656 100644
--- a/test/suite/ch13/S13_A11_T2.js
+++ b/test/suite/ch13/S13_A11_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since arguments property has attribute { DontDelete }, only its elements can be deleted
  *
- * @path 13_Function_Definition/S13_A11_T2.js
+ * @path ch13/S13_A11_T2.js
  * @description Checking if deleting the arguments property fails and then returning it
  */
 
diff --git a/test/suite/ch13/S13_A11_T3.js b/test/suite/ch13/S13_A11_T3.js
index a5bd8968ef4401805085f269eb644a7d9efb4706..a6be104c7c6180599be19ec8b8b22fd3e456f4e5 100644
--- a/test/suite/ch13/S13_A11_T3.js
+++ b/test/suite/ch13/S13_A11_T3.js
@@ -4,7 +4,7 @@
 /**
  * Since arguments property has attribute { DontDelete }, only its elements can be deleted
  *
- * @path 13_Function_Definition/S13_A11_T3.js
+ * @path ch13/S13_A11_T3.js
  * @description Deleting arguments[i] and returning result of the operation
  */
 
diff --git a/test/suite/ch13/S13_A11_T4.js b/test/suite/ch13/S13_A11_T4.js
index ed57dcb15d84f740c55ad87d2ad7aa645193b596..009bf846faf9074b81cada9ca0c7c40d702f4ca8 100644
--- a/test/suite/ch13/S13_A11_T4.js
+++ b/test/suite/ch13/S13_A11_T4.js
@@ -4,7 +4,7 @@
 /**
  * Since arguments property has attribute { DontDelete }, only its elements can be deleted
  *
- * @path 13_Function_Definition/S13_A11_T4.js
+ * @path ch13/S13_A11_T4.js
  * @description Deleting arguments[i] and checking the type of arguments[i]
  */
 
diff --git a/test/suite/ch13/S13_A12_T1.js b/test/suite/ch13/S13_A12_T1.js
index 23dce3788e7989afbba97983e3b4fd9402443395..caafdfc8725f07b6770c3904d0074419aa204664 100644
--- a/test/suite/ch13/S13_A12_T1.js
+++ b/test/suite/ch13/S13_A12_T1.js
@@ -4,7 +4,7 @@
 /**
  * Function declarations in global or function scope are {DontDelete}
  *
- * @path 13_Function_Definition/S13_A12_T1.js
+ * @path ch13/S13_A12_T1.js
  * @description Checking if deleting a function that is declared in global scope fails
  */
 
diff --git a/test/suite/ch13/S13_A12_T2.js b/test/suite/ch13/S13_A12_T2.js
index 986fc70343ca49b2e4c56b3353fd6a9fa9ab6e89..47f7d21522dd1c6384a8661ac4aed2f3163500e7 100644
--- a/test/suite/ch13/S13_A12_T2.js
+++ b/test/suite/ch13/S13_A12_T2.js
@@ -4,7 +4,7 @@
 /**
  * Function declarations in global or function scope are {DontDelete}
  *
- * @path 13_Function_Definition/S13_A12_T2.js
+ * @path ch13/S13_A12_T2.js
  * @description Checking if deleting a function that is declared in function scope fails
  */
 
diff --git a/test/suite/ch13/S13_A13_T1.js b/test/suite/ch13/S13_A13_T1.js
index d9225341e261bc9fb1a8b2eec4cf2ff76db6d2a0..dc4c3ba64e49a62a4dd7faf39a93575575bf79c4 100644
--- a/test/suite/ch13/S13_A13_T1.js
+++ b/test/suite/ch13/S13_A13_T1.js
@@ -4,7 +4,7 @@
 /**
  * Deleting arguments[i] leads to breaking the connection to local reference
  *
- * @path 13_Function_Definition/S13_A13_T1.js
+ * @path ch13/S13_A13_T1.js
  * @description Deleting arguments[i]
  */
 
diff --git a/test/suite/ch13/S13_A13_T2.js b/test/suite/ch13/S13_A13_T2.js
index 5aab1f574cefa9f1bdb51509f0b62bc2b52479cc..359eaf9f4168ba31f848ef9d979f05bb9853af7e 100644
--- a/test/suite/ch13/S13_A13_T2.js
+++ b/test/suite/ch13/S13_A13_T2.js
@@ -4,7 +4,7 @@
 /**
  * Deleting arguments[i] leads to breaking the connection to local reference
  *
- * @path 13_Function_Definition/S13_A13_T2.js
+ * @path ch13/S13_A13_T2.js
  * @description Changing arguments value and then deleting the argument
  */
 
diff --git a/test/suite/ch13/S13_A13_T3.js b/test/suite/ch13/S13_A13_T3.js
index e404b0890caf677d0924b92ecd10af9f78e822fa..84dd5ea1e80a26fca732a1be28630fbb58a5ad98 100644
--- a/test/suite/ch13/S13_A13_T3.js
+++ b/test/suite/ch13/S13_A13_T3.js
@@ -4,7 +4,7 @@
 /**
  * Deleting arguments[i] leads to breaking the connection to local reference
  *
- * @path 13_Function_Definition/S13_A13_T3.js
+ * @path ch13/S13_A13_T3.js
  * @description Changing argument value, deleting the argument and then defining a new value for arguments[i]
  */
 
diff --git a/test/suite/ch13/S13_A14.js b/test/suite/ch13/S13_A14.js
index adae6d639a449a350e0f892949f874f9d844d0f1..31a63313bbc868d0900f386854c7ced152f0ca84 100644
--- a/test/suite/ch13/S13_A14.js
+++ b/test/suite/ch13/S13_A14.js
@@ -4,7 +4,7 @@
 /**
  * Unicode symbols in function name are allowed
  *
- * @path 13_Function_Definition/S13_A14.js
+ * @path ch13/S13_A14.js
  * @description Defining function name with unicode symbols
  */
 
diff --git a/test/suite/ch13/S13_A15_T1.js b/test/suite/ch13/S13_A15_T1.js
index da63d387276f880c6b70e82f83aef99685134611..c4862b38ecc2940f2d0fe20c4b759f75975754a0 100644
--- a/test/suite/ch13/S13_A15_T1.js
+++ b/test/suite/ch13/S13_A15_T1.js
@@ -4,7 +4,7 @@
 /**
  * ''arguments'' variable overrides ActivationObject.arguments
  *
- * @path 13_Function_Definition/S13_A15_T1.js
+ * @path ch13/S13_A15_T1.js
  * @description Declaring a function with "__func(arguments)"
  */
 
diff --git a/test/suite/ch13/S13_A15_T2.js b/test/suite/ch13/S13_A15_T2.js
index ade3288371cc3e34b9a9f892e40435cb88a365f9..ec82748be232b81953ae2b1dd0f9f1be85ee4e5d 100644
--- a/test/suite/ch13/S13_A15_T2.js
+++ b/test/suite/ch13/S13_A15_T2.js
@@ -4,7 +4,7 @@
 /**
  * ''arguments'' variable overrides ActivationObject.arguments
  *
- * @path 13_Function_Definition/S13_A15_T2.js
+ * @path ch13/S13_A15_T2.js
  * @description Overriding arguments within functions body
  */
 
diff --git a/test/suite/ch13/S13_A15_T3.js b/test/suite/ch13/S13_A15_T3.js
index c45b2416fd0f7335917ac824126003cefc12518c..ef625d881d7ee373fc0fc11d3cf812903ba32807 100644
--- a/test/suite/ch13/S13_A15_T3.js
+++ b/test/suite/ch13/S13_A15_T3.js
@@ -4,7 +4,7 @@
 /**
  * ''arguments'' variable overrides ActivationObject.arguments
  *
- * @path 13_Function_Definition/S13_A15_T3.js
+ * @path ch13/S13_A15_T3.js
  * @description Declaring a variable named with "arguments" without a function
  */
 
diff --git a/test/suite/ch13/S13_A15_T4.js b/test/suite/ch13/S13_A15_T4.js
index c394c0b3919aedc969a8323dc199ba8e9b6c0311..e33c5ca14ec5cdc525f9e1773873fdfc048a5594 100644
--- a/test/suite/ch13/S13_A15_T4.js
+++ b/test/suite/ch13/S13_A15_T4.js
@@ -4,7 +4,7 @@
 /**
  * ''arguments'' variable overrides ActivationObject.arguments
  *
- * @path 13_Function_Definition/S13_A15_T4.js
+ * @path ch13/S13_A15_T4.js
  * @description Declaring a variable named with "arguments" and following a "return" statement within a function body
  */
 
diff --git a/test/suite/ch13/S13_A15_T5.js b/test/suite/ch13/S13_A15_T5.js
index aa55a5bef7a79e562f66bcfe181b4015ba25cee2..3ea179277c885721536fe5026b60f1bf04403e74 100644
--- a/test/suite/ch13/S13_A15_T5.js
+++ b/test/suite/ch13/S13_A15_T5.js
@@ -4,7 +4,7 @@
 /**
  * ''arguments'' variable overrides ActivationObject.arguments
  *
- * @path 13_Function_Definition/S13_A15_T5.js
+ * @path ch13/S13_A15_T5.js
  * @description Creating a variable named with "arguments" without a function
  */
 
diff --git a/test/suite/ch13/S13_A16.js b/test/suite/ch13/S13_A16.js
index e6b8a4eea2b95db474a76a946eac7e79044a14f8..6d2e9cec58c4ebe01a7c1cd01789918607698f74 100644
--- a/test/suite/ch13/S13_A16.js
+++ b/test/suite/ch13/S13_A16.js
@@ -4,7 +4,7 @@
 /**
  * Any separators are admitted between declaration chunks
  *
- * @path 13_Function_Definition/S13_A16.js
+ * @path ch13/S13_A16.js
  * @description Inserting separators between declaration chunks
  */
 
diff --git a/test/suite/ch13/S13_A17_T1.js b/test/suite/ch13/S13_A17_T1.js
index 58a5557008fb7a8b430f38208b0f5fe68c645c6d..935c419c9ea7b94179eba8a59131fe0a53a7033f 100644
--- a/test/suite/ch13/S13_A17_T1.js
+++ b/test/suite/ch13/S13_A17_T1.js
@@ -4,7 +4,7 @@
 /**
  * Function call cannot appear in the program before the FunctionExpression appears
  *
- * @path 13_Function_Definition/S13_A17_T1.js
+ * @path ch13/S13_A17_T1.js
  * @description Trying to call a function before the FunctionExpression appears
  */
 
diff --git a/test/suite/ch13/S13_A17_T2.js b/test/suite/ch13/S13_A17_T2.js
index ffc612291bf56f3c0c7ce84021f635f48d4b1622..b3224d851c825e0b178ac8a2c75a3c2ca6922007 100644
--- a/test/suite/ch13/S13_A17_T2.js
+++ b/test/suite/ch13/S13_A17_T2.js
@@ -4,7 +4,7 @@
 /**
  * Function call cannot appear in the program before the FunctionExpression appears
  *
- * @path 13_Function_Definition/S13_A17_T2.js
+ * @path ch13/S13_A17_T2.js
  * @description Trying to call a function before the FunctionExpression appears and then using the FunctionExpression one more time
  */
 
diff --git a/test/suite/ch13/S13_A18.js b/test/suite/ch13/S13_A18.js
index 2146a31555311f8a1e7f1aafd914439b2f88d1c6..1b4057d7b6f27d7aa5bec61cff989012bc5253f7 100644
--- a/test/suite/ch13/S13_A18.js
+++ b/test/suite/ch13/S13_A18.js
@@ -4,7 +4,7 @@
 /**
  * Closures are admitted
  *
- * @path 13_Function_Definition/S13_A18.js
+ * @path ch13/S13_A18.js
  * @description Using a function declaration as a function parameter
  */
 
diff --git a/test/suite/ch13/S13_A19_T1.js b/test/suite/ch13/S13_A19_T1.js
index 7ccfcf95e0b672e1d3e84381eeee7ff0babf9a4c..06c68ba7dba4d0500677a9d5b39c03acca4ec2b0 100644
--- a/test/suite/ch13/S13_A19_T1.js
+++ b/test/suite/ch13/S13_A19_T1.js
@@ -4,7 +4,7 @@
 /**
  * "var" does not override function declaration
  *
- * @path 13_Function_Definition/S13_A19_T1.js
+ * @path ch13/S13_A19_T1.js
  * @description Creating a function and a variable with identical Identifiers in global scope
  */
 
diff --git a/test/suite/ch13/S13_A19_T2.js b/test/suite/ch13/S13_A19_T2.js
index f7de5a5804a6fdabfd493ce974df24d237f2b943..fdc1b7619b65d826bd4a3fabc6174fa854a3b44a 100644
--- a/test/suite/ch13/S13_A19_T2.js
+++ b/test/suite/ch13/S13_A19_T2.js
@@ -4,7 +4,7 @@
 /**
  * "var" does not override function declaration
  *
- * @path 13_Function_Definition/S13_A19_T2.js
+ * @path ch13/S13_A19_T2.js
  * @description Creating a function and a variable with identical Identifiers within function scope
  */
 
diff --git a/test/suite/ch13/S13_A2_T1.js b/test/suite/ch13/S13_A2_T1.js
index 6a3a8e5ef5aae78c0f632fa338d34321cd278a8c..4a08e96c5be0369a465ad2208c6ac09d765b5b74 100644
--- a/test/suite/ch13/S13_A2_T1.js
+++ b/test/suite/ch13/S13_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * function must be evaluated inside the expression
  *
- * @path 13_Function_Definition/S13_A2_T1.js
+ * @path ch13/S13_A2_T1.js
  * @description Defining function body with "return arg"
  */
 
diff --git a/test/suite/ch13/S13_A2_T2.js b/test/suite/ch13/S13_A2_T2.js
index fc7ca26f560e1b95e98e8def6bfbf761a6629304..3d84a168e683c721173e52eb710e42470c986732 100644
--- a/test/suite/ch13/S13_A2_T2.js
+++ b/test/suite/ch13/S13_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * function must be evaluated inside the expression
  *
- * @path 13_Function_Definition/S13_A2_T2.js
+ * @path ch13/S13_A2_T2.js
  * @description Defining function body with "return arg + arguments[1]"
  */
 
diff --git a/test/suite/ch13/S13_A2_T3.js b/test/suite/ch13/S13_A2_T3.js
index 55ad9d0182c5a225d993bdeaa98d27551f86efc2..7255ab03956b0d396643f926771e40da655ffe70 100644
--- a/test/suite/ch13/S13_A2_T3.js
+++ b/test/suite/ch13/S13_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * function must be evaluated inside the expression
  *
- * @path 13_Function_Definition/S13_A2_T3.js
+ * @path ch13/S13_A2_T3.js
  * @description Defining function body with "return arguments[0] +"-"+ arguments[1]"
  */
 
diff --git a/test/suite/ch13/S13_A3_T1.js b/test/suite/ch13/S13_A3_T1.js
index 73393a6ed473d9b0b28cade492c98bafacb65622..7b4d3df151603fd1fb8647a1809676e1030ae52e 100644
--- a/test/suite/ch13/S13_A3_T1.js
+++ b/test/suite/ch13/S13_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively
  *
- * @path 13_Function_Definition/S13_A3_T1.js
+ * @path ch13/S13_A3_T1.js
  * @description Creating a recursive function that calculates factorial, as a variable.
  * Function call itself by it`s name
  */
diff --git a/test/suite/ch13/S13_A3_T2.js b/test/suite/ch13/S13_A3_T2.js
index 103a5ba99f26defb1e736c604cc0e1c404d0bc9d..51f35cc675c9e8c6335a497c9ce2841f22f73ba5 100644
--- a/test/suite/ch13/S13_A3_T2.js
+++ b/test/suite/ch13/S13_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively
  *
- * @path 13_Function_Definition/S13_A3_T2.js
+ * @path ch13/S13_A3_T2.js
  * @description Creating a recursive function that calculates factorial, as a variable.
  * Function calls itself by the name of the variable
  */
diff --git a/test/suite/ch13/S13_A3_T3.js b/test/suite/ch13/S13_A3_T3.js
index bfa430d17646f4a5bf77e17fdc563da0441a17c2..4c5b4b60d03e3b4e0156588570ec9c3d0733da04 100644
--- a/test/suite/ch13/S13_A3_T3.js
+++ b/test/suite/ch13/S13_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively
  *
- * @path 13_Function_Definition/S13_A3_T3.js
+ * @path ch13/S13_A3_T3.js
  * @description Creating simple recursive function that calculates factorial
  */
 
diff --git a/test/suite/ch13/S13_A4_T1.js b/test/suite/ch13/S13_A4_T1.js
index 8ffbcb3875b1d65012423626e16a603c7323b5b8..119499e037a7c0a3facf108901910a1adcc8faba 100644
--- a/test/suite/ch13/S13_A4_T1.js
+++ b/test/suite/ch13/S13_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations
  *
- * @path 13_Function_Definition/S13_A4_T1.js
+ * @path ch13/S13_A4_T1.js
  * @description Declaring a function that returns string
  */
 
diff --git a/test/suite/ch13/S13_A4_T2.js b/test/suite/ch13/S13_A4_T2.js
index 848e1e9099bac5dd549fa4647b595b9be6ea79b1..3a0f9616e1b527c6fb7e8fb115eaaab9272bb703 100644
--- a/test/suite/ch13/S13_A4_T2.js
+++ b/test/suite/ch13/S13_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations
  *
- * @path 13_Function_Definition/S13_A4_T2.js
+ * @path ch13/S13_A4_T2.js
  * @description Declaring a function that uses prefix increment operator within its "return" Expression
  */
 
diff --git a/test/suite/ch13/S13_A4_T3.js b/test/suite/ch13/S13_A4_T3.js
index 4ad294ff5b55a0e4ac27b0b5c1359818aa43688e..9ef4261639b8855f68dd7e34f4219b0332b52a95 100644
--- a/test/suite/ch13/S13_A4_T3.js
+++ b/test/suite/ch13/S13_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations
  *
- * @path 13_Function_Definition/S13_A4_T3.js
+ * @path ch13/S13_A4_T3.js
  * @description Declaring a function that uses arithmetical operators within its "return" Expression
  */
 
diff --git a/test/suite/ch13/S13_A4_T4.js b/test/suite/ch13/S13_A4_T4.js
index 27e1ab14a114a2a3c2e97c6ccc07380462e8df1d..e16e97b71e5218fb50659ce9673802fcb156a4bd 100644
--- a/test/suite/ch13/S13_A4_T4.js
+++ b/test/suite/ch13/S13_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production FunctionDeclaration: "function Identifier ( FormalParameterList_opt ) { FunctionBody }" is processed by function declarations
  *
- * @path 13_Function_Definition/S13_A4_T4.js
+ * @path ch13/S13_A4_T4.js
  * @description Declaring a function that uses strings concatenaion opeator within its "return" Expression
  */
 
diff --git a/test/suite/ch13/S13_A6_T1.js b/test/suite/ch13/S13_A6_T1.js
index 6fec41c678a0b38d766e188a51899476cc960775..90c400d70b9fee517197274cd6e495eb29ed5d50 100644
--- a/test/suite/ch13/S13_A6_T1.js
+++ b/test/suite/ch13/S13_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier
  *
- * @path 13_Function_Definition/S13_A6_T1.js
+ * @path ch13/S13_A6_T1.js
  * @description Duplicating function declaration
  */
 
diff --git a/test/suite/ch13/S13_A6_T2.js b/test/suite/ch13/S13_A6_T2.js
index 90c17f9d722bcc3ace55360983863f1952a9fb45..e20659136720f857fb50974ef5f458e51319b4e3 100644
--- a/test/suite/ch13/S13_A6_T2.js
+++ b/test/suite/ch13/S13_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier
  *
- * @path 13_Function_Definition/S13_A6_T2.js
+ * @path ch13/S13_A6_T2.js
  * @description Calling a function before it is declared one more time
  */
 
diff --git a/test/suite/ch13/S13_A7_T1.js b/test/suite/ch13/S13_A7_T1.js
index 01fee71badfd3466635228b38f2596051d94e617..77474651284179f78c7beb06d7cf763d673fb539 100644
--- a/test/suite/ch13/S13_A7_T1.js
+++ b/test/suite/ch13/S13_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * The FunctionBody must be SourceElements
  *
- * @path 13_Function_Definition/S13_A7_T1.js
+ * @path ch13/S13_A7_T1.js
  * @description Using only SourceElements within the FunctionBody
  */
 
diff --git a/test/suite/ch13/S13_A7_T2.js b/test/suite/ch13/S13_A7_T2.js
index 8860056cfed8d69116c387b6e869e07d654da3da..c9be672b8a0c54f08e2e06f182d74eb516719e86 100644
--- a/test/suite/ch13/S13_A7_T2.js
+++ b/test/suite/ch13/S13_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * The FunctionBody must be SourceElements
  *
- * @path 13_Function_Definition/S13_A7_T2.js
+ * @path ch13/S13_A7_T2.js
  * @description Inserting elements that is different from SourceElements into the FunctionBody
  */
 
diff --git a/test/suite/ch13/S13_A7_T3.js b/test/suite/ch13/S13_A7_T3.js
index 3b1935f3e8dce021ea8b4b59bb97950e3f20aa43..ae10085e03f241a865eaac83075f9a0afcb2a82e 100644
--- a/test/suite/ch13/S13_A7_T3.js
+++ b/test/suite/ch13/S13_A7_T3.js
@@ -4,7 +4,7 @@
 /**
  * The FunctionBody must be SourceElements
  *
- * @path 13_Function_Definition/S13_A7_T3.js
+ * @path ch13/S13_A7_T3.js
  * @description Checking if execution of "function __func(){\A\B\C}" fails
  * @negative
  */
diff --git a/test/suite/ch13/S13_A8_T1.js b/test/suite/ch13/S13_A8_T1.js
index 9dfbe47684a5b2b6f87b895075803eb8a3e33b70..e5758cf60132d6b9df039bc563791a86228b5474 100644
--- a/test/suite/ch13/S13_A8_T1.js
+++ b/test/suite/ch13/S13_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Arguments property of activation object contains real params to be passed
  *
- * @path 13_Function_Definition/S13_A8_T1.js
+ * @path ch13/S13_A8_T1.js
  * @description Creating a function declared with "function __func(param1, param2, param3)" and using arguments.length property in order to perform the test
  */
 
diff --git a/test/suite/ch13/S13_A8_T2.js b/test/suite/ch13/S13_A8_T2.js
index f123213831a8864863230cd64414c74b06141a94..b947c8054f373a1b9efa1d4924f14dae07ba01e0 100644
--- a/test/suite/ch13/S13_A8_T2.js
+++ b/test/suite/ch13/S13_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Arguments property of activation object contains real params to be passed
  *
- * @path 13_Function_Definition/S13_A8_T2.js
+ * @path ch13/S13_A8_T2.js
  * @description Creating a function with no parameters and using arguments.length property in order to perform the test
  */
 
diff --git a/test/suite/ch13/S13_A9.js b/test/suite/ch13/S13_A9.js
index 4acca61af43788a282435a5767cb772d26c194c4..95848bc9de38d8e4b943a6562b724c3bfafe4e88 100644
--- a/test/suite/ch13/S13_A9.js
+++ b/test/suite/ch13/S13_A9.js
@@ -4,7 +4,7 @@
 /**
  * Function can be passed as argument
  *
- * @path 13_Function_Definition/S13_A9.js
+ * @path ch13/S13_A9.js
  * @description Using function as argument of another function
  */
 
diff --git a/test/suite/ch14/S14_A1.js b/test/suite/ch14/S14_A1.js
index dc056f82c217648d5541cba66ee7be255410335d..f8ae88e0a8fbc53477dd0b54ef97f096f45decc3 100644
--- a/test/suite/ch14/S14_A1.js
+++ b/test/suite/ch14/S14_A1.js
@@ -4,7 +4,7 @@
 /**
  * FunctionExpression must be localed in a reacheable fragment of the program
  *
- * @path 14_Program/S14_A1.js
+ * @path ch14/S14_A1.js
  * @description Declaring a function within an "if" Expression
  */
 
diff --git a/test/suite/ch14/S14_A2.js b/test/suite/ch14/S14_A2.js
index 59f4e8d0510a33ab433031bc1e4698df8de4f60c..1329e7e1b35dd1774bd336742b14f9adcd765bf6 100644
--- a/test/suite/ch14/S14_A2.js
+++ b/test/suite/ch14/S14_A2.js
@@ -4,7 +4,7 @@
 /**
  * FunctionDeclaration cannot be localed inside an Expression
  *
- * @path 14_Program/S14_A2.js
+ * @path ch14/S14_A2.js
  * @description Declaring a function within an "if" Expression
  */
 
diff --git a/test/suite/ch14/S14_A3.js b/test/suite/ch14/S14_A3.js
index 95da4758c0ead961e3bba5168bd4a4ab4bb7e3d6..821d944d9b6f6db70352c17ac13f7242a4807d52 100644
--- a/test/suite/ch14/S14_A3.js
+++ b/test/suite/ch14/S14_A3.js
@@ -4,7 +4,7 @@
 /**
  * Global FunctionDeclaration cannot be defined within the body of another FunctionDeclaration
  *
- * @path 14_Program/S14_A3.js
+ * @path ch14/S14_A3.js
  * @description Declaring a function within the body of another function
  */
 
diff --git a/test/suite/ch14/S14_A5_T1.js b/test/suite/ch14/S14_A5_T1.js
index 8aacb4407a83d2cc263820d51724cd0cd292748f..20e16e9243bf00829bd781db6a3f8ae06c93bf52 100644
--- a/test/suite/ch14/S14_A5_T1.js
+++ b/test/suite/ch14/S14_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Identifer within a FunctionDeclaration can be written in both letters and unicode
  *
- * @path 14_Program/S14_A5_T1.js
+ * @path ch14/S14_A5_T1.js
  * @description Declaring a function with "function __\u0066\u0075\u006e\u0063(){return "both"}"
  */
 
diff --git a/test/suite/ch14/S14_A5_T2.js b/test/suite/ch14/S14_A5_T2.js
index 7117888f90e72257b42bf4518ceb2a7a05a2df56..8e99a2ba838db5a1fea5f8f96e163e61d66ae690 100644
--- a/test/suite/ch14/S14_A5_T2.js
+++ b/test/suite/ch14/S14_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Identifer within a FunctionDeclaration can be written in both letters and unicode
  *
- * @path 14_Program/S14_A5_T2.js
+ * @path ch14/S14_A5_T2.js
  * @description Declaring a function with "function \u005f\u005f\u0066\u0075\u006e\u0063(){return "unicode"}"
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js
index b72d22a9e3e786968c13222b604664e7abf188db..d09000a6ef581fc00671703c61dddef42471d8d8 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of NaN is NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.1_NaN/S15.1.1.1_A1.js
+ * @path ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js
  * @description Use typeof, isNaN, isFinite
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js
index 420d1c0b05cabe78e9e15d41339277a521d54fa9..ee5fcdab908f10c65ecd571f3b0ddbfd9da3fce2 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * The NaN is DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.1_NaN/S15.1.1.1_A3.1.js
+ * @path ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js
  * @description Use delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js b/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js
index 09d53dab72a2b6dce36161e3f7cae884cdd2acfc..e48814864adf29ddbcdfa280373ef2f4fab2082d 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * The NaN is DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.1_NaN/S15.1.1.1_A3.2.js
+ * @path ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js
  * @description Use for-in statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js
index ddb20688470ea258be167bcdbfb55a74a285eb2d..96980d89a16d0066a32c5736b16fc2127ec95105 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Infinity is Number.POSITIVE_INFINITY
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.2_Infinity/S15.1.1.2_A1.js
+ * @path ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js
  * @description Use typeof, isNaN, isFinite
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js
index 6660c0863eacc797f28d26a130f99e3787142ba2..2b38f5efaa3927ac9653f3783e23277433cabbd2 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Infinity is not ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.2_Infinity/S15.1.1.2_A2_T2.js
+ * @path ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js
  * @description Checking typeof Functions
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js
index 132419a2f8f0d038e920d6d29f4ad9abf7b95d6d..f410349661140b162e0a60353c8dc3cd69a7684d 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * The Infinity is DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.2_Infinity/S15.1.1.2_A3.1.js
+ * @path ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js
  * @description Use delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js
index bd09ca53190258572c8788e4a3c283043a73ab8e..87f7af3c8cc4756862f4384c6f3176d2129668f8 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * The Infinity is DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.2_Infinity/S15.1.1.2_A3.2.js
+ * @path ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js
  * @description Use for-in statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js
index 3c0eca37a8a2a192d64ed47ffa8fe670a5d3bd94..e05a01784c79cd505667eb6ee2ca968687b2468c 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of undefined is undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.3_undefined/S15.1.1.3_A1.js
+ * @path ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js
  * @description Use typeof, isNaN, isFinite
  */
 
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js
index ce9f22e22d74dbb11afc5bdaf548028a1fdeec76..7a1657651c2b280decb89e1457ffcf44892f2efc 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * The undefined is DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.3_undefined/S15.1.1.3_A3.1.js
+ * @path ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js
  * @description Use delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js b/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js
index c46a3bedd3c34c6eb5052cf09bab6c45311f47f5..f818b96db633968641ec000f3eb0441e78a9f42e 100644
--- a/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * The undefined is DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.1_Value_Properties_of_the_Global_Object/15.1.1.3_undefined/S15.1.1.3_A3.2.js
+ * @path ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js
  * @description Use for-in statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js
index 5d0d5da133266d5a658dc1f6a65f9b035b8ee6db..e335d2f73f6e637e3896664804cdcf4d2333076c 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If x is not a string value, return x
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A1.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js
  * @description Checking all primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js
index 2913696c6524181b94b1d554a80865d1d4bb45e9..67dd83d3fac28fafdf8b4206c5472d64480547b6 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If x is not a string value, return x
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A1.1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js
  * @description Checking all object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js
index c74fc896cf2d55f491039e05d7a9e5e715dcf773..616755cdb1f16b3e7020abba5ea5cc110af36d6d 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If the eval function is called with some argument, then use a first argument
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A1.2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js
  * @description eval("x = 1", "x = 2"), x equal 1, not 2
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js
index 1314a1edba93925703b1370a39b2ba1635299663..b1a6a03d7b7a6f27dac50170561cb9c7350d7f39 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If the parse fails, throw a SyntaxError exception (but see also clause 16)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js
  * @description Checking if execution of "eval("x = 1; x\u000A++"), catch SyntaxError" passes
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js
index c534a52a426d32f744e3c7b164c59758ffee86a2..176a93c26059a37f38227af3b2758bb8ea83c47e 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If the parse fails, throw a SyntaxError exception (but see also clause 16)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js
  * @description Checking if execution of "eval("x = 1; x\u000A++")" fails
  * @negative
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js
index ff3e21028a5f2b28ef9542aa51db5cbe10d3adf1..5341f7ff0c0efa3e8f9f4f79444b24ccd9c49610 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is a value V,
  * then return the value V
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js
  * @description Expression statement. Eval return primitive value
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js
index 8cc740712bc71d2576dad2179fb8b0425e5ac419..cf91aa5787c839bc6c3584d9a4efff3faedbdafa 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is a value V,
  * then return the value V
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js
  * @description Expression statement. Eval return object value
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js
index 7a4298ec415481ed67e622c9abeaa37e5018682e..61d9099c9ad54786d785fe8b421fe3a7a1296e05 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js
  * @description Block statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js
index 3c3f0dc189d3db060640c67d66ce90a69884076e..c6893cefe3972a3fc95d02e0b4ac32517905a200 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js
  * @description Var statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js
index 8d9a7e89823d4b5604e22f72d436e95646b4d97e..63a00ef51555044900b576d13d491a7fedeb1984 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js
  * @description Empty statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js
index dfb5ce64a28284db73385717360ba15b2ac8f9a6..4c7143495197f9853718307fd3080fdd89cebe21 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js
  * @description If statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js
index f4ff0ee967b58fc056141283a04852408989ca56..1cbae09f2fd5457c1e920a107b5ffb80735425be 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js
  * @description Switch statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js
index d6fc0f9cdb6dff5fcb79aab045e106e764ca16c7..44843a8a5317185db98cae6e53746a87a22fdb23 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js
  * @description do-while statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js
index 0fb08f87f1b86061bbd15e07ed56a524e46392f6..22da19f08fb6513651ebfe40e2465ff4d51f394f 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js
  * @description do-while statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js
index 776765735790b1e6e42fff31bfc6c388258568c3..5f2acb2d79592f96745c594cc9c3f92d9320089f 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js
@@ -5,7 +5,7 @@
  * If Result(3).type is normal and its completion value is empty,
  * then return the value undefined
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.2_T8.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js
  * @description for statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js
index bd06c54cb795056e2e3e4214798a0652c0ca0660..04bf18be7f00fb98bdbfb487980158e0e22054ac 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js
@@ -5,7 +5,7 @@
  * If Result(3).type is not normal, then Result(3).type must be throw.
  * Throw Result(3).value as an exception
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.3_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js
  * @description Continue statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js
index 092b3e7f850b37d8b1775fdf90c55cd1a6026956..1c1df21739577ddcbed929705a1f5163ff84580c 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js
@@ -5,7 +5,7 @@
  * If Result(3).type is not normal, then Result(3).type must be throw.
  * Throw Result(3).value as an exception
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.3_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js
  * @description Break statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js
index f6337005fcb7d22af7d7b933a8b713e49cbb269b..b8e7407237d6f2f2f552a386ad89e419451e6ee9 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js
@@ -5,7 +5,7 @@
  * If Result(3).type is not normal, then Result(3).type must be throw.
  * Throw Result(3).value as an exception
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.3_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js
  * @description Return statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js
index 4149108b7b36d536d01dff991dc822898dde0a42..45037cfbb35511f1d5c85d89f2b166ba858aa01b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js
@@ -5,7 +5,7 @@
  * If Result(3).type is not normal, then Result(3).type must be throw.
  * Throw Result(3).value as an exception
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A3.3_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js
  * @description Throw statement
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js
index f7f56a1f3174da8ee46c37a8fe8698024119ede1..17ae461296135d646fcb5d38f95db631abf64d9b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of eval has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.1.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js
index b464d79bd928cfb4750be29be7d4a3b5f74015ef..3a79a7baa7f3054ef86cbbe92ece2f007d255d83 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of eval has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.2.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js
index 53f27fb799ad67dd96a27f3e9356458b2975aa51..338a0982c21ae6aee4579f437a5108ae21a29cc5 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of eval has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.3.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js
index 6bc13a7d3b17d0690cbd746b979ded22cad5403e..bcae0bab0a74b11e4457380bebfb03faa36eba1c 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of eval is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.4.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js
  * @description eval.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js
index faf6624e059d2cdca34d428fa08cbef4420aeeb2..b9fe428fc92896089e9721b541c54558eacbdfe8 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * The eval property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.5.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js
index f1828d8436f522dfe73bccbcf5116fc9ae1a8314..04e1ade0acb7d8bda3905d1490ab14cd6d6acfa9 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * The eval property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.6.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js
  * @description Checking eval.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js
index 0a0e1cdb3da2e32e9af2ae98c56ad90dd1b012f2..0a1fa011f00fcdd84f0b5144c6b364277055d906 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * The eval property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.1_eval/S15.1.2.1_A4.7.js
+ * @path ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js
index e0bd55f29ca6b2987c1f9e7ca5f94ad877c60178..364172767ca1e8b8a788103788edc6f24a57c7e2 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js
  * @description Checking for boolean primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js
index 4a1618b15ebf84fb962877a5025764ce8a4af499..ff5199a07d0dd957c04ba129d8b0e1f22e138b76 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js
  * @description Checking for number primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js
index b39452209a540923c19137726b64265189bb3407..8302d3919bc6d3c6934278272f5f52a191b4b7b7 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js
  * @description Checking for undefined and null
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js
index 8ddc025f315abb3a30269e487a1c596d00a35053..cb8513d087b9d2d849f3c8b5640509f4d377a3f5 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js
  * @description Checking for Boolean object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js
index 753cba5b79be82eac970907766d07c50b64267a5..acf3ec1406377926283aca8ea9071964eb9d95f0 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js
index 7a5946c742b823dcdf1d1523b93d607b31390761..459b40fe41943c0fd605c0a148a0a132d383f401 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js
  * @description Checking for String object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js
index 1417e7dad1df95a7f8ac40d94b0fd3202590c02b..dee9254f2f4c6b513421ef8180fefe28f46a2c1f 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A1_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js
index 9e68b38f0b6bd80396d3ace692f81abe5395af47..94d69742cfe80a43f52c4cdca8926f13d453efa9 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js
  * @description StrWhiteSpaceChar :: TAB (U+0009)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js
index a72dee5dcf5d2e40e1d94ca58aad9da8084b4947..f674834439b3b83f0f3f090b13de5bd390032e28 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T10.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js
  * @description StrWhiteSpaceChar :: USP
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js
index 0368d4356072b8de75ef1fcf1595db1de6aacd32..b7fcfe4dada59d8e76f0773b69c2bd7e009697ae 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js
  * @description StrWhiteSpaceChar :: SP (U+0020)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js
index 7d8b2f6c0dc4b1144a27244b4e2ada6661a65887..6cf28d093be533caee4664aa9556342a50ec94e1 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js
  * @description StrWhiteSpaceChar :: NBSB (U+00A0)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js
index 6f03202676c5befa63daecdd88032b4152564e42..af48d2f2dc0b7f22ea58ee2ba8af2a03b416755b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js
  * @description StrWhiteSpaceChar :: FF (U+000C)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js
index 336ff7be4fbdee939a06089dcf4fb23328450ca6..cf937d46923f8dc4517ec8e9e8dded188904f586 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js
  * @description StrWhiteSpaceChar :: VT (U+000B)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js
index b296337fb51ad96cf622d06d7c22fb00f9625ce2..459fe4cbc393e2750e9d78eaa4674f5e5d04dbfa 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js
  * @description StrWhiteSpaceChar :: CR (U+000D)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js
index 31bfa3beadd9fd5a8f780d80b9246ec8e2d624f2..fd49e2b860be89b465088c6133817f5d5070b45c 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js
  * @description StrWhiteSpaceChar :: LF (U+000A)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js
index fb8721acd8ae20d6bfba5f25a4530c40b3f61361..2ecc4d7b3956e4655426c1798d8cb462ee1fc5e0 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T8.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js
  * @description StrWhiteSpaceChar :: LS (U+2028)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js
index 1707eb22ed60593c8106b4258559c08345c5e9f9..c517c2e8b68bb0e28c609b8692ddbab795104d07 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A2_T9.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js
  * @description StrWhiteSpaceChar :: PS (U+2029)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js
index 4b109f8b7b626d6ab34c74e43171e012982f42be..91faff88deb0388dbdbd3715e60ade7d38632391 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js
  * @description Checking for boolean primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js
index 9c4a4dd56d0b3746e08ab517c9b46f5624885561..3c3d3b170106665f0e9f189a5c86856de9973640 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js
  * @description Checking for string primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js
index 566ec0a9736b0d2da0833242c501087ffefc686d..ad0f45f11cc68a66f5caabe204eb519a60de2de3 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js
  * @description Checking for undefined and null
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js
index bb5a57fc24b6420cac1c03210cbbd5208c246f2b..32520b29df1d838773e621d36d536d2454f296e2 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js
  * @description Checking for Boolean object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js
index e4e3de2b19007422a61aa537fdd0bbb7f5cc2d52..cde9f4b1226fe336201a310143ce979bbc1ad16a 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js
index a91127be51ecdb102936157f2b235d38f99a1238..e3d44183d4acbfbf12dc1d1a4d1baa7af47b2bc6 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js
  * @description Checking for String object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js
index a64488048d75855c69397d526be07cce75fd684e..76ab6e050f951f97f298cc5f82ac4655cc9edaa4 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToNumber
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.1_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js
index ec0a8e4d5d11d7b7fdf06d553690bbe06fe7114c..07b4b17e6c9bdc9f264fea4ec75cde1a483906e2 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInt32
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js
  * @description If radix is NaN, +0, -0, +Infinity, -Infinity, return radix = +0
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js
index d939a345c58241035dd1ddcc456f35b895d54897..9611147b20ccbfae2e3dba504651b8efd66f8b09 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInt32
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js
  * @description ToInt32 use floor
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js
index 5a91f4e039595f501c5407b6e8017f2c7d1d98b4..d06fc795f53b3e010424dd30b52377f84d4c811e 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInt32
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A3.2_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js
  * @description ToInt32 use modulo
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js
index ae7ae96cbe2367199cafa9434669ab6e3a99e33c..859c1c178db3a58f3dfffbc41bd6803b778a5bd8 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If R = 0 or R = undefined, then R = 10
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A4.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js
  * @description R = 0
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js
index 9760d91932f163a9141df8530309d0f84095c225..d7e82dcbc55dcc2e490db56f169b945516d9a74e 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If R = 0 or R = undefined, then R = 10
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A4.1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js
  * @description R = undefined
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js
index 550dca4fc46d22b36cdcb8ab531fefbf2a02d473..c7b353e5b601a5a0df08ddc9d8c6b52a20784dc8 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If R < 2 or R > 36, then return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A4.2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js
  * @description R = 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js
index 0d12f7c0fe88856953d7da0a38c98dca1c290fd9..55621e4b05468634871dc195e6226b68f3cc7939 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If R < 2 or R > 36, then return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A4.2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js
  * @description R = 37
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js
index bfeaa5f5ee983edf787d1bd46ae00ab0f4c5c3fc..16d55444772cb431fefb5085fa33235b61330b57 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * If R < 2 or R > 36, then return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A4.2_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js
  * @description Complex test
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js
index 8b82f600ca743d47b40b7a2bfc973b16cdccbfeb..541fdd355eeae2f509b36d4c05668a2fc70ce26f 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js
@@ -7,7 +7,7 @@
  * when the number begins with the character pairs 0x or 0X, in which
  * case a radix of 16 is assumed."
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A5.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js
  * @description Check if parseInt still accepts octal
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js
index 9647e17decb9af30ddc6af2773b96a9a5d2bb451..7d6576d711b90e3d5c3d9603c611886ffdfc26bd 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js
@@ -5,7 +5,7 @@
  * If the length of S is at least 2 and the first two characters of S
  * are either 0x or 0X, then remove the first two characters from S and let R = 16
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A5.2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js
  * @description : 0x
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js
index bde5b51a32d3faba08137abe340e6a965eb26d14..9170b77962d68783b27903409581d47c5bf40856 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js
@@ -5,7 +5,7 @@
  * If the length of S is at least 2 and the first two characters of S
  * are either 0x or 0X, then remove the first two characters from S and let R = 16
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A5.2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js
  * @description : 0X
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js
index d3fc0e17f7f881835e4c7c300ea36f5592d375e9..2c2e96a5a4b2ded7b8be543e1f11b51dff925d6e 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js
@@ -6,7 +6,7 @@
  * then let Z be the substring of S consisting of all characters before
  * the first such character; otherwise, let Z be S
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A6.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js
  * @description Complex test. R in [2, 36]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js
index 25623a99a61c0eb59a7eb5aa3172aea70c3aac67..0fcdb68370c88dfff1b4d24a498e1b5d1f4f54d4 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js
@@ -6,7 +6,7 @@
  * then let Z be the substring of S consisting of all characters before
  * the first such character; otherwise, let Z be S
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A6.1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js
  * @description Complex test. Radix-R notation in [0..9, A-Z]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js
index 93fe7bc8a4cae97ca5f2d8a459c5710092b23f42..d559d06757062ab6d267218d711c440e5a0ec56d 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js
@@ -6,7 +6,7 @@
  * then let Z be the substring of S consisting of all characters before
  * the first such character; otherwise, let Z be S
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A6.1_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js
  * @description Complex test. Radix-R notation in [0..9, a-z]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js
index 8c8a255ec6e7f2968531a6bee558de553e3ecf40..3b4dc78fa6671ea98f98f78e2dd0bef704ed1ec8 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js
@@ -6,7 +6,7 @@
  * then let Z be the substring of S consisting of all characters before
  * the first such character; otherwise, let Z be S
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A6.1_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js
  * @description Complex test. Radix-R notation in [0..9, A-Z]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js
index 3bd2cdd422c9848af09785e01fb782e9c64acdac..86f1fa4c7e2abea6c8cb2d68c1b0048de0494e37 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js
@@ -6,7 +6,7 @@
  * then let Z be the substring of S consisting of all characters before
  * the first such character; otherwise, let Z be S
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A6.1_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js
  * @description Complex test. Radix-R notation in [0..9, a-z]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js
index 0413a2ab3c2d3cd3acd2b56fec5e6bc5591da880..228408b3b13976268163bd7809d4a8e90463466a 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js
@@ -6,7 +6,7 @@
  * then let Z be the substring of S consisting of all characters before
  * the first such character; otherwise, let Z be S
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A6.1_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js
  * @description Complex test. Radix-R notation in [0..9]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js
index fc0139c070c5e561c54b6e7dfd789d4885cd5bc1..f01d60582cea6da3dbfd82618df86c52b6a795ee 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If Z is empty, return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js
  * @description Complex test. R in [2, 36]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js
index 4d8c1cc7a721ab23f797c00db5d3ce17e476b046..459097ce477f80af31d340af0e1f0d17cc8d4e69 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If Z is empty, return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js
  * @description x is not a radix-R digit
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js
index 180c2ec6139e711bae2c54ec1f811df9fdf39e1b..449f85a006094b981e1cd3ab8e90a7533c36cb79 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js
@@ -7,7 +7,7 @@
  * letters A-Z and a-z for digits with values 10 through 35.
  * Compute the number value for Result(16)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js
  * @description Complex test. Check algorithm
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js
index 3093e3772fad9ab5ba8cd553b3825ed001d9d2df..b11d4429315df757d9ecd8fa9dbb85c17ec87308 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js
@@ -7,7 +7,7 @@
  * letters A-Z and a-z for digits with values 10 through 35.
  * Compute the number value for Result(16)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js
  * @description Checking algorithm for R = 2
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js
index 0031fba40746f5d544998086af797b2137973e7c..77529e11f488e0fe5e54daf8aea85134d17db646 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js
@@ -7,7 +7,7 @@
  * letters A-Z and a-z for digits with values 10 through 35.
  * Compute the number value for Result(16)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.2_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js
  * @description Checking algorithm for R = 16
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js
index 6fa7cb3365fa0a674450aa86f9cf73f3b510c977..c9b796095f2ab8a03401dc3bedbd5cc60f6f1022 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Return sign * Result(17)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.3_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js
  * @description Complex test. Check algorithm
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js
index 4fcb43eab279d8c6b3ef9e19de4590019f395059..de2b297e8f280c8446778fad9370372b8b002440 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Return sign * Result(17)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.3_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js
  * @description Checking algorithm for R = 2
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js
index f1b0ec9c9b2c6b10f6a9dbf2f089dd15e016b8ac..aa4ee7ac30d8943ad3cc1f380bb1c39811881909 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Return sign * Result(17)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A7.3_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js
  * @description Checking algorithm for R = 10
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js
index a6ea13d51bfca964ff39499d93c6339a86b9ebc1..4176800b28b0d1701662a6d215e1b150e1a33b2d 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js
@@ -7,7 +7,7 @@
  * of the notation of an decimal literal, and no indication is given that any such
  * characters were ignored.
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A8.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js
  * @description Complex test without eval
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js
index af86beb42170afc44cfa27ca9b829d9b2479c44a..6b8d9fde08a218b26417028019c5bbc2aeb018eb 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseInt has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.1.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js
index 8ec0fd73f1aae875d65ed5a96d557d2969b03a01..978e920b5ce098531d0ffbfd84ac14903bd26681 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseInt has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.2.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js
index 702a8c475dc04f9a32c18a8d3859ba02022580df..dc0a2c522120366c6c6fc3596e3f6d8d57bd75cd 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseInt has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.3.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js
index 177ea4370162b24e0856d04d959b24e1e694401e..f92a64bdb5a6c06b62e4bba26ac147cfec22b205 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseInt is 2
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.4.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js
  * @description parseInt.length === 2
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js
index aedc2f34b29aecaf3785a849143fa9f9f86d2bda..18e6653a234b27f7ac7a00e223f48b3484b16ee4 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js
@@ -4,7 +4,7 @@
 /**
  * The parseInt property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.5.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js
index 0d453960cbb2eb6adce822a512f9bf653b83e30a..8fa118ec4c5f5f01fc3af22a28011cef4a36e9a0 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js
@@ -4,7 +4,7 @@
 /**
  * The parseInt property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.6.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js
  * @description Checking parseInt.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js
index ef1fafa3dda4e271ed19ac862b8596c05c5579ce..992aa4e125914a6c000bfc89fd1afe5f63fa23ae 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js
@@ -4,7 +4,7 @@
 /**
  * The parseInt property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.2_parseInt/S15.1.2.2_A9.7.js
+ * @path ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js
index 6eaff115f46b778f75ab7eb4b94f3dce54d864e8..fa0b4ae6089c3fba133dd4c75697367554d05ed9 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js
  * @description Checking for boolean primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js
index 75290d88640f9a673b4443965ad02c33bc7e1c80..02c7b2c9e9e1f6bfb418ccda3a9eee113cf60f68 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js
  * @description Checking for number primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js
index 4e11908afdb702521818de8805f8d290db34c315..ddbe26109602ef6966f4b895f4b577359c49a7b9 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js
  * @description Checking for undefined and null
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js
index cc809d7bc07688371b69c69526b5c2db13b08014..cf769c03e7794c529a683e37a338c8761b7fa209 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js
  * @description Checking for Boolean object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js
index 76bdd7f5c7c4b678708191504d915f06f156b8ed..36259b4fbacdf42f63cdc084ecdf7070b11c1006 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js
index 45d2abee662756769e58dbdccc103937af064417..f54bc62f12bf9b5ca5e110663f650470f7b87e50 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js
  * @description Checking for String object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js
index cae5a5a889279093b405f1b9cbef7e2e1a03e78b..8b383ea538f65f3cc56b13b9d6354217357b7c3b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A1_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js
index 476d24e9e5bd73f779ab4d8b34df01b0034a978c..fa5a600a9b4963f75209af33ea4342a827724a99 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js
  * @description StrWhiteSpaceChar :: TAB (U+0009)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js
index b8c4e4ca7061554ae604ce6a24a9c9308326cb74..2cdb2a754731ac263befcee24552ca85a85cc961 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T10.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js
  * @description StrWhiteSpaceChar :: USP
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js
index 741ca5480aeebc4af517a66fc0350cc275a740cc..711bb6e79f96af6320e89ccdb86fcf617fc09b43 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js
  * @description StrWhiteSpaceChar :: SP (U+0020)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js
index 7ee7da6fd3e4d50c60e178cf2696827e46bb0703..5d5e41f92772afbf8279b9478cb795d8b31dc6d7 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js
  * @description StrWhiteSpaceChar :: NBSB (U+00A0)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js
index 8824d401a1a6235816841fe135c125ca305fe54f..1bf82ac8406fa075c0fe2cff7669f9533ae06a9a 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js
  * @description StrWhiteSpaceChar :: FF (U+000C)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js
index fd2ede0f19eba4541d11070248fc61cae7daa1c7..ad1bf78780868445bacdcfb4b92ba163bea15c10 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js
  * @description StrWhiteSpaceChar :: VT (U+000B)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js
index 28b4868cafda6f49f1a27ebb6447e906647ce42f..6d2905d8992908d35c1381a6fb1688c4c266bd68 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js
  * @description StrWhiteSpaceChar :: CR (U+000D)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js
index 57589705a96422923d4954ac2b3aa392711ea528..d114913eb4579df569037f9c36d3ed58622c7033 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js
  * @description StrWhiteSpaceChar :: LF (U+000A)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js
index 167e1c337e7d5bf9b4a0775df11d3512966a55a1..f7f2576fe1f32c95dcdcb65e661bf7d054b60885 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T8.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js
  * @description StrWhiteSpaceChar :: LS (U+2028)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js
index 832c226a4100256c8be266bc3dfb15bbe133f68a..0c02520699a7c19df68f0b4486f312353763dcfb 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * Operator remove leading StrWhiteSpaceChar
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A2_T9.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js
  * @description StrWhiteSpaceChar :: PS (U+2029)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js
index de3c9710029d614998d1d01a02251fb3ebd3bf79..6d131659aa241243fb1c7c5552edc701c12ed59e 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js
@@ -5,7 +5,7 @@
  * If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a
  * StrDecimalLiteral (see 9.3.1), return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A3_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js
  * @description parseFloat("some string") return NaN
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js
index 1f41258265719a57aeac5ae0161755c4f746bbf3..8e550a0a712f0c05f4448e778a6258851e40fd73 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js
@@ -5,7 +5,7 @@
  * If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a
  * StrDecimalLiteral (see 9.3.1), return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A3_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js
  * @description parseFloat("wrong number format with ExponentIndicator") return NaN
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js
index f62492829d2b5aba6fb16cd6014a14898ad86df3..51c7869f1ca3df33dcce0309769ae5c5e517951f 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js
@@ -5,7 +5,7 @@
  * If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a
  * StrDecimalLiteral (see 9.3.1), return NaN
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A3_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js
  * @description parseFloat("wrong numbr format") return NaN
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js
index 049aa660f174e3eafe7fd5f3d201593f3cc94c70..ea696cec4c529ad6c9d86203cd6e481f6e2ee9ee 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js
  * @description Some wrong number
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js
index 8029451a4f08ae8e603ce7cd9fec48e7b521f58e..40c18ff86dd85dd8938f104053f0d168c45e9595 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js
  * @description With ExponentIndicator
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js
index f99ffa73c6e276cb7317a5fe922e2f6b0d34fd53..76da0e47df977481ceec3b74b9fd588ab7202a04 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js
  * @description StrDecimalLiteral not contain HexIntegerLiteral
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js
index 38d650814066c8231940b79606ca4fed0d9e97fc..4fef9fc077625d96fff0ad1258fe416ba3c8a64b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js
  * @description "Infinity"+"some string"
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js
index 53f6af3253e17cf879c758ce41b54c969ea4a125..ecbddb4491ac83508cd669f6f534a8e3e588e6a6 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T5.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js
  * @description Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js
index eaad83cdbf74dc01d10f4953dff78b1df60494b8..5272a62fbc1bec23efa7d522901274dd6fb233d7 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T6.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js
  * @description Checking . DecimalDigits ExponentPart_opt
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js
index 8a3a9ba6c7f0f529af96717fcbeba06881bba554..0f77778f9bb756f1f3734a60498f802c73dccaeb 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js
@@ -5,7 +5,7 @@
  * Compute the longest prefix of Result(2), which might be Result(2) itself,
  * which satisfies the syntax of a StrDecimalLiteral
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A4_T7.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js
  * @description Checking DecimalDigits ExponentPart_opt
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js
index bc40d6c611336979707c0874fe1938ee3822e276..6ed8521aad39117d330c0afe27043811c00f998a 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Return the number value for the MV of Result(4)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A5_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js
  * @description Checking Infinity
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js
index a144c7954029b214583a6d7907cba1a2b5ee327c..b59fb7900a3570d87902f7690f58abb122be5985 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Return the number value for the MV of Result(4)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A5_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js
  * @description Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js
index 8999e7737d1f80afeb41becfa6e01b2979f0f0d0..b2a2097e9bef0bd2b64644165cff7bd16e991bb5 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * Return the number value for the MV of Result(4)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A5_T3.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js
  * @description Checking . DecimalDigits ExponentPart_opt
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js
index d0d07f9b23eeb43433b0ef8493c90acae6e2c3bb..d92e3bcb05116f42cdd169b42fc8da7b8303edd1 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * Return the number value for the MV of Result(4)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A5_T4.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js
  * @description Checking DecimalDigits ExponentPart_opt
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js
index 22a23ff13e10f2ac556bb63d0627838e3f5ea445..8c626a855f9701e87bbbb9a14858a351f87c86e4 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js
@@ -7,7 +7,7 @@
  * of the notation of an decimal literal, and no indication is given that any such
  * characters were ignored.
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A6.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js
  * @description Complex test without eval
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js
index 283aa7daaf81950df6bfbbace130ceb52f081a7a..a63830dd2401c1a943470d2065160ce5c5376cc0 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseFloat has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.1.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js
index 05e1bf8074c16b8ad3afbd1eb06ff52578d3cd45..84fa178c071f0e88bdbf31447c7ddb9a7d9ee297 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseFloat has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.2.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js
index 42e22eeca965e8237996f27cd6c366728c81c6ef..28d1839ed643182c58785289dc1981a6abe8cb15 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseFloat has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.3.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js
index 61fb0fa5d4d5fff4a4ec21a377917e019a66ae30..085fac1a3d1dfff71c316ca4a4a2d6c27a466892 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of parseFloat is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.4.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js
  * @description parseFloat.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js
index 1c8893e704ffbb3f071f6d98a48f54d036c5b029..abf91c709b36cba3cc837368234c6345925492ce 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js
@@ -4,7 +4,7 @@
 /**
  * The parseFloat property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.5.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js
index 65aec69c92efd0bd1a3cbd3ba9d883b5992445be..773ea4dfad9c7d95faad0f5b408c9e4a23c06e75 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js
@@ -4,7 +4,7 @@
 /**
  * The parseFloat property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.6.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js
  * @description Checking parseFloat.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js
index 507eca2fe4fb92e32e42550026de962cc34c5659..ffa1934e71c1824492e7d8d69f98e91102f5a249 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js
@@ -4,7 +4,7 @@
 /**
  * The parseFloat property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.3_parseFloat/S15.1.2.3_A7.7.js
+ * @path ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js
index 7daf358bdd61c913faed8f535b542e676451973d..59cf248bc95a84f6c8464c26eac5fc2bdecd1114 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js
  * @description Checking all primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js
index e62b129195fdc0fdcce73227c96e8b288327018c..c9e957fe047680641e44ad91f41875b73b8d3a9c 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js
  * @description Checking all object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js
index 9865cf8c3543f70d0ea4404c84cfc5d79ecdcbd4..6b609933482751bfd5c9d886e939e3d4884d0b08 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isNaN has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.1.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js
index 10964a5fd0640f7ea0207429050f74889093aa04..a2539fb9b88045a0da44f6aa7557a523bcfa2772 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isNaN has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.2.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js
index d01b735d7633d906142e76bdc9a4143287ab4aba..8daaa8964ff9e27d138bc62d543dc63047646b5d 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isNaN has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.3.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js
index 1fb0952f972bce4d4b058cac8bafc4a4178793c1..b8f6aedcfe4b1e8717eee89fd23ca1f270a16f16 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isNaN is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.4.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js
  * @description isNaN.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js
index e4f4fddee9bee882cfcd06d4f7dff081d98ed91a..bf9ae393734b27ddcd9f04293ba1459003e44b80 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js
@@ -4,7 +4,7 @@
 /**
  * The isNaN property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.5.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js
index 18bbad09446db4ccd65434089ac6c7685e980f8d..cad9bed136c1ca74072cbdd9634f77b99a540524 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js
@@ -4,7 +4,7 @@
 /**
  * The isNaN property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.6.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js
  * @description Checking isNaN.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js
index 6bb8186f0e44bfc0c8ffa9343fac15c18bc10df5..e6725cd020df02ef9550a26dd8fbee69b702a581 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js
@@ -4,7 +4,7 @@
 /**
  * The isNaN property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.4_isNaN/S15.1.2.4_A2.7.js
+ * @path ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js
index 27ad718185c8df312e96153c3c86cb4ed72b61bc..1e952b2185f3e394c78ed16e182854d1cd5c369b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A1_T1.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js
  * @description Checking all primitive
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js
index 50aa23eec1817e012c2c65801be75e5c1a8a6ba4..86ea9a37d079a8d28871579bbd6c85ec16c37787 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A1_T2.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js
  * @description Checking all object
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js
index f9a003abad9de0a62e99c42cb4e874ff74f43267..0e1970eaa092e2956a15694c30f796856268ebf9 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isFinite has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.1.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js
index e45c547298732edaca3188cda48ace0b9232ef53..56d2c637aa1aac575c9fc3616be2ef67935c1ac5 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isFinite has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.2.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js
index 56bfd607eb1f875a15da96266c41041addc32751..af8441a36c9bd538a92cab8d226ecf5ac981224b 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isFinite has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.3.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js
index f2b137b5e258bc8f95c467e975238afa5ae200eb..cba913c9a5601a0908972d7b2fa0b27f345d6a20 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of isFinite is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.4.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js
  * @description isFinite.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js
index 7be2e97e7906ea99452be8ee96944e94a83b37a6..b8599f2c3a98a131455d3b9b33bec39ab6ab3667 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js
@@ -4,7 +4,7 @@
 /**
  * The isFinite property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.5.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js
index 35592ff289173294fae42ee20ab20052e87e6f13..e9f6e408bdcf31a82b4b14d9089ed4b7f7b8c74a 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js
@@ -4,7 +4,7 @@
 /**
  * The isFinite property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.6.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js
  * @description Checking isFinit.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js
index 2efd10902ed1eece700ca87447beaa01e461b66a..b388cd30f65c4c1102c9095dcfb88a4d203b295a 100644
--- a/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js
+++ b/test/suite/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js
@@ -4,7 +4,7 @@
 /**
  * The isFinite property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.2_Function_Properties_of_the_Global_Object/15.1.2.5_isFinite/S15.1.2.5_A2.7.js
+ * @path ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js
index 64e1cfca4e6e3283a22d387e6d8867a04b0d5861..98a7aa518d93b032f8094605006a6084fc96ff1e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js
@@ -5,7 +5,7 @@
  * If B = 110xxxxx (n = 2) and string.charAt(k + 4) and
  * string.charAt(k + 5) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.10_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js
index c2ae1037fc17623d03ce236bf61fb5821e144613..cbf112db815465b1017984d720c654416beeb2c2 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js
@@ -6,7 +6,7 @@
  * string.charAt(k + 5)) or (string.charAt(k + 7) and
  * string.charAt(k + 8)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.11_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js
  * @description Complex tests, string.charAt(k + 4) and string.charAt(k + 5)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js
index 7661ed7eb3091ccd667ddfc911cb9769fab99d66..7fe1df5a98c8d92d71662f313d5cea4f6c4bac0a 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js
@@ -6,7 +6,7 @@
  * string.charAt(k + 5)) or (string.charAt(k + 7) and
  * string.charAt(k + 8)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.11_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js
  * @description Complex tests, string.charAt(k + 7) and string.charAt(k + 8)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js
index 58277bd5ef883297df7106e3cef7532f0b054302..a0ee74e2c4b831532a9fa9f37c97eefa4b155021 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js
@@ -7,7 +7,7 @@
  * string.charAt(k + 8)) or (string.charAt(k + 10) and
  * string.charAt(k + 11)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.12_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js
  * @description Complex tests, string.charAt(k + 4) and string.charAt(k + 5)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js
index c153bbdd63e216bd57f9d382902b5f089572762f..d75ba1898f301ae97ea854a13f2c0dc26c226e8b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js
@@ -7,7 +7,7 @@
  * string.charAt(k + 8)) or (string.charAt(k + 10) and
  * string.charAt(k + 11)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.12_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js
  * @description Complex tests, string.charAt(k + 7) and string.charAt(k + 7)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js
index 02cb36545bf3fd72bfaad1e605837ef66dddba85..82dbe0b6ed0ab6cf9740403bd9858890b14e6376 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js
@@ -7,7 +7,7 @@
  * string.charAt(k + 8)) or (string.charAt(k + 10) and
  * string.charAt(k + 11)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.12_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js
  * @description Complex tests, string.charAt(k + 10) and string.charAt(k + 11)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js
index 7adcc9c01a3e787c3726ce974f1b9dd16f59647f..ecb081845e31e92cb69f75a3b858a50075cb60e6 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.13_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js
  * @description Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js
index 6ab20b0d5ba5f78b627aa3edc5134bbccac75340..aa8cb610f6fc88ff7cfb4fa9d53f9919f7832c74 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.13_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js
  * @description Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js
index 8db287af9b17c5a4c056cd115541b44f0d316b8f..968237727b394d0df1ccfca2cd1df8150871afcb 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.14_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js
index 0441444970fad606fc79fdd03fd3a6ebbba839c7..3539281f32b7f999631180053676f84b8002b00d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.14_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js
index 7f0a846983e2eadcb44d3d22e80ac23d0bb5ab4a..34c5f120b239b6c435a2a253b8c9ae0ad314d9f7 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.14_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js
index 728b0f4f863248ae344d16cff10ca7c54a275ff5..ebdf11c262044cd20001436cb8f72ed11dfd87f4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.14_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js
index 3e3c6661d9a31342a7da96be88a146af81ce38e8..089fe910a430944e7a85965ec03e4cf5e8932492 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.15_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js
index 54eb3819fc5272fea5313a33eb12437eadcd344d..63e2f4eed5209433cb2b68362262e7172856eef3 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.15_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js
index af16074a1f21c6b0ac5aa7f339ffce914bdf526c..4abf777d9528bcbea03e728e2d5b2b801b6dc83e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.15_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js
index 6e0ad06c1571ce9593eb145f4add464baffbe9ac..433d324ef1df164062c6dc64d806b86dc24042c4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.15_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js
index b8002513152efc9c9e4dfe4c0713cedd72f4828f..8c78da11d947a28f0b4bcbe405567b453bbb2c3a 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.15_T5.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js
index 1ca30d6a27cb93d8da707ec74e99c2c9157112b3..26672df4f22e1f533427326b6520b0852d36ae12 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.15_T6.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js
index c02d7e547e010efcb312e7ab8734bfd864bf8fb2..e178a708ddd36c01753156e97e6e3a850ebd47e8 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) equal "%" and k + 2 >= string.length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js
index 6320f1a6836bb2e73d51bb9834c4fb2824b26e72..4ede22c6aef03642bd6e31214ee4282655b9c433 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js
@@ -5,7 +5,7 @@
  * If B = string.charAt(k+1) + string.charAt(k+2) do not represent
  * hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js
index 5e1d92b95f513555141c9dfed8cdd48c338d3462..44f16f68ce7fd051adaea04c774240a82cea22ac 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js
@@ -5,7 +5,7 @@
  * If B = string.charAt(k+1) + string.charAt(k+2) do not represent
  * hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.2_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js
index 861cf949c119093dec10aa01d4965bb6b9266b25..e441d4b93c148906f30ff40876bca8ad09abecf7 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 10xxxxxx or B = 11111xxx, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js
  * @description Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js
index 985cc1f3c8166eec3976baa8ad34385ea2af70f4..468df214f83572d7bea8fb5a3837301e40d07efb 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 10xxxxxx or B = 11111xxx, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.3_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js
  * @description Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js
index d18645f4cc9bbbbc916d53612b620d2410f9892a..5a2ca51c252c846a3e499cca0bac5b1526a1bdc5 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js
  * @description Complex tests. B = [0xC0 - 0xDF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js
index 94fb231eebfe4817209a7f1739302bcd141ce898..e783882827acc2f54d64bb13bb753b18ef80e154 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.5_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js
  * @description Complex tests. B = [0xE0 - 0xEF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js
index c3b6d0bd233c7d17d002218a7860792964722c92..44f3ca8a839333d514c39c1cbc74fe506800656e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.6_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js
  * @description Complex tests. B = [0xF0 - 0xF7]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js
index 8fedcb1def0d7ad0fa485cdacea384b398392476..7d97e3992e88929a246418a8b97c1c1b64b38eec 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.7_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js
  * @description Complex tests. B = [0xC0 - 0xDF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js
index cf9c821277858cc6ec76cb39023c62726a80683c..87fb7101e4038adc275b4fa6c3b4f66cb9a49b19 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js
@@ -5,7 +5,7 @@
  * If B = 1110xxxx (n = 3) and string.charAt(k + 3),
  * string.charAt(k + 6) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.8_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js
  * @description Complex tests. B = [0xE0 - 0xEF],
  * string.charAt(k + 3) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js
index 90bce79659b6525438f04823028e87f14116d41e..77f166a99638836426c9f5a2149783b409790cca 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js
@@ -5,7 +5,7 @@
  * If B = 1110xxxx (n = 3) and string.charAt(k + 3),
  * string.charAt(k + 6) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.8_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js
  * @description Complex tests. B = [0xE0 - 0xEF],
  * string.charAt(k + 6) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js
index 6159d703c95587b46cc4666efa4d08ecf7d0fd15..65935775f1d59f51663a0d49782beaa0b12dc39e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js
@@ -5,7 +5,7 @@
  * If B = 11110xxx (n = 4) and string.charAt(k + 3),
  * string.charAt(k + 6), string.charAt(k + 9) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.9_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js
  * @description Complex tests. B = [0xF0 - 0x0F7],
  * string.charAt(k + 3) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js
index 68a36f2dc4ffa223ee9b0ab899e10abfbe8519fb..b63a049d61885cf31d44b09320100c63afa48712 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js
@@ -5,7 +5,7 @@
  * If B = 11110xxx (n = 4) and string.charAt(k + 3),
  * string.charAt(k + 6), string.charAt(k + 9) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.9_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js
  * @description Complex tests. B = [0xF0 - 0x0F7],
  * string.charAt(k + 6) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js
index ea995cfbc50242b068ba13c4c2c8ead6bf8508dc..f353758c67c43dd257d612c9f5e5fcc9621ad881 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js
@@ -5,7 +5,7 @@
  * If B = 11110xxx (n = 4) and string.charAt(k + 3),
  * string.charAt(k + 6), string.charAt(k + 9) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A1.9_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js
  * @description Complex tests. B = [0xF0 - 0x0F7],
  * string.charAt(k + 9) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js
index 45f8e8de82cdcab4bc03c52e2343e4ad3bf5689b..4c853985de20ea485b9fa41f679483c9891c67d7 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) not equal "%", return this char
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A2.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js
index 3e2e2683d5c45266c5c12db8d217bd7366b8bc6b..ad34351dab13d9dc4df3cad0dc49f46964f1553f 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 0xxxxxxxx ([0x00 - 0x7F]), without [uriReserved, #], return B1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A2.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js
index 9557463144ab71de97c00c07d1f58aef90902391..78f9c11f96c47060aab095a3cc1d6d58615653b4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A2.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js
index 900adfa920718b332a3adc6bdc91128ebdbecd91..7afbe19ccc14af1d7ec454effe6b63d7dea63ee0 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A2.4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js
index 1f374c6da7cd1b2317ee71dc97468d5f64c035e0..a67718af10aeff0f47c2727cf833da85047ada20 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A2.5_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js
index fea404fcb2cbee855dfb4b8d6fddba0ffdb7d082..d16f6dc455b349818f5771eb8e9c54b7d94afb98 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js
@@ -5,7 +5,7 @@
  * Let reservedURISet be a string containing one instance of each character valid
  * in uriReserved plus "#"
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js
  * @description Checking all character in reservedURISet. HexDigit in [0..9, A..F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js
index 84d773b648a7b17fc594bfd3ed1adf4eeb86a045..d5f67c41092fcaf507b811cfdb10e1879b81526a 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js
@@ -5,7 +5,7 @@
  * Let reservedURISet be a string containing one instance of each character valid
  * in uriReserved plus "#"
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A3_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js
  * @description Checking all character in reservedURISet. HexDigit in [0..9, a..f]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js
index 41847489aa99ace9d8e8fc9838abbe4b4538682c..56b135e9c088b718e0a60dc494db67ebe77fd66d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js
@@ -5,7 +5,7 @@
  * Let reservedURISet be a string containing one instance of each character valid
  * in uriReserved plus "#"
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A3_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js
  * @description Complex test
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js
index 3888e3f503efe336999c3d6a1ec98efe288b88c7..bca314ec16fde979d7503ac3a8e83841628a3a70 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js
  * @description Checking ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js
index 487e69e0d81ca67aacf0b6d79f906294f74d6eff..657bffd1ebb6fe670cbda693a6b6784df1b2f0b6 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A4_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js
  * @description Checking RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js
index 61113e2a4120a33d11426862bd3446853ebf1042..f49675baa0f34e952145e4a716985dabf9bbb09b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A4_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js
  * @description Checking URL with Line Terminator
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js
index 9d07c03c0d0749f1a1561caa1ccb4c7aef8a84ca..a518358a270cd8c5fc19911db429b7699e2e44ab 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A4_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js
  * @description Test some url
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js
index 211c8e8e7c2003f7f5c4192d79920715b17c8f7a..b338d7d7b22699029a79473869a0826744253ea2 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURI has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js
index ad53550f2744c71e2ba02cdc7309d495d71171ec..d8d1a5003e1224978a9296a31880a26fa571f18e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURI has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.2.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js
index 58c91f68bc1f672eab3ac39194dd1397945c4146..02b7bf2216bf800b97d19c0b209db4795ec523fe 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURI has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.3.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js
index eef42e7f8c0fdb38fec85fb8aa744d93a84b1b1a..4b41d621e1980780f4560c9a371071ad9c8c0c91 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURI is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.4.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js
  * @description decodeURI.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js
index 40e9d403275cca5d91fc7b5a45b5f43cce84cd06..3a612593786254f444328ecbdb737762d0e08d63 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The decodeURI property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.5.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js
index 5e09a572006e588fd84163d9a66a9b2409d8e417..acab6ebddfc90b6055ca965b7eb279976c1b3aa4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The decodeURI property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.6.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js
  * @description Checking decodeURI.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js
index dd82ca2d66727f9fd1062c1fa8a86bfa9fb6b1b2..59827e3328c2f3d2fd39a58409a76c125db125bc 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The decodeURI property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A5.7.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js
index 33e30bb2536eec5eec860f71c806f72ad13b53e0..8dbb7f65f63582ff54ef631beea98b8fd04499e4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.1_decodeURI/S15.1.3.1_A6_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js
index 83359cf41a206ce8dd3ce54db50d5a38a25e719a..6d280887a07df68f3983645d899c34f29609022f 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js
@@ -5,7 +5,7 @@
  * If B = 110xxxxx (n = 2) and string.charAt(k + 4) and
  * string.charAt(k + 5) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.10_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js
index b4dce6bdf2647fe564636eb0db8ece9161dc50e1..8844b2ac00caaa0fb0b12c0875cae55bfebb36cc 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js
@@ -6,7 +6,7 @@
  * string.charAt(k + 5)) or (string.charAt(k + 7) and
  * string.charAt(k + 8)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.11_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js
  * @description Complex tests, string.charAt(k + 4) and string.charAt(k + 5)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js
index 632c77d85ac81c564c5e0c91ef8be5580d2de006..51dcd447796c65c9f70ae1257ecd5cefb604a510 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js
@@ -6,7 +6,7 @@
  * string.charAt(k + 5)) or (string.charAt(k + 7) and
  * string.charAt(k + 8)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.11_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js
  * @description Complex tests, string.charAt(k + 7) and string.charAt(k + 8)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js
index 28fc7a4606d1e7fbdbd222955b7ca15588995dbf..59fe4f9908c0a55d20c033bb15e9b47aec44f10d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js
@@ -7,7 +7,7 @@
  * string.charAt(k + 8)) or (string.charAt(k + 10) and
  * string.charAt(k + 11)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.12_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js
  * @description Complex tests, string.charAt(k + 4) and string.charAt(k + 5)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js
index 3cc3eaccfc68cf609621239f240bd63c9c5c04b0..43b55955bc8edfad6bdda3acc98db51bd8cbb863 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js
@@ -7,7 +7,7 @@
  * string.charAt(k + 8)) or (string.charAt(k + 10) and
  * string.charAt(k + 11)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.12_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js
  * @description Complex tests, string.charAt(k + 7) and string.charAt(k + 7)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js
index 6746968e0a7106b8d875d7ea2994241b0d396e41..daa1c2266bb202657da70c18373a41e9afe971ca 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js
@@ -7,7 +7,7 @@
  * string.charAt(k + 8)) or (string.charAt(k + 10) and
  * string.charAt(k + 11)) do not represent hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.12_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js
  * @description Complex tests, string.charAt(k + 10) and string.charAt(k + 11)
  * do not represent hexadecimal digits
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js
index c2c886b234ea73b0ce2cc7119d53a3549238a5e8..b3f0ed088fe02e2bcb4bfd3c20722b5a556dd568 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.13_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js
  * @description Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js
index 94f60d0164caa025e787e807f2492587f80b3fb4..9f3158f6793a511de24194ff7697faff7589a0b6 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.13_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js
  * @description Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js
index 26eb2bd32adebfa8103a0ba434572e709c8ea1e2..72d11dd8aab9b922c697b181b0a9cb9800006d1c 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.14_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js
index d32364ac602f47372a6482a63e28a640fc1e528e..d0b0d1ead340cf0e8c47c006d3235fe103ab7d39 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.14_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js
index 8744e80297a5944d9c92109d55c731788977e374..66c09ebe87854cd39927263171d45c09dfe4057b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.14_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js
index 3e8f359672f8083dd2fc6fb9b4f7080da20b2906..06fd0b785546d27fa88d124e627ac245e35242e6 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.14_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js
  * @description Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js
index 7f209507036ee6c31cc398ecfa07e26a0f0f8af5..e3b3722cb0e2881458ef632e7b9bac8753eab931 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.15_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js
index 21d601dc8e20c2fa7ae56c8d587e5e22c7e7477e..a40f69892933ea244f01dc8c915d3bd63451e7b4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.15_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js
index 7725916f49ecca65cf7ba584c786ce4cd04ff50c..3c36c07ee0516ef783b1884f449fcd7797e4bac8 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.15_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js
index 9a38ed4b1fd1d75789f03ba7838dc8bdff262e90..c6943fa0672fb39c3f710daf13d411ed77b5e7fc 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.15_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js
index 6d090576a761ec0643bb4d6f6bd1575487cd0b87..5a1a8a9f1602a2ecb518e7dce2aa2ddfebc6f12c 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.15_T5.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js
index 2f835b14fe4d20c18e5957756e4627ef371ae71e..230bc010bcca5a14d776144f356a587a6e5fcfee 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.15_T6.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js
  * @description Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js
index 683b2f79e5ca312896094b731b4649e20ae9ccf7..1f6eb5851ed373d7d0da7983302720e1d3857e31 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) equal "%" and k + 2 >= string.length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js
index d931596a7351d72aa2fc94a63c967de19a76da9a..4348982ac8ebd15a8629aba358467851ecd4a396 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js
@@ -5,7 +5,7 @@
  * If B = string.charAt(k+1) + string.charAt(k+2) do not represent
  * hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js
index 6377be7182d0b69c29abd072973741be045b3b8c..d71d3eff660e43177fe4710491452862c27400f4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js
@@ -5,7 +5,7 @@
  * If B = string.charAt(k+1) + string.charAt(k+2) do not represent
  * hexadecimal digits, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.2_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js
index 874597230093d6e4efcd2745efd0f97a09743f1a..a6c192e6792d12f49bd01d7e0d8f4ffc405f098b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 10xxxxxx or B = 11111xxx, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js
  * @description Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js
index a081d4b88b60ab0a0e421ff3420141fff92e6c8e..d76ba4ff90ea56672aa9455aae6c2da8a64c2b8c 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If B = 10xxxxxx or B = 11111xxx, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.3_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js
  * @description Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js
index ae3708b3151b6b9642b610832c8b7606365431e8..43807fb3288b61a55d4b1c3f47063c630106a678 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js
  * @description Complex tests. B = [0xC0 - 0xDF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js
index 664e5423963ccbfed0c73f4e08682dcef6e81f52..eb9e66c9f9a3ee532f55c12aeab95351ecb527fb 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.5_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js
  * @description Complex tests. B = [0xE0 - 0xEF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js
index e34bf18d1a468b4ecfa997b628f55fce921d323c..4fa82f01dfeca67c4c8918babb547eb62c88c83a 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.6_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js
  * @description Complex tests. B = [0xF0 - 0xF7]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js
index d2260cf6d8185e12cd885e025397843008f875fc..6bdc6474dd3d606bd29ffc5806946ce7256f7bc9 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.7_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js
  * @description Complex tests. B = [0xC0 - 0xDF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js
index 27dabd5a5733428055668b14560e8493fb7ecb18..894e2c203637bc67cc97056128b82b218444caa8 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js
@@ -5,7 +5,7 @@
  * If B = 1110xxxx (n = 3) and string.charAt(k + 3),
  * string.charAt(k + 6) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.8_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js
  * @description Complex tests. B = [0xE0 - 0xEF],
  * string.charAt(k + 3) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js
index 4ef157a2aa94eca0d5ffabab49e50d454d04f499..25c00f8bf83a37d46f832640144e870fd126f089 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js
@@ -5,7 +5,7 @@
  * If B = 1110xxxx (n = 3) and string.charAt(k + 3),
  * string.charAt(k + 6) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.8_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js
  * @description Complex tests. B = [0xE0 - 0xEF],
  * string.charAt(k + 6) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js
index 013625eeb02209db9eba12b1a6c44139371131f1..6ca5accffe8a738d683f39c8362e9220607b130c 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js
@@ -5,7 +5,7 @@
  * If B = 11110xxx (n = 4) and string.charAt(k + 3),
  * string.charAt(k + 6), string.charAt(k + 9) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.9_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js
  * @description Complex tests. B = [0xF0 - 0x0F7],
  * string.charAt(k + 3) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js
index c89126debdd096a0afe8c4087d224a50fe67e3ff..8e81de3e581b70adabac0d5b49bbdcc7431e949b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js
@@ -5,7 +5,7 @@
  * If B = 11110xxx (n = 4) and string.charAt(k + 3),
  * string.charAt(k + 6), string.charAt(k + 9) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.9_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js
  * @description Complex tests. B = [0xF0 - 0x0F7],
  * string.charAt(k + 6) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js
index cf127a322aebbadcf6a06e00faf20710e3a30f65..7904af5b1902b732874fc67378d5ae3d41e885f0 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js
@@ -5,7 +5,7 @@
  * If B = 11110xxx (n = 4) and string.charAt(k + 3),
  * string.charAt(k + 6), string.charAt(k + 9) not equal "%", throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A1.9_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js
  * @description Complex tests. B = [0xF0 - 0x0F7],
  * string.charAt(k + 9) not equal "%"
  */
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js
index d9406f27e079c818e884a7bd0a515767bd484506..e2b5f31f8a5e48af0daa2658e934c3cf4e58d829 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) not equal "%", return this char
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js
index 14c4eb3f984cc1cbb4cef6060023f19ff78f1331..084de4fb15f4f4db66bc31c119fa36cbbc0760d4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 0xxxxxxxx ([0x00 - 0x7F]), return B1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js
index d604b0019a4c9d56f34152460982fe768554662f..578f3b136a432b5a9e62e32ea9ced4c8817179e3 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js
index eebe9a9320d832b7c5978f5999f402559c230156..9721ccf4d316e09afb2b0d32a3100f2903322334 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js
index c2cf022726d6a36833d3a2eb5bbd26193973d78b..fcb428fc07c05b8473bdb76aff1102ecfae17d39 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.5_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js
index f451fab9aa217bcdb55c6be54dfef56cc45c659f..d0650ae6ff7fcd6145f571be1a34e7657d746c59 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Let reservedURIComponentSet be the empty string
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js
  * @description uriReserved and "#" not in reservedURIComponentSet. HexDigit in [0..9, A..F]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js
index 0ff77e6d9f495b61687e07c0ab08fa4f62252c2c..7afc7ffefa1850c82b9cb1fa573c5bf23d76b3c9 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Let reservedURIComponentSet be the empty string
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A3_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js
  * @description uriReserved and "#" not in reservedURIComponentSet. HexDigit in [0..9, a..f]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js
index b77316efb7e3289a1d57d65a6fe6973631b98cee..ec0017497cb811073d92d2555f1b9b730700f069 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Let reservedURIComponentSet be the empty string
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A3_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js
  * @description Complex test
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js
index 5f1e56457bd86bdf0e7eef5fb4fd3cee34b6e35f..5ac99a21890b70c14a7f0efab0519b8cd3e54e4d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js
  * @description Checking ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js
index 6d735818f6c58058863eb6bfc61e1c1a6bf012f9..369ad2bebcddbc85b7296dc188bc004ebbf027a3 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A4_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js
  * @description Checking RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js
index 7d14d94a64643d91d30cff017ba06e563084cb5a..70498e119b591e8ff84d89c77b83c7d2bd9e64d4 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A4_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js
  * @description Checking URL with Line Terminator
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js
index 9d1a878b4d7fdf3e3b372583b34ed42454713983..913036529c744347d9176dc21285e0a066beeaab 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A4_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js
  * @description Test some url
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js
index c38b88ed37dcc1ac70e7503d5bbf63c2c7d71e8b..d6989377789ea8030ead5d944341dfbabfcce314 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURIComponent has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js
index 5af8d3b6104f3e817024d0fceaa59f742647d9c0..4f38892d1f245daa8f1f9201351a82d9e2f6f10e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURIComponent has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.2.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js
index e2008a36b1c6000bb30d53b6d6747ecc83b3c980..67b689a966a26f25e2d9848996dfc669fd2ab2c9 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURIComponent has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.3.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js
  * @description Checking if varying the length property fails
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js
index 05fab479cd2773e58ad336c0367cd1d61e28d33f..8cb62227ce3f6627a20c896bd9ff2afdeddeefa5 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of decodeURIComponent is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.4.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js
  * @description decodeURIComponent.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js
index 908d5e37523a17682448dad919a468f5e56708c5..f8ae598e85eca59e50f94ee44457ee2bbbc61815 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The decodeURIComponent property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.5.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js
index 2e215e26f6e0f945343c926942a2575b3e1626b1..f5c9a36977873b1468ec964eadb5a6b595cb39c2 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The decodeURIComponent property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.6.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js
  * @description Checking decodeURIComponent.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js
index 5c16316bb1f1685af149e97103f58565e5dcbe5b..6078f8a5052921b655887d458ec9c9ae8f049709 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The decodeURIComponent property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.7.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js
index 2609f40e56ffebb1b20d0ee25b872a0bb13552ce..0919bc526dfbb2d6c553115cc039572a35f37e62 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.2_decodeURIComponent/S15.1.3.2_A6_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js
index 5169207b406daf7637ec557e331f171d5ff48cd5..af8b2324b43dca7a79789a2213dc168eb0ec9ff0 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A1.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js
index 5a5faace24e4b6c1f6b932bd1e5e89bc265922a8..44409b2152dc8116ecf0d55cd8051d3d22d863dd 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A1.1_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js
index d0461cceb807bb74aa1f8aced40425dd68ea9f2f..3bede687f20bf83ecd4605f659d2d291235a457b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A1.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js
index 9394856ad318835ec9969591635714272dfdc358..3fd55dd3e1172d616d82b0796308a96ee9358258 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A1.2_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js
index 3e0ba9e53bb78022f6571e9eabdca32c4bd83780..bddb360d30d99069f5330d88cca1255d9267eadd 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A1.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js
  * @description Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js
index ef6990343b16d70eac92e5eb53adbbf689c6028e..756d1be4dbb15a91ae837c986cd02e79220d0bdf 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0x0000 - 0x007F]\[uriReserved, uriUnescaped, #], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A2.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js
index 468ba75d2d5635eb6cfe2464a7a2f7435c4aa7c5..e303747f9a4be21da1c768b663cc710449f84125 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A2.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js
index 25b742eac4b305a9c9c859f18dec775cefe3bc91..a09d045186d9a86156ad20615c9c019ecb691f64 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A2.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js
index 9c5270475e9ec81746e7152dfd362fd6861e43b2..caf57150201e417b586291936433c8580bd3c8a1 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 � 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A2.4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js
  * @description Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js
index b0ee43ecb698e5238138d5095e6ad362d73d079e..b5203cfbda323908de5cf4770e066ae32f022a41 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 � 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A2.4_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js
  * @description Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js
index 8f071decae56e1d57214bf01b1a58c09f0d91f20..1fa4ebe3ca7097fb085fea1fb31442fc1358cdf7 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A2.5_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js
index 8f5469336b4f9b0134a4e3fa769af6b4ed7feccc..9ad30c050431146e09fe79c6f75fc723275f6f2d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURISet containing one instance of each character valid in uriReserved
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A3.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js
index 31572d324f0145b1de51879cfd9af2b38bd12e0d..10c22e012351b2fad9dd41a140ca7b566512587e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURISet containing one instance of each character valid in uriUnescaped
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A3.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js
  * @description Complex tests, uriUnescaped :: uriAlpha
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js
index a69c1095d33ff3d40fad6579e0c2d4609429f045..a89aed7fba39aaaedb9a36c9c247d49aec82d57d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURISet containing one instance of each character valid in uriUnescaped
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A3.2_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js
  * @description Complex tests, uriUnescaped :: DecimalDigit
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js
index 331bb6753eb20a23c528717c1228df84ec2f2ba7..a7c370ac1d783c91f5436bc0290231e1591a524f 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURISet containing one instance of each character valid in uriUnescaped
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A3.2_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js
  * @description Complex tests, uriUnescaped :: uriMark
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js
index 9f975b5b9bbab7c84d91b9bce8841ef6dff4da81..37cda639f0602b4bf63bb3273a995a718a8451c0 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURISet containing "#"
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A3.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js
  * @description encodeURI("#") === "#"
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js
index 7fff4fd31064655a53c8488aafe7be392368ea79..c14c2a303e101448c4199acb220817cb080f6a9a 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js
  * @description Checking ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js
index 04a94f210ca021c0c32f94d60143a2ace0ac9f06..ef5696f25e4cb519dd008feb8f2b66d625d8c80f 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A4_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js
  * @description Checking RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js
index d60e95a28ecd06914fc18c5f12fa4b29d5ab8a52..606df82f248c7c9a95393726ab0c034eb8874726 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A4_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js
  * @description Checking URL with Line Terminator
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js
index 9ea24ae5045296ed8da4a8a11bbe7cdd1546f9e0..bafaa396bb83a47207c46a09597c11ce149e78b2 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A4_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js
  * @description Test some url
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js
index 880c7f14f553d3d252971d7939c361f01bb67374..f089aac019fc688e49d750e1496507884995c443 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURI has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js
index d004a24a73e6a9c8b78325331e96af24245558fb..ffbe0f37fdc9d0168fb217fc05a093c23919df03 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURI has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.2.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js
index 106f5304fcb441369b043755e497f48e2a46af9d..4aa01aaa4d305eda2535dce5811dc195fe076c56 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURI has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.3.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js
  * @description Checking if varying the length property fails
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js
index 5ba2f533823723ffb39ffcac2c86d36e31f27307..3a016ebf203015774f7b9395433eac9a1c2453c2 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURI is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.4.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js
  * @description encodeURI.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js
index aff1a7da277b1c23dfe3a195598706e2ffcb8392..0bc0cf4d5dee613a7992099e090a9db2a2322776 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The encodeURI property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.5.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js
index 7f13d6cc3421a89fa9fc100556d2de423e08bc5f..a7f5f28001e8e9f5fc6c4826dbd67598a4939704 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The encodeURI property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.6.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js
  * @description Checking encodeURI.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js
index 237c300761ae6a26ff517d6980f706a365ac8882..3509f476f55816ccf7771bdffa87665461540307 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The encodeURI property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A5.7.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js
index 1d99e4fd0f467dbe81d654d173342ce460fa49ea..1293d4df404f7cc33fba10b614a125b044e2f700 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.3_encodeURI/S15.1.3.3_A6_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js
index 906e79d15fb0811e03ed51d2856bcc879f4cc468..796172808f02786e482fcb671007bedb6d9dea54 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A1.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js
index 2d19448c3b55acfbccdce6b3dc64f11f4bc379e4..e2e3deed94a588f5f3ef4330355e959b26143beb 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A1.1_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js
index bb6b1aec259a11e8e81e9931cb8a442f606cd6b0..91271fa2c21dcc2a3d0bd35a1be8eabf7d0b4713 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A1.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js
index 5ac930234c6e067478588668b8290ad13222b173..5f363bccaa61202fc5b0f6dd7bf221d12db13a7b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A1.2_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js
index 12ca670034d6677e878ce44778ec4330bdda6885..0a929379dc2b5a8da8716a1d9e5813a441d70c9e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A1.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js
  * @description Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js
index 23c276463c9f64ff20b17a6c3ab6e41dcdda95d2..1920dd5f989fe6bdb68f555441c0aff39db07557 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0x0000 - 0x007F]\[uriUnescaped], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A2.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js
index bab626bae843d9586676f414ff7263060d5e6e41..ea19909ea028b4f7baca53ea38128391c895e175 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A2.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js
index 1917cd67bb2ba5f5671871867cb4da4bc4f34fd0..b8fa4b3eac0ea66cda8b62a62b702466ea59b322 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A2.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js
index ee11ba13ce8bfc5d9784d253085b94020a833f08..418d227a3418c6eacf1b57d4d40d46d69d3d228b 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 � 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A2.4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js
  * @description Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js
index 9e2c5c6616c4ad7d92d8b866da8fd1b52a5fcfc6..672437cec3d9a3290bf5baf0d83d0b4eac9caa65 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 � 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A2.4_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js
  * @description Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js
index 0e14c3d35e836d1ca5657d971be82a315773ed54..7a616a2ea21c8a70a552f61901d06a341f4f6ae8 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A2.5_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js
  * @description Complex tests, use RFC 3629
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js
index 25fd0062bf66c3d65661a043adc9fddddd9c560e..c6fbba03ad3d75274fbc58729d23ad68eaf5b3dd 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURIComponentSet not containing uriReserved
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A3.1_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js
  * @description Complex tests
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js
index d45ec093b04a345b89778c3602df80df87c2727e..5b9771bbe33cb02a2ac6dd2be70d6d9216cb1331 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURIComponentSet containing one instance of each character valid in uriUnescaped
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A3.2_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js
  * @description Complex tests, uriUnescaped :: uriAlpha
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js
index 7e294b3ae176c4d579257636b41a483eb0e586df..7181c2229ab59bc7bca05d5789c99b0f4793ba24 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURIComponentSet containing one instance of each character valid in uriUnescaped
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A3.2_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js
  * @description Complex tests, uriUnescaped :: DecimalDigit
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js
index edd533c8123d93cfccf6080bb010916720ee4af6..627812016f616ca09494e56d4e5279e56882bb4e 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURIComponentSet containing one instance of each character valid in uriUnescaped
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A3.2_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js
  * @description Complex tests, uriUnescaped :: uriMark
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js
index 63fe590e508c1bf38509fa19e7c5c506c01b1124..77511d26256a179cbdf7e2fad24d8b48d39052d2 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * unescapedURIComponentSet not containing "#"
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A3.3_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js
  * @description encodeURIComponent("#") === "%23"
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js
index 83e2f1481f32d179cc5219c8d19e98d4abc4bcc2..84e7e5b240ed87c1772a4b6841988a02187d2e94 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A4_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js
  * @description Checking ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js
index e365904783e00e546b146cd6e13c71af3faaf9f5..10c6e40b7faa1cf1ac608ba6f4656c5595da853d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A4_T2.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js
  * @description Checking RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js
index 1a49c71f1364380ff4f636f1965dcc1ae7830dac..b89db588e008db41f0ec121e1758c55e4d025324 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A4_T3.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js
  * @description Checking URL with Line Terminator
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js
index bf29380c4070c6e51167a713012abc98eae910dc..3cbb2168333e2d59ec8a5040cd9a22082e1e10bb 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * URI tests
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A4_T4.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js
  * @description Test some url
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js
index 80609c88ea3c80674d2987c3b1e0314659f97d27..91efcb2bbb7f06e85c4bbfed6e40a07e122e27c9 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURIComponent has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js
index 913a8e15ec0223e733ad8ec42df407ea07aa1820..e90231832ea93bc5e1903877e185cf95261d7346 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURIComponent has the attribute DontDelete
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.2.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js
index bd10aa92d91d10c8bfab8ea81da2c8055d327671..be17a57f998c088a1afc1a1f86ce7efcc120644d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURIComponent has the attribute ReadOnly
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.3.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js
  * @description Checking if varying the length property fails
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js
index 9a48ada668764a00967d1f9b748461a24b383690..bebeadbb58b2b15effd08310c230c70e886386dc 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of encodeURIComponent is 1
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.4.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js
  * @description encodeURIComponent.length === 1
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js
index 040cb7238c52b085e03b2b3583fe919b40604602..67358f35b7869508630d70d947296469e80cde7d 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The encodeURIComponent property has the attribute DontEnum
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.5.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js
index 97573f30ccaf17aa2f0da4387daaf11905a7430e..8d5bce7c4f1fd975f29474f4b3c3ce5864ce05dc 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The encodeURIComponent property has not prototype property
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.6.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js
  * @description Checking encodeURIComponent.prototype
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js
index 37fcf2c5096320dcd02d09f40777880b3bb3cd61..b762aae2d07a552f3a0681d1b15680452e798134 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The encodeURIComponent property can't be used as constructor
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.7.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js
index f6037715e3881f02c77bc72884320a93eef01fdc..695883985f8d0c9c11f875c1c25fe8b36d0d7392 100644
--- a/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js
+++ b/test/suite/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString
  *
- * @path 15_Native/15.1_The_Global_Object/15.1.3_URI_Handling_Function_Properties/15.1.3.4_encodeURIComponent/S15.1.3.4_A6_T1.js
+ * @path ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.1/S15.1_A1_T1.js b/test/suite/ch15/15.1/S15.1_A1_T1.js
index 59a4a0f5816c3b4e4079004b63faba44981e2233..366d283679a11f9ed7431e7910a1cdb8752f1f84 100644
--- a/test/suite/ch15/15.1/S15.1_A1_T1.js
+++ b/test/suite/ch15/15.1/S15.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The global object does not have a [[Construct]] property
  *
- * @path 15_Native/15.1_The_Global_Object/S15.1_A1_T1.js
+ * @path ch15/15.1/S15.1_A1_T1.js
  * @description It is not possible to use the global object as a constructor
  * with the new operator
  * @negative
diff --git a/test/suite/ch15/15.1/S15.1_A1_T2.js b/test/suite/ch15/15.1/S15.1_A1_T2.js
index 5b7ee558bc480eb4ab1ff0dd6c13aefb647b939c..2dd50004192547bdac1e4f4fe7760126cf5bc9f8 100644
--- a/test/suite/ch15/15.1/S15.1_A1_T2.js
+++ b/test/suite/ch15/15.1/S15.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The global object does not have a [[Construct]] property
  *
- * @path 15_Native/15.1_The_Global_Object/S15.1_A1_T2.js
+ * @path ch15/15.1/S15.1_A1_T2.js
  * @description It is not possible to use the global object as a constructor
  * with the new operator
  * @negative
diff --git a/test/suite/ch15/15.1/S15.1_A2_T1.js b/test/suite/ch15/15.1/S15.1_A2_T1.js
index a27ea2cfc135354ab796624dd145e1d3bdd44e55..308085a509ef21e5a66c2b457e83950f52ba01c7 100644
--- a/test/suite/ch15/15.1/S15.1_A2_T1.js
+++ b/test/suite/ch15/15.1/S15.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The global object does not have a [[Call]] property
  *
- * @path 15_Native/15.1_The_Global_Object/S15.1_A2_T1.js
+ * @path ch15/15.1/S15.1_A2_T1.js
  * @description It is not possible to invoke the global object as a function
  * @negative
  */
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T1.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T1.js
index 5cf86269b479c771c364a01c7061b6c7ce5bf26c..c629126d8d6e86d58416eb6dbdf8c81dde36f275 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T1.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T1.js
  * @description Tested RegExp is "a**"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T10.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T10.js
index bc71368d7d4780b17d10f93cecbace2e421134e6..858f95ad4d275f8f2813ced7ea1739761cf1e6c5 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T10.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T10.js
  * @description Tested RegExp is "++a"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T11.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T11.js
index c26195ecd80d95cc7692553fbe7e6fd1e36c8cf8..e3ebc5c11de786202755b643f901f6fff5475bc7 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T11.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T11.js
  * @description Tested RegExp is "?a"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T12.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T12.js
index 614d9c18cc9f0ce2d2d0e6e93a3c5ae73a2cb574..02f80d6920485c3ca5a430fb812d6c7f800af5bf 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T12.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T12.js
  * @description Tested RegExp is "??a"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T13.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T13.js
index 8f18348cf6688e01193c361936935d08e84bb0bf..e6c0f5f37ff6da256681bc6c3d5283ea5741dfd8 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T13.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T13.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T13.js
  * @description Tested RegExp is "x{1}{1,}"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T14.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T14.js
index 3ee42144dc6e7b4e5f2ac4ebbb413271394502f0..d1bc8b0b2be203eacd8815761f6744c25556b84b 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T14.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T14.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T14.js
  * @description Tested RegExp is "x{1,2}{1}"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T15.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T15.js
index 8c8a0c92ba59efb57b3b35a81432c236dc4f60d2..1912f46061c45251e1238ba9717f5513865c6cac 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T15.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T15.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T15.js
  * @description Tested RegExp is "x{1,}{1}"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T16.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T16.js
index 73050496f3ba43231028da482841ed5ab4b202fc..70aea659da09dbab5b0f482379d0bbab5a5a05bc 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T16.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T16.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T16.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T16.js
  * @description Tested RegExp is "x{0,1}{1,}"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T2.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T2.js
index a90bf2837b91b0a8a12320fae772fe477fbd60d7..85d12c192096b4367e82c3708e104416b31582b6 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T2.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T2.js
  * @description Tested RegExp is "a***"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T3.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T3.js
index 387ef31604690d253e6328eb525681a8b33f9124..eb39dde825897c0ddc79a32c962368a860d85e23 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T3.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T3.js
  * @description Tested RegExp is "a++"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T4.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T4.js
index 7e6cbb66d58e71336c8c28a75b0be19a9283338b..b057a5a465abefd94dd4e060971da8b807114656 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T4.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T4.js
  * @description Tested RegExp is "a+++"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T5.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T5.js
index 1ee8a3c394dbf848411489d2ec57565d32924ef4..1954fc13600453f585add342d383aea5719d420e 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T5.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T5.js
  * @description Tested RegExp is "a???"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T6.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T6.js
index 559041cd6469c8d8f7f8822f948ccdd7eae40b26..83ae8f1c46302607a525c2ae184e5a8b9155c6c5 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T6.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T6.js
  * @description Tested RegExp is "a????"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T7.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T7.js
index 59835db03af55f06cf4c46f8324e147e7eb50b2f..affed4c57233be8dfe67cee45eb5fe6c89faa554 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T7.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T7.js
  * @description Tested RegExp is "*a"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T8.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T8.js
index 377adb982e0d74c98fa129418bb87798cdb17c49..e2dc4af80d2ea3b25625bcc5ee01ae5b3eb6e6b8 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T8.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T8.js
  * @description Tested RegExp is "**a"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T9.js b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T9.js
index f95c4f5e8675f75a9361f55abdaaf0aaa22b6c91..561c2a5e7a5f0af91303d4ae889a0e1abcb724ad 100644
--- a/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.1/S15.10.1_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * RegExp syntax errors must be caught when matcher(s) compiles
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.1_Patterns/S15.10.1_A1_T9.js
+ * @path ch15/15.10/15.10.1/S15.10.1_A1_T9.js
  * @description Tested RegExp is "+a"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js
index e4461bd07602d99967a5ebd13f3d66f79c66a4da..d4cfc054da900ef431d5be67a061515aa20ec613 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterEscape :: t evaluates by returning
  * the character \u0009
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js
  * @description Use \t in RegExp and \u0009 in tested string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js
index 60dceec103730cf613c0e676401486ba3cb227fb..c0294ae78544972661eeff0bbe844a2c00599b93 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterEscape :: n evaluates by returning
  * the character \u000A
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.2_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js
  * @description Use \n in RegExp and \u000A in tested string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js
index 6ccc748cd918517ae9e9ada08a860ca63c5e8d3e..c1d26f44d8b8886cda88704ee219429392b63e23 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterEscape :: v evaluates by returning
  * the character \u000B
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.3_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js
  * @description Use \v in RegExp and \u000B in tested string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js
index b3df45bbb51ecad0d725b99eee32e540e6e53ddb..4b3b0f1b20940900eafee64a21fc30feb4f268e6 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterEscape :: f evaluates by returning
  * the character \u000C
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.4_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js
  * @description Use \f in RegExp and \u000C in tested string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js
index d93f88c42e89698df1540d1e1aac58bdd87f2048..d69e4249613b7e3d0d47a72abbd6b6c1b00ecc09 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterEscape :: r evaluates by returning
  * the character \u000D
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.5_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js
  * @description Use \r in RegExp and \u000D in tested string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js
index 2e2595344fe18323588c441150d2ed0dc9a0c681..623c912eaaf1fa8d3cb557b9eaf68db4acfae760 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: c ControlLetter
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js
  * @description ControlLetter :: A - Z
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js
index a6f491eec43c9e5ae4f1cc2dca941d85325311b5..2b6a3937b529db4d5af81c2303318825866ab85e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: c ControlLetter
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js
  * @description ControlLetter :: a - z
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js
index df49890850c6d98d42d22a47045946ef788df98d..bdf21e064ce81947e4c819961162f65ecc0e8ba2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: c ControlLetter
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js
  * @description ControlLetter :: RUSSIAN ALPHABET is incorrect
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js
index b2e86d8900982ced0db673086efc059cdce96826..2a431dc1890c110d0bc14a816502fd365ea01d00 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js
  * @description Tested string include equal unicode symbols
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js
index 0987af477173b1b695e9dbb26373c465be834eea..789ee29c1d153eb6cac4b40acfb50057f1b10235 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js
  * @description Checking ENGLISH CAPITAL ALPHABET and english small alphabet
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js
index 17dd914e159be303c6f7c678e781d63d6bc3d7d0..7da30da23499b824c5b6bb314ed16faacdd07632 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js
  * @description RegExp and tested string include uncode symbols
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js
index 68ad3f37b8f9d23a8f2e71a7a93f22a7249090a7..115b8d8416e7cf225056e2dbb79335afd497653f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js
  * @description Tested string include ENGLISH CAPITAL ALPHABET and english small alphabet
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js
index e554db53ccee387009f636c727273e3a30b2325a..9904a34825c291850d598790d74612f1dbd2d04a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js
  * @description Tested string include RUSSIAN CAPITAL ALPHABET and russian small alphabet in unicode notation
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js
index fe0cbb8a07ba58a25cc7d2c7329e0989f6192e25..16517f4aa02838f2895da42ec40917e45c46ab4b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * CharacterEscape :: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A5.1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js
  * @description Tested string is "~`!@#$%^&*()-+={[}]|\\:;'<,>./?" + '"'
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js
index 8035d328d4aa28c5f55997e57cdb251a8b8fbf8a..306eec08499afd3d83a892f07e412e19ddc3e6b1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js
  * @description DecimalEscape :: 0. If i is zero, return the EscapeValue consisting of a <NUL> character (Unicodevalue0000)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js
index 32754395942fdda066426b4016d6806ac62d1821..fb1cb46761d4036f96c65956925be0668206c5e7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js
  * @description DecimalIntegerLiteral is not 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js
index 9055cb4b81149787d24fdfacb2ad2034ac5b9dc7..d96e9f82b44f743bfb649aae5f22b1d6bfcbc522 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js
  * @description DecimalIntegerLiteral is not 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js
index 1ddb484472c0f93f10ae092a320afd427f4f13f5..93fe35a09c9ca2b84e12b0c27b082745bc9a0500 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js
  * @description DecimalIntegerLiteral is not 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js
index 84201e125da4806fc693d6d0887fba961fbf8f4d..4adb97eada66b14ead274c0eb13b245820853ad4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js
  * @description DecimalIntegerLiteral is not 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js
index d72e4c831c7d90ffecabe58ca23590e35b4c1e50..d0915d52feebd67eddffe8676101040f3b97089d 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js
  * @description DecimalIntegerLiteral is not 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js
index 4de715d80b6d63e78ee945da1ae0042ee0043750..b2dfb4ee3c280e653237c4adc40d880bc903bdd2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.11_DecimalEscape/S15.10.2.11_A1_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js
  * @description DecimalIntegerLiteral is not 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js
index 89ad69d5631f7c4f4937e3ea44c991228ea14a89..9ea59653d25d7dff066a936137464f0d5391969b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: s evaluates by returning the set of characters
  * containing the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js
  * @description WhiteSpace
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js
index 00abdf2d4348239a83488533de04ef5f26f6b714..52716fa8cefea567e6c59093e6c54a6703a1412c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: s evaluates by returning the set of characters
  * containing the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js
  * @description LineTerminator
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js
index a7cc3b4b8066e17fd403fac403e7f91a10844e4f..a33d7dfbca03d19324868788b591413ac8421346 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: s evaluates by returning the set of characters
  * containing the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js
  * @description ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js
index 5129145597bbbacb45d4417f09bfa140eac023fe..87c33c7c7bae39720d41c9979512866b105b1f53 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: s evaluates by returning the set of characters
  * containing the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js
index f3006844cb772a5315f485716a96c678039a8dfb..4e08b1f65a7afd0ed5f356488e11615261840e5b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: s evaluates by returning the set of characters
  * containing the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js
  * @description Tested string is "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\:;'<,>./?" + '"'
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js
index b6ffda9197de06da0eec652ce15bb0759ff2cb44..d688578e9711076a43e63c07a741678e757d02c3 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js
@@ -6,7 +6,7 @@
  * the set of all characters not included in the set returned by
  * CharacterClassEscape :: s
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js
  * @description WhiteSpace
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js
index f251a1337c9a8cc387bd603b7b4e9cc42e52157b..2cc29e04c2662373f136dedd36641b2b97a3c4fe 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js
@@ -6,7 +6,7 @@
  * the set of all characters not included in the set returned by
  * CharacterClassEscape :: s
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js
  * @description LineTerminator
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js
index 17eae7b23bcd216ac888cc171254944b12aa954a..66a831f10b9dffb27bbd2605ddc0480474edd795 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js
@@ -6,7 +6,7 @@
  * the set of all characters not included in the set returned by
  * CharacterClassEscape :: s
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js
  * @description ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js
index c9d9a4a41ba3555e1a6f7fefffcda653a31c1fb0..56d511ec6db99344736df93b50b2adaa3c91f7d6 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js
@@ -6,7 +6,7 @@
  * the set of all characters not included in the set returned by
  * CharacterClassEscape :: s
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js
index 90a980dac266230ea54cc07cfb952658edebe8fa..7dbcfcb1ac2f280dd96e1702f9af46e04cdd683a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js
@@ -6,7 +6,7 @@
  * the set of all characters not included in the set returned by
  * CharacterClassEscape :: s
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js
  * @description Tested string is "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\:;'<,>./?" + '"'
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js
index feabf3da8e084f8f3be5c1d4674a1a5b44899215..df3a3e82a1c07a83e452185ad4b69fd3ea72647d 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:
  * a - z, A - Z, 0 - 9, _
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A3_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js
  * @description A - Z
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js
index ebc8617a300861c5714698a7e436884322f91111..5a1f80a840e22ccf682e098d44a876a4400b2471 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:
  * a - z, A - Z, 0 - 9, _
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A3_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js
  * @description a - z
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js
index f4d373cd0f36e632d5f3451c361d9f49aa9277d1..1b5833ff4781278b27d53d43dc47bf01ce0d52f6 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:
  * a - z, A - Z, 0 - 9, _
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A3_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js
  * @description 0 - 9, _
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js
index bfa85b196663a3d960076e6be112d0206088c7e7..cf2255903295063492602b0f52207dd9773347cc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:
  * a - z, A - Z, 0 - 9, _
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A3_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js
index c66ae1d3688a75ecc953400b60aa46d4af7e8f44..3efca98cf818db221cc7420d4469cc049aa689dc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:
  * a - z, A - Z, 0 - 9, _
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A3_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js
  * @description non-w
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js
index 0f86387b6fe866d3d0fd7b125c622ea55ae212e8..97b79fe3695fb3062e314ac326c9cf5f19c884bd 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: W evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: w
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A4_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js
  * @description A - Z
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js
index d26fe59e97ba164b7e4767980dd5cfc36701d600..7fc4278b61ccf25e66ea9087190e81eb70feeb25 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: W evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: w
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A4_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js
  * @description a - z
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js
index 5c6d2455b77ce872c70f33ea53f5021cd07ee621..22cbf5336b8a91df00d5ce947e6316097d4c606a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: W evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: w
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A4_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js
  * @description 0 - 9
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js
index 02c5f9d168ae40fcf75670da997762146eba92ca..e5657b9683eaf2310130c7aa0f546cc91d4156e0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: W evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: w
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A4_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js
index f459404d7f3b1ac2dc50bf436690d5273f08f852..3e01ed72cec2931b38240d742737559705bbdc89 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: W evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: w
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A4_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js
  * @description non-w
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js
index 5f8fe7da1932964107b1701d9642b0a8fc6755a5..e1602190ea6e6ac5d9eb84960f3073528942d631 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A5_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js
  * @description 0 - 9
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js
index 6e2de545cef623aee0e33698c762695b52c2af8a..8aa5fd99baf05413d4324f073d039b6856822a23 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A5_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js
  * @description ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js
index 4d673adcded0298d6811eb43506992103eae027b..92226679330723ad469b5ada63828a6882777005 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A5_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js
index e41fe9a1b12b29e35c3e782dce9eea8de2f031db..d8795cfb91f6d2c7f9fcc720866833f8c189a53f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A5_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js
  * @description non-d
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js
index e628ed660f3818e7da9654192d685566ea54a548..0cf2a5a047ae910375145db74e2be7fc0b437cef 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: D evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: d
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A6_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js
  * @description 0 - 9
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js
index d6feb6e7a1374a44b7a6b1746924bf5aef64182a..320ec141f117e69076930c535436e3f837a31ff2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: D evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: d
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A6_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js
  * @description ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js
index e4036c0feb920ee8ccf7fa0fcf0d5b730b4f6173..1edcdce38f147eee708629c3adc70e991b97db40 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: D evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: d
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A6_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js
index ba3f45f3cf80751b94b09c22830aa56a9652038a..662ce119dbb2c73cdbca1f4f87af00a7f78d189e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js
@@ -5,7 +5,7 @@
  * The production CharacterClassEscape :: D evaluates by returning the set of all characters not
  * included in the set returned by CharacterClassEscape :: d
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.12_CharacterClassEscape/S15.10.2.12_A6_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js
  * @description RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js
index 3536737341f783552c5bd9b91493edda25cd7e82..a3f4f44576e166960f5510fbf4885451291d86ca 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js
  * @description Execute /[]a/.test("\0a\0a") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js
index d80e27380efee1ed290e26a70a2971532d52efcf..5e36a443b4bffbf135280a2b206e760f38b88562 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js
  * @description Execute /[a-c\d]+/.exec("\n\n\abc324234\n") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js
index 671c1fd3506d59c11d9a920f42799d0268b6d48f..70e8feac4e3e7400df38858f352838306adc23c7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js
  * @description Execute /ab[.]?c/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js
index a0e2cc8a96396589f5e85d5183db2931b71e7069..770542b6f04c06f30a685c096e3d4d6229bf5d6c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js
  * @description Execute /a[b]c/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js
index 585db575be1c3ec118c8968e0ce4c9b319e09703..74ffd0d46cfc50416828958ee5c8822c56417d5b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js
  * @description Execute /[a-z][^1-9][a-z]/.exec("a1b  b2c  c3d  def  f4g") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js
index dcd53857d32d3a98fbe61ce46e92c07469985704..3fbf7affbca3a5e99f4ff2a0c94bc8b384647d41 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js
  * @description Execute /[*&$]{3}/.exec("123*&$abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js
index bed2a0b26d1b60a23e8b8c55ee191b9406eca1c3..a80ce39bff817fae24a8564482dbe0cefd73c4d9 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T15.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js
  * @description Execute /[\d][\n][^\d]/.exec("line1\nline2") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js
index 583cf53dd0c7f78d71acf06e0e54c83e4c966ea2..ea5be63becbfcdb52ebc2112dd43564c117cca46 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T16.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js
  * @description Execute /[\d][\12-\14]{1,}[^\d]/.exec("line1\n\n\n\n\nline2") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js
index c8ee6131a48895bd6274decabe27d421cb914516..28256c88b111f82a61c73c6d2a8430305732b589 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T17.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js
  * @description Execute /[]/.exec("a[b\n[]\tc]d") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js
index 6b7482af77f5f012fc4079455dc26b3ed8e426b2..b02086b99ce4791fd5661e2c5469a38fa0ff8ed9 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js
  * @description Execute /a[]/.test("\0a\0a") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js
index 6c264a525fb37075af9c6d8f2fccfa71ff0c932a..f1198a3a766a9724e3b8dcf15ab6072416e174ce 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js
  * @description Execute /q[ax-zb](?=\s+)/.exec("qYqy ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js
index 8118a6f36ae446c285f9fc486f24a94cb195268e..a4cb361f8b92f91034d2adac37be45a52ff67213 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js
  * @description Execute /q[ax-zb](?=\s+)/.exec("tqaqy ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js
index efa2f55c5dfb049b77fba0be9e2fc65110ddc4ad..b8e2aa9a08e0641ca423f1f92b2135ff3ceb8957 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js
  * @description Execute /q[ax-zb](?=\s+)/.exec("tqa\t  qy ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js
index b404ac3933e721aa89fe8016af931bebbbdc3e65..d84a74b33387248853a704de0914fa7b86e935c0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js
  * @description Execute /ab[ercst]de/.exec("abcde") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js
index b98bc30b057e4e9f4d5dc27a6213e7dfe95fe415..e6c7a5d7ed95caaa1470c75426a74d53c0bf95d5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js
  * @description Execute /ab[erst]de/.test("abcde") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js
index 73e090a52d285d5d70c99cafced0c2a3530e2440..d69ffefb42fa0f1c37763719f72e3ee092f2d704 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js
  * @description Execute /[d-h]+/.exec("abcdefghijkl") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js
index d9c3988c35997bad0194e93273e3bdbcf63ad4a8..d95321ce3628eb7804d76acf581eac3d10fca2a3 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ [lookahead \notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A1_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js
  * @description Execute /[1234567].{2}/.exec("abc6defghijkl") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js
index aff743bf82cf9aa4e87173f5194a944f1d87bc56..8410e4d46d928a4af29dd7ff50d28c20634acdb4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js
  * @description Execute /[^]a/m.exec("a\naba") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js
index 90fd2eed036f72faa6f510096809eb9d068f2b73..12c45c073539add6b220b2346098cf6a331c2a92 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js
  * @description Execute /a[^]/.exec("   a\t\n") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js
index 59012c760f374f2e43c117bb7d7674735ffe51f6..2b6bc76e4a853457d6eaf1332e8a65c409130c38 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js
  * @description Execute /a[^b-z]\s+/.exec("ab an az aY n") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js
index 38c967e8d635647de493d9fcff8e1dca978547d0..c6690db5da230ae8907164cfed643c3197b5ce9d 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js
  * @description Execute /[^\b]+/g.exec("easy\bto\u0008ride") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js
index 3059e9983118c39421c9017756b94d775cf6ed1a..97ba1ad3246e843d4e5a8e12fc11a52ba879e298 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js
  * @description Execute /a[^1-9]c/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js
index 0849f627cb6991c5ce803d976a4981774c4e9461..f964ffbf00fa69d6dcd0d709585a647fcf9e130c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js
  * @description Execute /a[^b]c/.test("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js
index 26036aaebc3e2eee1d9f0f493c207d206715213f..56cd92bd35c9a6d820b17c0e7c076ab8e9b16ace 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js
  * @description Execute /[^a-z]{4}/.exec("abc#$%def%&*@ghi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js
index 68db6f5f1a8db3e6e99b548d85c54f380150fe29..04e53653cabf0143a58385778f1ae80170d81c4c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to  obtain a CharSet and returning that CharSet and the boolean true
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A2_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js
  * @description Execute /[^]/.exec("abc#$%def%&*@ghi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js
index 5ae9a2bf875ee82c35b3c319b6efda60ea5002bc..392445023ae3474455881c7fd575f38c3ee3484e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Inside a CharacterClass, \b means the backspace character
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A3_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js
  * @description Execute /.[\b]./.exec("abc\bdef") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js
index 83a96074772616252f40ecefa13779ff993d7c91..f1bd6b63f424f51564edc9b48b1ea3376182c8dc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Inside a CharacterClass, \b means the backspace character
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A3_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js
  * @description Execute /c[\b]{3}d/.exec("abc\b\b\bdef") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js
index a2fb8c046b449a28935c8de8ddd193dc3a16cd0f..a4e4864c09604edb460d3eaa1682d56ffb83a794 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Inside a CharacterClass, \b means the backspace character
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A3_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js
  * @description Execute /[^\[\b\]]+/.exec("abc\bdef") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js
index 271a95543aac484806de2408228be7a7a54a3d73..d97e00f46d87f74b13382eb5a1035665db6c7b54 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * Inside a CharacterClass, \b means the backspace character
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.13_CharacterClass/S15.10.2.13_A3_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js
  * @description Execute /[^\[\b\]]+/.exec("abcdef") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js
index ac56258cc2f700f8b1732547a09aab671a2ff541..445093b5d070646d41372b8337f52bd6d32f1585 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js
  * @description Checking if execution of "/[b-ac-e]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js
index a253fff2ae3f96f65d907d9064ec9e207aa7b366..020749a9f35411c76155e0383968f24cc5ebff87 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js
  * @description Checking if execution of "/[\10b-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js
index c645e49a3666526ade6c503b2b77e7a17e6350f2..b88af78e7d9d5aefa579332f7b0a4d28e8d15f2c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js
  * @description Checking if execution of "/[\bd-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js
index 21520aa0da6c2928b20bdc1cc4889a1bd4fb0470..c81f72ad5df8ac8094354505fcd20ac6c7d16aa7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js
  * @description Checking if execution of "/[\Bd-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js
index 84f785fee37cb89e7e7e4b40482998539d1e03b0..b0406f7527eac9e2eeb3904873bc9d234e18648e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js
  * @description Checking if execution of "/[\td-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js
index b21c060c35f6cf7d5f9730701f57cbeaf8e55508..cfb4eadc7209b61aec35527492a3b286d34200d8 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js
  * @description Checking if execution of "/[\nd-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js
index b0c6a336795dacc8b5b25ae58131a77cdc9d6213..17ff0ace0a09b6e528ed95f9b598759bd1762573 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T15.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js
  * @description Checking if execution of "/[\vd-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js
index 28f8cb8ac3392b49bc50669583c7e059a2d00d34..2cede536f7ea83c0d072e659b1c59032a9e9f2ce 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T16.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js
  * @description Checking if execution of "/[\fd-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js
index 7473e9f1187defbf2d4e4c6448970ff927726aec..d2e265c9934a36a8736c250afd6bfa88604bbd5e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T17.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js
  * @description Checking if execution of "/[\rd-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js
index 026bfa0709f6329a458362694254c4b5c7d12b79..f3406745415c237a017598714b66603079637932 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T18.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js
  * @description Checking if execution of "/[\c0001d-G]/.exec("1")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js
index 7a2791f20fdb22b24c6cbd345eb2ddd7e292beb0..bd569e65bdd4ca8ed6116961121ec8ce91e8e195 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T19.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js
  * @description Checking if execution of "/[\x0061d-G]/.exec("1")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js
index 12dad884b2967ba632c0a1222e7ec14f2a775020..7047103bb812d6da9cc583cd559aa8061b6883b8 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js
  * @description Checking if execution of "/[a-dc-b]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js
index 0607f2615960fccd79a8047c8ab376a895af9d5e..74043d31b728838c023024fe3ed5b4365bdb8ec2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T20.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js
  * @description Checking if execution of "/[\u0061d-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js
index 43df7d3cc73c53077590aabb30aa3a844aba5752..848393484522c35fa868485752ab1e890c4c14ab 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T21.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js
  * @description Checking if execution of "/[\ad-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js
index 3f829c9b47b4d359f15ea5628f7e458b4837b2af..aabbacb17badc2a73d7e865b8a09bfaf443f0316 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T22.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js
  * @description Checking if execution of "/[c-eb-a]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js
index f9aef02af7085cd9ec0e1fa159b74cc7c4a6ed68..0cd3f8f7e94f369dcafacffcf88969b0f7174a63 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T23.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js
  * @description Checking if execution of "/[b-G\d]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js
index 103229d80a02b4d0f6bb5ddf71a32c685730c5c6..d5744bab280d049a8c471ce99cdc2083bb3afd86 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T24.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js
  * @description Checking if execution of "/[b-G\D]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js
index 1ff27d36820c8109348a4d8f5ae96b433cfaefba..2fc86dcbfb16b0a7e4e2aadc5e67f05376a5c0a7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T25.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js
  * @description Checking if execution of "/[b-G\s]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js
index 4762f4e9317bffaececbd4c6894f207824047ec5..fecf0d82a99c2591c4d8351ac9576901d09ef859 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T26.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js
  * @description Checking if execution of "/[b-G\S]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js
index dd405eca75275c5908272b518535f5a1ca8792db..961466cfbc6544793282879f75c99d658540adaf 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T27.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js
  * @description Checking if execution of "/[b-G\w]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js
index d4411a631be3488015819364288c83abb9c8cefe..c4227e1a064307f064c97fad88cc1515ded1df3f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T28.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js
  * @description Checking if execution of "/[b-G\W]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js
index 83317416571320924564f3b1cc5cb83b6c7e4e00..651f6eed3230c254bb8ae667fb065a36fd63ae0a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T29.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js
  * @description Checking if execution of "/[b-G\0]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js
index 84d370e90287fac1aa4c533cefc55c0b22e439f0..be3e83de91b98f7a43ac4c2a29d43b17f21aee7b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js
  * @description Checking if execution of "/[\db-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js
index 3ca6cf2cc404dc54cd4a18864e87f0dee14116d8..b70c335db070b0793b994fd57ff9aa085fbaa419 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T30.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js
  * @description Checking if execution of "/[b-G\10]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js
index ecbcfc6b254fb849c94fb1181330a956c45c88d4..4b6a8544156e2188d69c46908e1f5028205b1de5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T31.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js
  * @description Checking if execution of "/[d-G\b]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js
index 62e8a7898f8b19e57228fe289525721f6e39bdfe..35db57aacd6f63c23f350a71842a4690af5dd8c2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T32.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js
  * @description Checking if execution of "/[d-G\B]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js
index e21ac69ff34744aa62bcf39eb8f6337e312a5e71..77f12e314190fae799e03321990dc1b4d3dabb94 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T33.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js
  * @description Checking if execution of "/[d-G\t]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js
index 9b4085c1c01255a948f7d752b2e6348cd1af53cc..6f1bf0aa58e677580dda370374e669d4885cdce4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T34.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js
  * @description Checking if execution of "/[d-G\n]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js
index 64b0c82af7663b806a63c6fa899a68964c70068c..e4bcc9a9ad25f46fa55775751881bd64adbce44c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T35.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js
  * @description Checking if execution of "/[d-G\v]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js
index 33b80a1c75278ab0785a66883859f77fa3c758fb..eaa9b66cd968ef77e0224185dc7bd5ff554d3af5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T36.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js
  * @description Checking if execution of "/[d-G\f]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js
index d63396d3c906e3c6fb799fad43f3859407f72b25..49b37df66500b32b5882c544aab9da7780bf5261 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T37.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js
  * @description Checking if execution of "/[d-G\r]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js
index a970dfb9829964d792aefcab75fe0e1dfe4eb56f..43f5dbf9285e463d04aabc9ae0405cd33db366d7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T38.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js
  * @description Checking if execution of "/[d-G\c0001]/.exec("1")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js
index ad266c5eb5669c65379a7fbf787c930a4c06e9c3..bbd17f8d67853741104dd77ed03f0bd30326dbab 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T39.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js
  * @description Checking if execution of "/[d-G\x0061]/.exec("1")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js
index 445538f55ae18c3fb8ec43ad892b9932b6a8e83f..5a9c458f4984a695d1c32b3cbe2e275e920baaea 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js
  * @description Checking if execution of "/[\Db-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js
index d3cc2b33c36806cbb4127ab01dff1f7d023ce5ab..061268c94d054c88c64bbdfb7df9607f976ae63a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T40.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js
  * @description Checking if execution of "/[d-G\u0061]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js
index 3ad59e2666190633066936d2ef32fd2d8b6319a7..3dc4f10c449d92003997b224326a973cc40838eb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T41.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js
  * @description Checking if execution of "/[d-G\a]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js
index 4d4afe9243b63f1aea2a678820f303b24fe49361..a17b0abc8b4f922585df9d22bbb85cc4e7907610 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js
  * @description Checking if execution of "/[\sb-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js
index 51e1c7197ad8ff30b92d5c2f760fe052561128c3..6a20c51d68989f10356b79ade7f0910ce945e98f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js
  * @description Checking if execution of "/[\Sb-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js
index 32fff33355adfc0d25b0b96f31d7e3dac295a2d8..cee8100a6e711b246449109db231faf2aad8b345 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js
  * @description Checking if execution of "/[\wb-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js
index adc6d1b0c4dd8c48d8bd3140051641517bcad0c1..2f45104d6ec1e848f772698513c32ed4dedcf986 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js
  * @description Checking if execution of "/[\Wb-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js
index 9361736112969a6336553406969ea43475163b76..e4d64bfc821f647a9f005b05b6ac9877b20dad24 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js
@@ -7,7 +7,7 @@
  * If A does not contain exactly one character or B does not contain exactly one character then throw
  * a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.15_NonemptyClassRanges/S15.10.2.15_A1_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js
  * @description Checking if execution of "/[\0b-G]/.exec("a")" leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js
index 1d364a2bbda5d9ed0d9d47cf08ebbd1199b990e2..a40126f916b3d31ea8b0bb844321f79aed80e981 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js
  * @description Execute /a|ab/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js
index c265bcf29c5b380fbd35db7ad8d775a629b28c14..adec51a48878a5f9eaa2e662ab1eb2452dd59945 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js
  * @description Execute /(?:ab|cd)+|ef/i.exec("AEKeFCDab") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js
index 71f5e1d689e3a039336757ae2a9bee388e99cfe9..c1146e5c299162adccc0aac6371da53eecfe654b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js
  * @description Execute /11111|111/.exec("1111111111111111") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js
index 10aa22ea9221f3fe8bf2b8476dcbebd4d00fd3cb..6668f36834a5765d9bd9aba01bcf5acd95a459a3 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js
  * @description Execute /xyz|.../.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js
index 0c78d054436279c80384313da0a49248e5e7db84..5b3c0518387e559d129cbb73c3d832cdc34164c1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js
  * @description Execute /(.)..|abc/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js
index 3ec784c97cfc93805191bdd7b6aa92de30174cf5..ea2cd7cd6e51c844cb6f2a698e5025eebf8f5bb1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js
  * @description Execute /.+: gr(a|e)y/.exec("color: grey") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js
index 8ad80785aada7f8e2abc31a73b0e6453019ea8dc..a0e4b85165eef2a1ed6f72cf530bb0b8ae46ad35 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T15.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js
  * @description Execute /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js
index c29f84eb53b1c09e07069044b4b6349039d27190..0f4cef5f0730357ddfd37e0a6a194f8001d6bff7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T16.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js
  * @description Execute /()|/.exec("") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js
index 38e0fbf5154ad50c997f62d41e2653f95e376da5..bf6313a96c595424f0bca84ce28ce0efcbf05d9a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T17.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js
  * @description Execute /|()/.exec("") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js
index 2675972592a31f9126d3ea78a6c7081b6e2dde25..b07cdbab54a0d34291d878c7f2d9a68764a194dc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js
  * @description Execute /((a)|(ab))((c)|(bc))/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js
index 66633a8f1bd9c9883c7244424114860c0b162d35..a534fd3928ad35a770814a9bda60077d7c1e441a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js
  * @description Execute /\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js
index 4b965218df0e65beb2cc57bc2cd2b724e29cd02b..87579047dbb6c3cb018f20c6d41821d5e0ad0f6c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js
  * @description Execute /\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js
index ac9ebabaedc12ba33734d62d53e83fe83aea8b2f..e9ffabc48de16299291033142d5a65e40f5d181a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js
  * @description Execute /\d{3}|[a-z]{4}/.test("2, 12 and 23 AND 0.00.1") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js
index 70ca0793aa299238e8eb478cf1abc64040d15af0..d80ed9a97775a4eb27979f9c99357207f7aba708 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js
  * @description Execute /ab|cd|ef/i.exec("AEKFCD") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js
index edc595557bbe52945348fc9946936264d3b28d84..e35fe0c43bd4332a450226adb7f71988f344b306 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js
  * @description Execute /ab|cd|ef/.test("AEKFCD") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js
index 37024812f85ba9bbaebed66952f76f44dad71daf..5f63747202d150af3a083d734298fc6178c7a30b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js
  * @description Execute /(?:ab|cd)+|ef/i.exec("AEKFCD") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js
index fa22909dd1e70d6fc3ddfcbd440dcf0514b30ab2..4226e80b559211350796fdd0144e6437b0bf0f5a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js
@@ -6,7 +6,7 @@
  * The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
  * If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js
  * @description Execute /(?:ab|cd)+|ef/i.exec("AEKFCDab") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js
index bbc98744a6d8febaf07c806eeafddd4504cbf161..d24918c11a52ff117a7d5b181f511d6b37d25be1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.5_Term/S15.10.2.5_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js
  * @description Execute /a[a-z]{2,4}/.exec("abcdefghi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js
index 617cf1d5ab4c4d300d9d1cdeb09ee47e235f7756..dae4cdb506d58fd87c877e2cc7b23a882a426f08 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.5_Term/S15.10.2.5_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js
  * @description Execute /a[a-z]{2,4}?/.exec("abcdefghi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js
index f9d5635d79f1f17ac9ffeb23ba5f10008d735f1a..8a20e0dc5d5172f40782d0dbf52dc129ee4ab28c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.5_Term/S15.10.2.5_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js
  * @description Execute /(aa|aabaac|ba|b|c)* /.exec("aabaac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js
index 56c1e2e9ad1e5119ba51cc0f2cda5ead4f9d98ca..53587b71230d349dcc41bc46da0b83e4fcd8eeab 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.5_Term/S15.10.2.5_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js
  * @description Execute /(z)((a+)?(b+)?(c))* /.exec("zaacbbbcac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js
index e77dea1290201b0844422ebabed7fe60569f7155..ec2622b75c117940ef31552ec457834322c22346 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.5_Term/S15.10.2.5_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js
  * @description Execute /(a*)b\1+/.exec("baaaac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js
index f58cfbcdb153a410e9ea1557627649922a0761d8..a08a925477241ceea7f79a9fa1f7be57148afebc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js
  * @description Execute /s$/.test("pairs\nmakes\tdouble") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js
index d819616c2a83353a62216ef34f3b88676b2d7010..e45809bb7f8aacf2ae35be4ff9ddefd4989f9979 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js
  * @description Execute /e$/.exec("pairs\nmakes\tdouble") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js
index baf337810ece5f98acd33de4f0377b78a2c53b50..e5c73e365fa49d3976787e8aac068904b79500da 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js
  * @description Execute /s$/m.exec("pairs\nmakes\tdouble") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js
index f222a8cb2293d53fc2f189d0def45ef1c5c574b8..dedbb27c1d285e15be8ce1f01760e1546b169aa4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js
  * @description Execute /[^e]$/mg.exec("pairs\nmakes\tdouble") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js
index 554ad68dd6113b5a2f2f66baaa66c64212d8d6a6..bf38830cd4c47d3a2bd36104c93c84405e6d115b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js
  * @description Execute /es$/mg.exec("pairs\nmakes\tdoubl\u0065s") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js
index e8609bfce2c5311d729a5b140130d62f42b2a5ef..918559b1ce53db96debeddc5285042ed8c74507c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js
  * @description Execute /^m/.test("pairs\nmakes\tdouble") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js
index dc14a1ae4775025c1a50ec42a109e7ee6bd0df9d..298258b4afce854e058293ef0440e0cd7dc3315c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js
  * @description Execute /^\d+/m.exec("abc\n123xyz") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js
index 8f48d0fe51216cdb7def5f8feca696d274e8ccc9..8fb843ec3df0708ce9a04d17b57eec0a9247b34b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js
  * @description Execute /^m/m.exec("pairs\nmakes\tdouble") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js
index 53ba09bbfc7e39d96b3f8d6237f94f29454349d8..144dd942ad931eb0c046434a489bde677c37a4eb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js
  * @description Execute /^p[a-z]/.exec("pairs\nmakes\tdouble\npesos") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js
index bfaf6c4b0e60bb3b91556f5a1732559a9b0d36da..b1fd56e2acf8973cc27a0efbfdd9292125268e32 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js
  * @description Execute /^p[a-z]/m.exec("pairs\nmakes\tdouble\npesos") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js
index 1a5555a2005ddc2f406cc19284f849c7ce4c4410..322a2dd54b22b4ebb97bd03a89fa0f2648511df8 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js
  * @description Execute /^[^p]/m.exec("pairs\nmakes\tdouble\npesos") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js
index f290dbe4a462065a198120fc6c9bffd37d98222e..4c702c9f2ce9daa489e770038dce300cf894308e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js
  * @description Execute /^ab/.exec("abcde") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js
index c3206cae94a7aa946e0f53b9d69127beaf0afe4f..aa76aaa6e472913a58b53565ea319ea3db5643d4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js
  * @description Execute /^..^e/.test("ab\ncde") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js
index 4d869e1cf773e1a2d70b7627c9ddae796b1ae8bf..9017acdf6293cd347d6bd7b0b0511ba8bfe9ef49 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js
  * @description Execute /^xxx/.test("yyyyy") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js
index 9fa8b71b031d05c7d54b0de636d5fa41a95debf9..f6d678ab928ad8fe289b6509bd71f1d561b947e4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A2_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js
  * @description Execute /^\^+/.exec("^^^x") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js
index 4f7e0491ec629561fdb240c11549e6f652d49c48..9192879435eb914c3ba1405951163738ca03a933 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js
  * @description Execute /\bp/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js
index 4e25ad379d8a3ba9403fdcda6480f2609706943c..9fd41c9cd5e2c7a288b5cd1005989be392f6f9d1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js
  * @description Execute /\brobot\b/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js
index 8781339924e0fe59f17fed72d7456c84f69a3366..dac31e08806a4569c560ad43c4d57660d44576fb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js
  * @description Execute /\b\w{5}\b/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js
index 4bcf48fa8452f59dd7393502c2858ff834a580b4..5d37ef9491fff382ea9d66b1493efd5aaec6d468 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js
  * @description Execute /\bop/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js
index bdf164559b6dfe8c2f87e02426fcb745c83c6a95..9efc67dbce6d177f07e6328fda2e5bb980cf2b1c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js
  * @description Execute /op\b/.test("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js
index 919e61516c1866aef0e9c023035343c30549ce8c..78d5b00fd17919acf86a426bdd48b36f6eece208 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js
  * @description Execute /e\b/.exec("pilot\nsoviet robot\topenoffic\u0065") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js
index 6a315c45f5d09274b4973dd97369216244c70870..ffdbd71bcd258d34d136deacf76531f491e85fbc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T15.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js
  * @description Execute /\be/.test("pilot\nsoviet robot\topenoffic\u0065") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js
index 3521b39ffd086a0efc64f7a531f7bc5d4ce3b0c6..9e823cf24e76cee27ae9db3e816c02fb3b3c443c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js
  * @description Execute /ot\b/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js
index f2ff11f1e03e646baff1011a62a0b2b0367ad617..97a2ba9d1af4b7cad8c436b1724bedaa1d9f7bab 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js
  * @description Execute /\bot/.test("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js
index 0c966f003f170508538c83ea4cef7960123511f0..7e45b6c68ba77ebb1926ccea700071f659f6ddaf 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js
  * @description Execute /\bso/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js
index 6bed4e1d666654f26128776eef81429ced880a24..3ec5ab4e085fc69de2f835ecdca81d2c4f5bf780 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js
  * @description Execute /so\b/.test("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js
index ed4f6577abeefdb13800c04202e5eb53314c0148..e1e7ba3ab0ae50c1860d9c7abc742a080ee52a22 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js
  * @description Execute /[^o]t\b/.exec("pilOt\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js
index 91548e99dc80e79a87fbbee4f65bf842d481cdc5..4c6970b3f832d9526d8896ae20ddabb78983ea4f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js
  * @description Execute /[^o]t\b/i.exec("pilOt\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js
index f009a5dbe5bedd737829acb4fb6850def2a61c60..67915775769bfbb19ab51c27a97a8aa4454c41cb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js
  * @description Execute /\bro/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js
index c062fad430ddddfe4bfe4e541849689562d3dafc..191a4248797152e39cfea7ebcc40eb19dc773dfd 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A3_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js
  * @description Execute /r\b/.exec("pilot\nsoviet robot\topenoffice") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js
index dea8a98b27f72deabb6e895b9feea0ae4b300509..b1d4a2325e2fb4149c76db3e8093a9c7bf079775 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js
  * @description Execute /\Bevil\B/.exec("devils arise\tfor\nevil") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js
index 04763c4c30bec477143a7d193b16e393ee1b65e4..d28b7cac472c9e11489fad26a94b9d7132e004b9 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js
  * @description Execute /[f-z]e\B/.exec("devils arise\tfor\nevil") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js
index 9a023fcfab0b2cdcedc355559002415d56a5c949..3bb63efe4cd1357e16613dd9e1076a7309cf12b0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js
  * @description Execute /\Bo\B/.exec("devils arise\tfor\nevil") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js
index 84876232b76fbd687ea68c68079d5e2c512b25dc..60965fe6c4475ac22c07a8e90e3e5861e5ebb14c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js
  * @description Execute /\B\w\B/.exec("devils arise\tfor\nevil") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js
index 5f627d28cec32cebd1b1f763338a32673e2b04ff..1e0863c4c310511b02f40e8094c4a2f08685e286 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js
  * @description Execute /\w\B/.exec("devils arise\tfor\nevil") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js
index 192acacd0d1bb564d808ce105f265d177a03bc5d..c6a63358aa5cccb3c8d45e9e58349f9ee8d4f81c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js
  * @description Execute /\B\w/.exec("devils arise\tfor\nevil") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js
index 50cd96c7a3de48a90ef229987668d2597958f888..b60057fbed7cda16413adb75bb8ecdf17ec0012b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js
  * @description Execute /\B\[^z]{4}\B/.test("devil arise\tforzzx\nevils") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js
index 6e7b00fe3bf20c6140974561c0bdf28df4d4e972..c19aad65b389f5473c1bb6ab4b6d8672db5b8a2f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production Assertion :: \B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A4_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js
  * @description Execute /\B\w{4}\B/.exec("devil arise\tforzzx\nevils") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js
index fd31af2f3a17c7f409cc4d2c9910d3fa4f34f38a..f8fb83ed358166f61d2c80ec5679885eaef32777 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since assertion evaluating do not change endIndex repetition of assertion does the same result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A5_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js
  * @description Execute /^^^^^^^robot$$$$/.exec("robot") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js
index 1a3be4156dac56cc46130f053260be4cc47d6196..e63b1666feb5b0568046b25816cc673424b68512 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since assertion evaluating do not change endIndex repetition of assertion does the same result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A5_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js
  * @description Execute /\B\B\B\B\B\Bbot\b\b\b\b\b\b\b/.exec("robot wall-e") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js
index ae5bc55a1d2f7a6db88997de46b1aec1ba0aba3c..688884379ea6f3917e3fa29878b4757c6b9e2107 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Assertions in combination
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A6_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js
  * @description while asterix is non greedy it is run till the end because of dollar assertion
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js
index c2e72dbb973be6ea1f15a9e42236aa1712904b03..a1e4818c9cf573049c0597bd4b2d430a47fb4fa6 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Assertions in combination
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A6_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js
  * @description Execute /^.*?/.exec("Hello World") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js
index 762ed79cd17224d49c5524c3ae6a530e9cf5d3f2..8a1f3ad38a3802f97cc7d43ffdc5bc6454e32365 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * Assertions in combination
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A6_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js
  * @description while asterix is non greedy it is run till matches end or colon
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js
index 5f06e0981d257b342eb474f90c496d919852ebbc..08cd42f7858a0e59ac375df6920ed77834bdc725 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js
@@ -4,7 +4,7 @@
 /**
  * Assertions in combination
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.6_Assertion/S15.10.2.6_A6_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js
  * @description Execute /^.*(:|$)/.exec("Hello: World") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js
index 9655de7e0eaf4de77dc55791b144053510e9a43a..2fefde618e17df08d5393fcc2258688ee66e5357 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js
  * @description Execute /\d{2,4}/.exec("the answer is 42") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js
index 078731d0784de4632f1e7116aaf23335cc760aa7..d141f3d65eb45215a15524af600aabd96616826a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js
  * @description Execute /b{0,93}c/.exec("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js
index 89263f7777e9e3e1ad0d845758595325852146f0..2470bcfc7cabbd01d9d37e65fbd0ee90249edbbb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js
  * @description Execute /bx{0,93}c/.exec("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js
index c1e40af55389fe533d15bb8ca78c141e43eba4fa..c61c55d35f691a7fbc3db3bbfb58af54d010cc92 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js
  * @description Execute /.{0,93}/.exec("weirwerdf") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js
index cca99f56b38cafc7db9aceceee4a19ae01d46227..b61f802ebaa499934c2defc66ad9371a6b9cfed6 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js
  * @description Execute /\d{2,4}/.test("the 7 movie") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js
index 86254b5fe37b24edcd51afc69ef629d908539a7b..83ffab217b450be581d58e722aef34207b22581d 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js
  * @description Execute /\d{2,4}/.exec("the 20000 Leagues Under the Sea book") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js
index e176dc00b5c824499ed10a7d23767427e619ed59..8ae84c992e7c29c93a63c85231552dacb0baff70 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js
  * @description Execute /\d{2,4}/.exec("the Fahrenheit 451 book") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js
index 35f43080a47e4c0356c00e3b8776ddef997d3e16..25d5d368bbc7db047616d50b91f58824ab7bff12 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js
  * @description Execute /\d{2,4}/.exec("the 1984 novel") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js
index 33da087881deeb9af09eb7cc352baa33fd3a5335..bacc091422549d77a250e3f9c7b71adefe25aa15 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js
  * @description Execute /\d{2,4}/.exec("0a0\u0031\u0031b") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js
index 76aea7759702940fbaac4e9bc91f1202eb81881a..239d624fae69a95087c965620833d9bc62fa9a93 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js
  * @description Execute /\d{2,4}/.exec("0a0\u0031\u003122b") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js
index f87a7476a6a8b244e6e6e243eab3743da3160191..5b9d406e7b4c9b58f0ea27fa03587ffe223c49ca 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js
  * @description Execute /b{2,3}c/.exec("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js
index 39d133a6946e7eed2c0a6b0cfa3cb985c37d9415..14a6bba247f8b98d91a5f0e82a9ff0c9b270c68b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A1_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js
  * @description Execute /b{42,93}c/.exec("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js
index ad2449bd981f7c790814eee5ec00c614f620050f..0758297ca827ed16909c375bedca4d2563bf2dc1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js
@@ -5,7 +5,7 @@
  * i) The production QuantifierPrefix :: { DecimalDigits } evaluates...
  * ii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A2_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js
  * @description Execute /\w{3}\d?/.exec("CE\uFFFFL\uFFDDbox127") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js
index c8f0235b3da11802622d1ad94a8037002fc75ed7..0bd93de401e7236c8611b15baa49402ac2f33333 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js
@@ -5,7 +5,7 @@
  * i) The production QuantifierPrefix :: { DecimalDigits } evaluates...
  * ii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A2_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js
  * @description Execute /\w{3}\d?/.exec("CELL\uFFDDbox127") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js
index 8fd01f97bf0de33924104ebdb832c51633e85f53..ea5542af2289487ea93ad3a74d11829e29d6454b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js
@@ -5,7 +5,7 @@
  * i) The production QuantifierPrefix :: { DecimalDigits } evaluates...
  * ii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A2_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js
  * @description Execute /b{2}c/.exec("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js
index fa09b8c6fbad2baa855a98bf20eef1074b7fa187..9f70d357392a2a091573033b51024a7431450285 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js
@@ -5,7 +5,7 @@
  * i) The production QuantifierPrefix :: { DecimalDigits } evaluates...
  * ii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A2_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js
  * @description Execute /b{8}c/.test("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js
index ec59506a89903e76cbf8d33ba2c3f52d481d86c0..2b252a2c411b6fec6b02f61c01589aa1c55ab7c3 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js
  * @description Execute /\s+java\s+/.exec("language  java\n") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js
index c0288b7530665d64f7bea83d5ecf9d26c2f61de1..94d161b67912b8b1177304f99b4f9a800bd6bad7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js
  * @description Execute /o+/.test("abcdefg") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js
index 71b37c1b1d2be3823bc583d5221df5b6c2f95395..24eeaf962434df380e76bfb3daece137ede62079 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js
  * @description Execute /d+/.exec("abcdefg") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js
index 996a4ae80c128a8e178e8e4fe1fd924e92948443..761c499134d10aacef8715b55a6f7f4c712c1ce6 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js
  * @description Execute /(b+)(b+)(b+)/.exec("abbbbbbbc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js
index 5a346784a237d3d1a7c4c635eed1f38863798d54..70f8e1afad3c2eea7aaf63a3db655bec7bb68895 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js
  * @description Execute /(b+)(b*)/.exec("abbbbbbbc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js
index ea86947184d9cbd1392093c99240945b37d5fdab..d1e713f9a5cb37aa48e0c2e88ba7d42d95390d10 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js
  * @description Execute /b*b+/.exec("abbbbbbbc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js
index 59953c6d2fd39d65b278e33ec7cc8c081dff03ae..648531c41a5d396142bbd455b6a7f10e61c70047 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js
  * @description Execute /\s+java\s+/.exec("\t java object") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js
index b546a4d51b854f1470a19835f77671d59b4eaf95..149f3c98ec5fa00aa4f8a5e35f5e277f1fb0a3ed 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js
  * @description Execute /\s+java\s+/.test("\t javax package") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js
index 46d44d6c680045647c2988810c934e056784d2ce..1d566b277c5e8ac67b08fd568b6e5d0e255afcf5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js
  * @description Execute /\s+java\s+/.test("java\n\nobject") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js
index f50674ed9244a24dbe4ce0653c6f37f95907922f..0fb67ae6a510301c54bb573fce0d335b7fbd0cc2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js
  * @description Execute /[a-z]+\d+/.exec("x 2 ff 55 x2 as1 z12 abc12.0") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js
index 49a824d93e684859fa9f863333a930d0eba7f785..f7811bf4a5db495eed87e059dadf02cfc2716e2e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js
  * @description Execute /[a-z]+\d+/.exec("__abc123.0") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js
index c048c5995804d5bec3ed0cedaf8f655da0c58c60..50df9d4c8314d5f6eca244befe0da69a55cb3fa7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js
  * @description Execute /[a-z]+(\d+)/.exec("x 2 ff 55 x2 as1 z12 abc12.0") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js
index 889db387fe3d5cdff4c6e1d31b9d406ae0aaa1f4..f958378580a60638d01b34ccacfcb9fdc42c40c7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js
  * @description Execute /[a-z]+(\d+)/.exec("__abc123.0") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js
index 4f1e24867b86894e0b136875db48954988a77a88..2c8311931919e9d5198f065e5d9d7d0f045fb7fc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: + evaluates by returning the two results 1 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A3_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js
  * @description Execute /d+/.exec("abcdddddefg") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js
index 5b7e810e730b5c08079e54db79df303cc170150b..a0d48de9a29adf37ed6fe4e44d7d9e8bf7d9572c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js
  * @description Execute /[^"]* /.exec('"beast"-nickname') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js
index f7c3cddf635867cc9122dea582524213509900a9..c39a9251333190b71732ab617869507ab8bc309b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js
  * @description Execute /d* /.exec('abcddddefg') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js
index c66d2e57d906d40ec1002c7f1f3d641152470a46..3c17990db23418b3313033ef3e6bfaaffb182c5a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js
  * @description Execute /cd* /.exec('abcddddefg') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js
index 5cf308c6192b346ba5ba6e53e99c8a135208af3b..a8401083e18046e081520dbcab0b7ef344db7d0c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js
  * @description Execute /cx*d/.exec('abcdefg') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js
index 1e9e9c83b51a62789360557e78092993f97a5bbd..b0d1f28e07cb7dade0283e1dfca2eb13d1599058 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js
  * @description Execute /(x*)(x+)/.exec('xxxxxxx') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js
index 9c789eea8c61f22079ff402abe52ad3f8c1d07cd..ad6b7d77e2cac12327a8afa7748d4a9e2dc85dc7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js
  * @description Execute /(\d*)(\d+)/.exec('1234567890') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js
index abd694a377f367f100ae057a5c7125be06b24e50..362003a82133528a1cf7dd556aca1a554d8c15ae 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T15.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js
  * @description Execute /(\d*)\d(\d+)/.exec('1234567890') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js
index edd9eaef7934edf96e39cfea0c021802c0a29be6..a2e4c965be71285b5abd8e27c7efa381860cb2e2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T16.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js
  * @description Execute /(x+)(x*)/.exec('xxxxxxx') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js
index 2ae064af2cbe12462b13cc35a33120eec8805fcf..5e8861610a3b3a03b08dfb29dbc425c97d0a7e2f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T17.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js
  * @description Execute /x*y+$/.exec('xxxxxxyyyyyy') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js
index f9224efddf251c6ffd2c5fcbd76de0ef6e0d34f2..330315ad388f67ad87a2789c149dfb28ca7fda53 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T18.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js
  * @description Execute /[\d]*[\s]*bc./.exec('abcdef') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js
index fd420a885164f78930f14b5ef680f1f5801f49ed..0818eca6b138695296a63aed9c0686fc4f572dac 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T19.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js
  * @description Execute /bc..[\d]*[\s]* /.exec('abcdef') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js
index c8ef0efda4f9c04efe09eb3b9900aa610e3bbe39..146fc23f9d33f843d8c975fe457ccb0d911fe095 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js
  * @description Execute /[^"]* /.exec('alice said: "don\'t"') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js
index 0bb927459eb34c8274d8a3105f125163735f203b..11b5462c72d41e92643c84008bd2ddf933339e09 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T20.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js
  * @description Execute /.* /.exec('a1b2c3') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js
index da56d85a9df748e38896a0d3d771fe315266aba9..84bf97034eb95214e7da9d0afb87c0885ff63222 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T21.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js
  * @description Execute /[xyz]*1/.test('a0.b2.c3') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js
index 5e9e6f719a3b4e713fe838d52f21ec307a8fc2fd..6d7ffaf717de61590e54e933b15b10700d53b292 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js
  * @description Execute /[^"]* /.exec("before\'i\'start") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js
index 56cd6baf59f3ee0bd5bfe836e3d8b363b73d5363..4f4ca9ef5d1b18c4999169ff823f1c8c136cdea3 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js
  * @description Execute /[^"]* /.exec('alice \"sweep\": "don\'t"') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js
index b8942ac98c24caabe63d6203e813e99136d81834..61420275b14c6a6b60fc68c97b14fb755bb3e34b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js
  * @description Execute /[^"]* /.exec('alice \u0022sweep\u0022: "don\'t"') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js
index d703ae0c699d56e9673d7b6228b38daee5bc688e..362dbdd6283cccf34bc6246469002e6e59ade9c1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js
  * @description Execute /["'][^"']*["']/.exec('alice \u0022sweep\u0022: "don\'t"') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js
index 357e2252df1f0d747c5681494aa30e9dbbeb5536..8fc87a83f23f4ded727dc39fdc141ac60b020c2b 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js
  * @description Execute /["'][^"']*["']/.exec('alice cries out: \'don\'t\'') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js
index c8696bc87f859aa4b4043f41ec8d318eeb297180..840c044e026093e600b60a880f0956956e040094 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js
  * @description Execute /["'][^"']*["']/.test('alice cries out: don\'t') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js
index 72726ee387a980720e737b90b7f6cf2c80cb9b75..836f76f8bf0219fc796994a3a6b07be18b342dde 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: * evaluates by returning the two results 0 and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A4_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js
  * @description Execute /["'][^"']*["']/.exec('alice cries out:\"\"') and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js
index a64a76882a85100ed80821b5a84234637e947783..035a62b278a8e15a6af7e9d7707e6285312773cb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js
  * @description Execute /java(script)?/.exec("state: javascript is extension of ecma script") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js
index 38f3d7f94d825a2a4acce4adbadb7b1bf3a39d26..23224d09cde5f927eeb7ce6f11274cf6906842e4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js
  * @description Execute /ab?c?d?x?y?z/.exec("123az789") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js
index b77d3444d5c709d31a73b53ee9a36901219da804..f9396a6a302bfd9832865dad3ee50e86cb1fefcd 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js
  * @description Execute /\??\??\??\??\??/.exec("?????") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js
index f4f2a5055e890a429f977b3bd3e95a6129754463..db97a462ffbce00da876786bc538c63cf1cc7451 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js
  * @description Execute /.?.?.?.?.?.?.?/.exec("test") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js
index a8fe4df447ebef618fbb22ad03f4e48799648c5d..c30a69199b1da67b513767b68fc946b9bf177ed2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js
  * @description Execute /java(script)?/.exec("state: java and javascript are vastly different") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js
index 371451ad63325d569ea20d38ba1eb50cd7c54096..3e84feb226bf3621b301f4a2d7c254138cb4713e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js
  * @description Execute /java(script)?/.test("state: both Java and JavaScript used in web development") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js
index 63e7a02b46fb5b151dacc2605a220f44c1627651..0f418f37c71c550c74541bf819c4658a80607b03 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js
  * @description Execute /cd?e/.exec("abcdef") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js
index d92b2361179e462079aa72c85511d67295177fc0..78736fba7e1fcb882b0c96a704d3eae037bdb2e7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js
  * @description Execute /cdx?e/.exec("abcdef") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js
index 73d5a438631ab25fa2d08e6ed7aa96660df9bb69..5d50c362f739d2bc48692815858bafd974594dba 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js
  * @description Execute /o?pqrst/.exec("pqrstuvw") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js
index e4d17620730a4973aa134869ab616d7d1526189d..5714b2e76dee17caf01a8e0989a158352ecabee0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js
  * @description Execute /x?y?z?/.exec("abcd") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js
index a250b7d4ad4ab7767c9fa4d9f248d5cd56e0f3e1..e50dc6179892da6e07fa8e07a26ca09ccb6443bb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js
  * @description Execute /x?ay?bz?c/.exec("abcd") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js
index f62a8b4e094995716a1f613f671bf51d8c8e1136..2f6b84ea883c774a7560fca80a76e1e0c4742155 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js
@@ -4,7 +4,7 @@
 /**
  * The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A5_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js
  * @description Execute /b?b?b?b/.exec("abbbbc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js
index d188ef1330474b80b722afffd4803bfcb07db2c0..02646ecafadc2928845bdb23436ec9f6344bf78a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js
@@ -6,7 +6,7 @@
  * i) Let i be the MV of DecimalDigits
  * ii) Return the two results i and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A6_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js
  * @description Execute /b{2,}c/.exec("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js
index 6878b314e55b4305edcdfaae0ba1c05866430a88..bf2d2e8ded165dc365ffeb28483acc92e350ecab 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js
@@ -6,7 +6,7 @@
  * i) Let i be the MV of DecimalDigits
  * ii) Return the two results i and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A6_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js
  * @description Execute /b{8,}c/.test("aaabbbbcccddeeeefffff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js
index 187c7427d6fd5290511175a10d6c98a52f56fb2e..99966c76562b3dab78da3bc2bd64acd3e3003103 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js
@@ -6,7 +6,7 @@
  * i) Let i be the MV of DecimalDigits
  * ii) Return the two results i and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A6_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js
  * @description Execute /\d{1,}/.exec("wqe456646dsff") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js
index 240a097f801e0d0d3824eea84d0596f3cdc7a9dc..0d8a9ae5666f9098053263d1e631ad2d5509b71d 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js
@@ -6,7 +6,7 @@
  * i) Let i be the MV of DecimalDigits
  * ii) Return the two results i and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A6_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js
  * @description Execute /(123){1,}/.exec("123123") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js
index a1a0508974043b1dd10832106e46bc8d167130ad..5143089435e5fdafece5b9f9c04729fe9d0299f2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js
@@ -6,7 +6,7 @@
  * i) Let i be the MV of DecimalDigits
  * ii) Return the two results i and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A6_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js
  * @description Execute /(123){1,}x\1/.exec("123123x123") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js
index cc4261cb7815cb8b2aafeb9d2a7071b264793633..cdc5ba6cdbff70ca1f243998523245886fd3334c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js
@@ -6,7 +6,7 @@
  * i) Let i be the MV of DecimalDigits
  * ii) Return the two results i and \infty
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.7_Quantifier/S15.10.2.7_A6_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js
  * @description Execute /x{1,2}x{1,}/.exec("xxxxxxx") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js
index 1d762ac193762913573ff7be30cceb5a5363dcc4..8765743cea1c4d3a9ee4c3ac3bae9959eac460df 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.
  * If Disjunction can match at the current position in several ways, only the first one is tried
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js
  * @description Execute /(?=(a+))/.exec("baaabac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js
index 3190af09fda5cec9424afbea3bee4a8ff4bc90fc..f38bd22730b482b9f4a8430ccedd07043e350ea8 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.
  * If Disjunction can match at the current position in several ways, only the first one is tried
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js
  * @description Execute /(?=(a+))a*b\1/.exec("baaabac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js
index d46f28ef17664791ad88e331376eb27009e05b02..d379104299b5d782ddec721f51333cd15bc74361 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.
  * If Disjunction can match at the current position in several ways, only the first one is tried
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js
  * @description Execute /[Jj]ava([Ss]cript)?(?=\:)/.exec("just Javascript: the way af jedi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js
index eb3adc73fa62677adc050bf8cafc1f6f05821b6b..76f486db68b4a4a9dfa8067a3e9111e62607fcb0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.
  * If Disjunction can match at the current position in several ways, only the first one is tried
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js
  * @description Execute /[Jj]ava([Ss]cript)?(?=\:)/.exec("taste of java: the cookbook ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js
index 6a3f5fc0dfed12aa4229d3de1339f2feb16186a4..b4608e6e0b2f2f5f8fe23c34dfee995a3074e7d5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.
  * If Disjunction can match at the current position in several ways, only the first one is tried
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js
  * @description Execute /[Jj]ava([Ss]cript)?(?=\:)/.test("rhino is JavaScript engine") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js
index e63d97120f2faf830b2da110a97c847836893236..a080c09335d9ac97462b122c850b606cbf197cbb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js
  * @description Execute /(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js
index b651a29eafa9b18bd0bf3e8745411b0847c97924..0929bb895c6d6eb9af36bbbc9f8dae7a9d6b2d1f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js
  * @description Execute /(?!a|b)|c/.exec("bc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js
index 5fbd2186f34e865cf29a5be3c74eeecfdf7c9b52..636355d9abe93a4615f04e3975cf51d88557a2a7 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js
  * @description Execute /(?!a|b)|c/.exec("d") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js
index d20f9ed4baf3ce127823200d3bef887ab9e78fd3..887d7a9995eb199fd8e4e31f1838756b79a01a51 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js
  * @description Execute /Java(?!Script)([A-Z]\w*)/.exec("using of JavaBeans technology") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js
index 4b2c6c9dc380a8973cfb9158f055dba7dd4572f7..9e0624e310c61bb9068beaac6d8f2fa7c5747578 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js
  * @description Execute /Java(?!Script)([A-Z]\w*)/.test("using of Java language") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js
index cef705ed1e701cee23d9a749c16b9a1f947bec5d..317169ec949614764026083b1c28d374c4494efb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js
  * @description Execute /Java(?!Script)([A-Z]\w*)/.test("i'm a JavaScripter ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js
index a237a0a5254b73912776c0205bc34c3db331b9f0..39b842b00f2ded0d3b4cba32003d2568b73cadb2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js
  * @description Execute /Java(?!Script)([A-Z]\w*)/.exec("JavaScr oops ipt ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js
index b63584f36213eac1c11883422add49b13b3a2517..ab3efd17d472eb3bbc71d84d6e0ba470e5ba1a45 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js
  * @description Execute /(\.(?!com|org)|\/)/.exec("ah.info") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js
index 1bcfea078019c394a0da96fe5d30da87a98675cb..0e2766238521d5c6f960fcb65808c59fe3c98705 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js
  * @description Execute /(\.(?!com|org)|\/)/.exec("ah/info") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js
index c38b765145dd1293cf2ab6f0b4dff7de73810b8f..317da7d47e264f9ccd3bb6ea96280f0418824472 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js
  * @description Execute /(\.(?!com|org)|\/)/.test("ah.com") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js
index b16094bec39e63f86743f9b1dea105bb7caacd4c..008d4ccbec60f10be28c46a39a2f691309b4f216 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js
@@ -6,7 +6,7 @@
  * In order for it to succeed, the pattern inside Disjunction must fail to match at the current position.
  * The current position is not advanced before matching the sequel
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A2_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js
  * @description Execute /(?!a|b)|c/.exec("") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js
index 042b7b002e437228dc80adecac13be7b9923832b..9e6e4edd282c637734b7cfd1b3681c068d18fed9 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js
  * @description Execute /([Jj]ava([Ss]cript)?)\sis\s(fun\w*)/.exec("Learning javaScript is funny, really") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js
index b62aecfe9853d06dbc9fe48435b457009332ad72..b09dcdd4a72638abc3540a25da93f7113baaf7dd 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T10.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js
  * @description Execute /(\d{3})(\d{3})\1\2/.exec("123456123456") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js
index 1017c2e3a0f7a74b6062f53b2404b6baea16548f..7aa61c013edca3f05761f2f018be652d3fc5b2fa 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T11.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js
  * @description Execute /a(..(..)..)/.exec("abcdefgh") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js
index 609d6e200a4419afc2132f39683cc6323311d101..cf8b9fc1c6661725e63083c7c6fe3d5a521969e8 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T12.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js
  * @description Execute /(a(b(c)))(d(e(f)))/.exec("xabcdefg") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js
index 65b3f9e3c401d7bd841380a5f69a7b1f9935c638..a2ab53fbe20bd5bbeed580d22c605115a59592db 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T13.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js
  * @description Execute /(a(b(c)))(d(e(f)))\2\5/.exec("xabcdefbcefg") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js
index 4e5d4805432b4b61001c4739fd04fa5155899390..d6d74fa6f10c8fa31ed4462f75ef66ca868d0002 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T14.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js
  * @description Execute /a(.?)b\1c\1d\1/.exec("abcd") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js
index 3bfcb87a39b40528ec28d6ad35d2a77d405af1f7..93c45428733e21ea182aba2783fba9b2e6a6bd6c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T15.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js
  * @description see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js
index 3fd2c65d32b7f4254a56e4e2ee1da86cd8f62211..750b6d1514590578cf1aa1033e34398be8fada4c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T16.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js
  * @description see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js
index c8a0f1729b607c624419ffd13dca7ac540a1c44f..be4430121019a34742a7c8abd0b020aa0f7c0bbb 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T17.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js
  * @description see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169497
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js
index 685a624e542da89ede5ee6b9c4f73414c7acfa34..976bf0b86de68bd3813a186c28055015b8b36253 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T18.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js
  * @description see bug  http:bugzilla.mozilla.org/show_bug.cgi?id=169534
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js
index 5f8ad467fea632bbc78259f4ba526d9c09f75553..99502fcd342b7d40a0274cdbad10a3e7cb05e615 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T19.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js
  * @description Execute /([\S]+([ \t]+[\S]+)*)[ \t]*=[ \t]*[\S]+/.exec("Course_Creator = Test") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js
index b47c0f56dd0d640bfeeae698e562eeee87964f50..9583bbe347dc090239c24bdf517b010dbf3a874f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js
  * @description Execute /([Jj]ava([Ss]cript)?)\sis\s(fun\w*)/.exec("Developing with Java is fun, try it") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js
index db812fb8442f1a2abaf7a6e97981d23c30d1fc22..3a64abf763e8742776553c9b198af1a426dfcf88 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T20.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js
  * @description Execute /^(A)?(A.*)$/.exec("AAA") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js
index 1ce8ee6d6a31a5b699636467d872e5236a44ce5b..08de79e152edb7999abd81b9f3cf24013ae00c61 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T21.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js
  * @description Execute /^(A)?(A.*)$/.exec("AA") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js
index 4370e36d3059e6c497c8ca8a693577e8eded24dc..2bfc065c08528d2ef9320898b1826a1e89ca9fb4 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T22.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js
  * @description Execute /^(A)?(A.*)$/.exec("A") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js
index f6624deb64694fc2c565a28ad61ba779f843fc19..bb8144f699da4d08afc6b38284cb33a36a9555ff 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T23.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js
  * @description Execute /(A)?(A.*)/.exec("zxcasd;fl\\\  ^AAAaaAAaaaf;lrlrzs") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js
index e91d96580f5b6fdd1eb1de8980c35de9e37f799f..62ff1f2a2512e33d72679a236a79bc6e46db80a3 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T24.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js
  * @description Execute /(A)?(A.*)/.exec("zxcasd;fl\\\  ^AAaaAAaaaf;lrlrzs") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js
index 5d3cef12bea95fa2cde46b59a19e3293213d2690..f8883bc510808dc5f467c0ae025f52d82acce534 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T25.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js
  * @description Execute /(A)?(A.*)/.exec("zxcasd;fl\\\  ^AaaAAaaaf;lrlrzs") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js
index 9c9ea772acb7770d600386ac224e590308b00e7c..9f0953534b5d96aad8d9228d204ce58b7812aed5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T26.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js
  * @description Execute /(a)?a/.exec("a") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js
index 21dcd5016cabf78595f2b19404c9c7b7bd5da445..033d917213a6365cf8b742541055b041893f64f5 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T27.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js
  * @description Execute /a|(b)/.exec("a") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js
index 4bb2e24071e77c7feaf34b96ab08afb5816698d0..304e053e39713dd125a0820fd989d9165f45aafd 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T28.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js
  * @description Execute /(a)?(a)/.exec("a") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js
index c929cf4a83f85f625efa2ee79ec7bb6a44d4b64c..a17dc6b8beb61d7c4c66430462e99e4875e3cdb0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T29.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js
  * @description See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js
index 05b00e17a8ccf703ed516cacc3958d3c6037fb53..2ad172e72808a7e1d6948b802dcc08c48c235557 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js
  * @description Execute /([Jj]ava([Ss]cript)?)\sis\s(fun\w*)/.test("Developing with JavaScript is dangerous, do not try it without assistance") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js
index e059da3909d7e6e1d93db5114d97202f4652d7c7..1b0c17a0ef628ea9cdcdeb0029dde21110625859 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T30.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js
  * @description See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js
index 0b8e98e5a401582f2992d95b47c9cc9892de6da7..f19455475f3bdfad72130cba02af57b14f041cd2 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T31.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js
  * @description See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js
index 59ac92321c30b9c9c28f4126f7820cbe5bef97ae..76d781afb9ff3087b1c7ab115be3a3885bc51239 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T32.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js
  * @description See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js
index 679dcadaa523e5da3c62b235a7fd9e0317b6d22b..bcbab6c9c772c836d2c8d707c90227857a8a61ef 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T33.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js
  * @description See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js
index 83e198b92c7673430d323a12a53b94104fad02cb..88634c5e3c6f88bb7266377f21ee535221627d3d 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js
  * @description Execute /(abc)/.exec("abc") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js
index 6a70d3ea028e1277fc858af6f240b7b8c09089eb..4335f42874f85952fc7d82b3c0663a4dacf59297 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js
  * @description Execute /a(bc)d(ef)g/.exec("abcdefg") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js
index 7396d4f1ddfca2d5647a2f20545079d88edfd2fc..51554db84b2232baadf4e4722d900690e0f9170a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js
  * @description Execute /(.{3})(.{4})/.exec("abcdefgh") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js
index 81693f156c159f69f80b7e233f6878ca3e2155cf..9617ff958aa4d9cede76f952ab1b8f0e1b12a3e0 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js
  * @description Execute /(aa)bcd\1/.exec("aabcdaabcd") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js
index 82ba95ee9142c802f43e2b2e5fcf91630c67af1f..5b3fa90507305d1f50deef50c4673ef41026ae83 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js
  * @description Execute /(aa).+\1/.exec("aabcdaabcd") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js
index 3a89c7a66d876452ab84f67f4e94ef7b24417e12..d8d5dbce6743aabf949b5fc3588d706c84fb97bc 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js
@@ -7,7 +7,7 @@
  * referenced in a replace string,
  * or returned as part of an array from the regular expression matching function
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A3_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js
  * @description Execute /(.{2}).+\1/.exec("aabcdaabcd") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js
index 3ffaf282d0fdc8a238707a64bd53597a372def1c..7e3fd984c54d76c78110b296727d563535525d36 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js
  * @description Execute /ab.de/.exec("abcde") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js
index ce8064c869b02f157f261e3778c91df6c435ff77..ccddfc344554d87095e65f742db75af5309df493 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js
  * @description Execute /.+/.exec("line 1\nline 2") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js
index 8f80e9506bce8644266b6cbab9af782746a929dd..cd72ad8dad2c8b403693629bd1ca5a644850864e 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js
  * @description Execute /.*a.* /.exec("this is a test") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js
index f6185028a10741731f7975ce2ddaec0e1c5f2bae..63f02fd4a0365a393ac3107fc7a24038795ed8b1 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js
  * @description Execute /.+/.exec("this is a *&^%$# test") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js
index a3e018506c2d048cd9682c0013cc94261e99504a..eafdb66f66db7ce7e653b33dc5a159380f5d4943 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js
  * @description Execute /.+/.exec("....") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js
index d216f0a9985106a88248c482a1c6f49a257d1076..fac61d3a74931ec5c1f3bf334d5acc5e58964a16 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T6.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js
  * @description Execute /.+/.exec("abcdefghijklmnopqrstuvwxyz") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js
index 86f85e1a8d7ab13345dfd5514039ca0606b6a85e..73c2343ba64ccf56faa4525fa2987832de8835ca 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T7.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js
  * @description Execute /.+/.exec("ABCDEFGHIJKLMNOPQRSTUVWXYZ") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js
index e9e86e224a8cc19edffc93b1ed6e0a2a52e07747..5b1fec20d4624af87da5e3c6a0073dda92d8d067 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T8.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js
  * @description Execute /.+/.exec("`1234567890-=~!@#$%^&*()_+") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js
index 6ddf02821c6eba7e8a10d6d66852400e60286987..f34f43ad8aadfa759a9b43be1a757e16d886f4f8 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js
@@ -6,7 +6,7 @@
  * i) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>
  * ii) Call CharacterSetMatcher(A, false) and return its Matcher result
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A4_T9.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js
  * @description Execute /.+/.exec("|\\[{]};:\"\',<>.?/") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js
index 29ed0ab56f97bd3c6631463975ecc4079701a450..e3ca1fdcd35189e2b8e71414dc6435a921455d4c 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A5_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js
  * @description Execute /[a-z]+/ig.exec("ABC def ghi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js
index ac77f26c0911028a39cbaaee8280730ff470c399..383fc84765ef9f190288f2748c7c8dc66fe38f30 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.8_Atom/S15.10.2.8_A5_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js
  * @description Execute /[a-z]+/.exec("ABC def ghi") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js
index 368315b025b5c2cb4c2d46d41810d7418b0b7a20..688932566749660a14d13b4c7172c249fe6ed798 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.9_AtomEscape/S15.10.2.9_A1_T1.js
+ * @path ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js
  * @description Execute /\b(\w+) \1\b/.exec("do you listen the the band") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js
index a6d787df323503e460346ab85775e877a8456d8a..663096734e69b508252c73d1218b6704d092054a 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.9_AtomEscape/S15.10.2.9_A1_T2.js
+ * @path ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js
  * @description Execute /([xu]\d{2}([A-H]{2})?)\1/.exec("x09x12x01x01u00FFu00FFx04x04x23") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js
index c2740c1b2c2b47e8c6fc4a03b6f991a88bc20889..83349b41d2dd6451877e4f8e82012ed7b91b9589 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.9_AtomEscape/S15.10.2.9_A1_T3.js
+ * @path ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js
  * @description Execute /([xu]\d{2}([A-H]{2})?)\1/.exec("x09x12x01x05u00FFu00FFx04x04x23") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js
index 8e60b60575d74b15430cebf5cd3002956248b892..a0d5c885595f6875b4b25c560964b97b8f0e978f 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.9_AtomEscape/S15.10.2.9_A1_T4.js
+ * @path ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js
  * @description Execute /\b(\w+) \2\b/.test("do you listen the the band") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js
index 499954449ea2ee3c5e96420869c03ec2d206602c..074fb95bb0f1c5df3352e28891147cbabd072413 100644
--- a/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.9_AtomEscape/S15.10.2.9_A1_T5.js
+ * @path ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js
  * @description Execute /(a*)b\1+/.exec("baaac") and check results
  */
 
diff --git a/test/suite/ch15/15.10/15.10.2/S15.10.2_A1_T1.js b/test/suite/ch15/15.10/15.10.2/S15.10.2_A1_T1.js
index 270dd2c6b0b56c56a8efae025780e3a5f44fd4e9..9ba10e4b5d9157fbdaacc530edb73d52e4206138 100644
--- a/test/suite/ch15/15.10/15.10.2/S15.10.2_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.2/S15.10.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * XML Shallow Parsing with Regular Expressions
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/S15.10.2_A1_T1.js
+ * @path ch15/15.10/15.10.2/S15.10.2_A1_T1.js
  * @description See bug http://bugzilla.mozilla.org/show_bug.cgi?id=103087
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js
index c8efd03ef9f0201d1b31e9a2581e4df1665ed549..de92630d406ff4007806f5e6534f951c6579d2aa 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then return R unchanged
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A1_T1.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js
  * @description R is /x/i and instance is RegExp(R)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js
index c362e7993b85d89c208b5862aa46cef70c4fcacf..243ba2b5b02ca8027e04a131b81f771e26b1aee3 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then return R unchanged
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A1_T2.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js
  * @description R is new RegExp and instance is RegExp(R, function(){}())
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js
index 9b4ec0b18966f379b204f45eb7fcabdc2e94bbfc..c61b7d46658f16e8e79b683502d19e1811676d0e 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then return R unchanged
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A1_T3.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js
  * @description R is new RegExp() and instance is RegExp(R, x), where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js
index 3215daf81e5e2f18fd4351e2b479fdae8c1a866c..3e2ccd992c5ef615b970af26aef18c8e13e8fb76 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then return R unchanged
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A1_T4.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js
  * @description R is new RegExp() and instance is RegExp(R, void 0)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js
index ee23e95fcf5b89daa8f6a35b3116a5701259bd9c..c22e2831a601eb94996cce2fd6223f677df9a545 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then return R unchanged
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A1_T5.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js
  * @description R is /\b/m and instance is RegExp(R, undefined)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js
index 412b6f291f1e80870d53de48d960080688d6a324..6178e6834418f28ced7a20a667ab4401b170fa88 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is defined, then
  * call the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A2_T1.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js
  * @description Checking if using "1" as flags leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js
index d31d95d28bec10745e91ea86a93510ea721748ff..6ff551124610bbc653baa339db82cb7967257652 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is defined, then
  * call the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A2_T2.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js
  * @description Checking if using dafined variable "x = 1" as flags leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js
index 0509eea78181080b8716f9c00a0d4bb070305ad5..6c40db0759973a5f16051cd517cbcefcfe196eb9 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js
@@ -5,7 +5,7 @@
  * If pattern and flags are defined, then
  * call the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A3_T1.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js
  * @description R is "d+" and instance is RegExp(R,"i")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js
index 5f7bbcdab3820fdd287db789502ebfe3ea66a1d9..97330e7a6002c2512ced813cd53ad80f2452b2da 100644
--- a/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js
@@ -5,7 +5,7 @@
  * If pattern and flags are defined, then
  * call the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.3_The_RegExp_Constructor_Called_as_a_Function/S15.10.3.1_A3_T2.js
+ * @path ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js
  * @description R is {toString:function(){return "[a-c]*";}} and instance is RegExp(R,"gm")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js
index 80c4fe8fed254b4503bb287f56de2b6c3f9de4cc..27df5176d84a6b02e2f6ba747bd86c6de7646da0 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then let P be
  * the pattern used to construct R and let F be the flags used to construct R
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A1_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js
  * @description Pattern is /./i and RegExp is new RegExp(pattern)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js
index 4b4330421c650661cf13b58cedd507f63b8089e5..c884417e394fb33977ad226a5f44c6bd3e285621 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then let P be
  * the pattern used to construct R and let F be the flags used to construct R
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A1_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js
  * @description Pattern is /\t/m and RegExp is new RegExp(pattern,x), where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js
index 93442a00dcfba2821f2c26c153c94be5afc2b75f..1152a2dc2c57b1664e0575621c2823d49fc9bf34 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then let P be
  * the pattern used to construct R and let F be the flags used to construct R
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A1_T3.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js
  * @description Pattern is /[a-b]/g and RegExp is new RegExp(pattern,void 0)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js
index 34804f5c4f7e3fc27321b6e07eb3db38796e2bc3..d65e854a23ad57f28b5a04a3e7a3d54ec586462b 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then let P be
  * the pattern used to construct R and let F be the flags used to construct R
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A1_T4.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js
  * @description Pattern is new RegExp and RegExp is new RegExp(pattern,undefined)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js
index 7f630377eeee71deadc81d6cb5e8581b0687a052..22cf93f82f20f90317fe90394c53424e3f86116e 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js
@@ -5,7 +5,7 @@
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is undefined, then let P be
  * the pattern used to construct R and let F be the flags used to construct R
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A1_T5.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js
  * @description Pattern is RegExp("1?","mig") and RegExp is new RegExp(pattern,(function(){})())
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js
index f9e8ad82d9092f1d758f6f09c9a553aa34a6bd84..8d1ccd51ec200450a6bacab3f46923f3fa8e2757 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is not undefined, then throw a TypeError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A2_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js
  * @description Checking if execution of "new RegExp(pattern, "i")", where the pattern is "/\u0042/i", fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js
index 518ccfc71e83d7889ef2e4df1229b100b4da1dea..d75b937112a9b4e95e3a096253a3a590591a5034 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If pattern is an object R whose [[Class]] property is "RegExp" and flags is not undefined, then throw a TypeError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A2_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js
  * @description Checking if execution of "new RegExp(pattern, {})", where the pattern is "/1?1/mig", fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js
index eda112d0721dfdb5886257977ff4ece78eb19485..6516d39d29ea547a1c3499175b5a24348ad9f6c8 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * let P be the empty string if pattern is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A3_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js
  * @description RegExp is new RegExp
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js
index 2ee2abdb9ccb5ea4a454a6f03b74fa4479ee9242..5a55a5564f922fd53ba737c15dbd4f4007f6bd04 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * let P be the empty string if pattern is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A3_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js
  * @description RegExp is new RegExp(void 0)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js
index 9462df8634d6e9feef23bf8c481b5212d6ef927b..87c6c4964a00f95dda50c5d4c5fc30193a003f73 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * let P be the empty string if pattern is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A3_T3.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js
  * @description RegExp is new RegExp(x), where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js
index ada4d3cfaaa9dd72709f0359b250fc1d952e8cc3..ab7839aa7f2120a3287051132958aa3d1497ad49 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * let P be the empty string if pattern is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A3_T4.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js
  * @description RegExp is new RegExp(undefined)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js
index 5e9a4f6fa15ac1ecfe7d8d5d478ab8021fb88e40..e1e26e17710b22f50bbaffddd29a3a9c27cc4c01 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * let P be the empty string if pattern is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A3_T5.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js
  * @description RegExp is new RegExp((function(){})())
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js
index 25beb6b1e406bca1720e4b17e68f98eb0cb06b6a..180f27914313ee6083e52f7d0451f0db51391f79 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * let F be the empty string if flags is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A4_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js
  * @description RegExp is new RegExp(undefined)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js
index d9868027110b1cae4739f44c36daeb96d10cb74e..57980d195709d9c08629222674bde96811e86f33 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * let F be the empty string if flags is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A4_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js
  * @description RegExp is new RegExp(undefined,undefined)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js
index 3c19816daa929b07a66bd8a6fa6be0a95e19bf56..f3b639b5895b9211ec2cdd8aafb0dec66236b61f 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * let F be the empty string if flags is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A4_T3.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js
  * @description Use undefined properties of object as flags of RegExp
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js
index c7ec8c1432c5072c84257bc2329bc8f99e82e428..708757be576e21e93a8cbd93553900af93e062f8 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * let F be the empty string if flags is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A4_T4.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js
  * @description RegExp is new RegExp(null,void 0)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js
index 3f4e19c73b3733d26d043efa999a6c78e606c276..6ad5059ee8c31b24ad1a3fea7acf6187b8065d0a 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js
@@ -4,7 +4,7 @@
 /**
  * let F be the empty string if flags is undefined
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A4_T5.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js
  * @description RegExp is new RegExp("",(function(){})())
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js
index 2e539933e21710fd9cdb114e5a415ec96387a1ee..83601d375c6ea322709944241ba727226c0bf068 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js
  * @description Checking if using "ii" as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js
index a10384a60517efcff67f406dd124331b32b0e32a..eadec7f4d4912110355ce30c7b2e1d54c604f169 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js
  * @description Checking if using "migg" as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js
index c67e048d933b3cc069a068cffbde97e70fe07ac8..c32865440585203c0bed9290a0cad3949e737d39 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T3.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js
  * @description Checking by using eval, try to use eval("\"migg\"") as F
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js
index 10a876b9b1e2ee5097233216d69c8f510fdf03b5..01176ab3a3f7d74da9e0f6848b0cf0094f3aaf38 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T4.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js
  * @description Checking if using "z" as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js
index 21198225b58baeffe4ff7d662ff71900327b9e19..6d472996ac89c4e7c483efd9032c2ba7642653dd 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T6.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js
  * @description Checking if using "null" as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js
index b0fd8f8941e1c4d674acd8e82ce8ff5f140075b8..2e1d7c66b8a965696d18af74809f31c10fa77438 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T7.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js
  * @description Checking if using 1.0 as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js
index 04dc1122e72b4c8f2e74adf2a46e580e5510c370..810e16806fa96fb3e3aec1c0396852a5a9d4bf8f 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T8.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js
  * @description Checking if using "true" as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js
index 7a1f051e38eeff058aa37f7f41e328964c2c7abb..e9d9eb60de1a3a4b3c240be42540c5d0cfc35c9c 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js
@@ -4,7 +4,7 @@
 /**
  * If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A5_T9.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js
  * @description Checking if using "{toString:function(){}}" as F leads to throwing the correct exception
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js
index 2372452dc8fed4045d993ec935243ddfa8fd145c..be360d42f58b7dcf8eecfec238544289c8822901 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A6_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js
  * @description Checking [[Class]] property of the newly constructed object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js
index 09fd83c66d2766662b6ada81d32b1d43e5194f81..efed4fdb9ce8f49836dcbaef662ff31a7dff94a4 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A7_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js
  * @description Add new property to [[Prototype]] of REgExp and check this property of the newly constructed object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js
index bb51c1c44c669fe962fe24f430f6e4aef22e8646..d042a7b8e36d06c9e31f0ef92d2ef21c5fd1cbbc 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A7_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js
  * @description Checking [[Prototype]] property of the newly constructed object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js
index fa34babbcf669527f24417d3837a57a8215bb532..f2fd70c425a98e9dd5178bf141e73ff8882d8002 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js
  * @description Pattern is "a|b" and flags is "i"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js
index 734b00bac4a6df7fc1f5b0e0adec4263b0b62863..62eeb2a6ed06e93ed1c1fef18bd569322f811fdf 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T10.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js
  * @description Pattern is true and flags is "m"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js
index bede5fc743375ff3d135a514b624cdaf001fa7ba..7301cbc1db05400a9bf2dfac63d2038dd1af816a 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T11.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js
  * @description Checking by using eval, pattern is Math and flags is eval("\"g\"")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js
index 49589188ae91a6e86a8e5786a938979814dbda25..c0781778794783441d84a4dc35c2a303803afadf 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T12.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js
  * @description Pattern is "\u0042" and flags is {toString:void 0, valueOf:function(){throw "invalof";} }
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js
index 64596d303d10a0749e3e300224ed443ed84cd837..cf901852d65578f99901c83089269f1bb95cf257 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T13.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js
  * @description Pattern is "1" and flags is {toString:function(){throw "intostr";} }
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js
index f683591f8a365d5708fc62ef01d829ec58c421e1..f6db4abd1725a4f4424a458b86b32ef5b2168131 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js
  * @description Pattern is function(){return "a|b|[]";}() and flags is "ig"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js
index 3165382f633337e1337e7b4f8081c33111f42117..722dfe59ae0d9324aba99561f30d8da1a5c889ea 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T3.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js
  * @description Pattern is {toString:function(){return "[0-9]";}} and flags is (function(){return "m";})()
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js
index 92add870e8f2d7f2eb0c1afcf9c594dd63367b50..1b2e108919229727d73f5e5217031ae95ff4e0a4 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T4.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js
  * @description Pattern is {toString:void 0,valueOf:function(){return "[z-z]";}} and flags is {toString:void 0,valueOf:function(){return "mig";}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js
index 614a7f1a3d7ada44ac59959d55ce016fe8825b67..47e8425901e3c7f8a8bed7e7f131d5e51643ed17 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T5.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js
  * @description Pattern is new Object("abc{1}") and flags is {toString:function(){return "";}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js
index 82756cef308d67e3cf75ac95e6bb1e518400b506..3cec72fbcca02af4f47d02445f97d15f0249ea9c 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T6.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js
  * @description Pattern is {toString:function(){throw "intostr";} } and flags is "i"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js
index f3a7d38c492426ad8a988e75e9fe8af2f3a22899..f68c0d54f6fcb79915cd4f23a7c4966be361c501 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T7.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js
  * @description Pattern is {toString:void 0, valueOf:function(){throw "invalof";} } and flags is "i"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js
index 670461ee3f71574fe189fa410e3a4aa9fcb84a42..bddac87b60bc0282fb9dee00274b010cd1009c50 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T8.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js
  * @description Pattern is {toString:function(){throw "intostr";} } and flags is "error"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js
index 8a70f728431cbc8afc4969e6840042b3d7e1c9a8..991118a4a48e4f0e1585f3424ef87cf39162d3de 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js
@@ -4,7 +4,7 @@
 /**
  * let P be ToString(pattern) and let F be ToString(flags)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A8_T9.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js
  * @description Pattern is 1 and flags is new Object("gi")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js
index 8255ee82922f58ec32609d46eed26150f52eed07..92f5f8115e976aab180f93b412597ad7c209fd35 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js
@@ -4,7 +4,7 @@
 /**
  * If P's characters do not have the form Pattern, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A9_T1.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js
  * @description Pattern is "??"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js
index 5253a2eb72c9961f0478a069cb2ba2c1df1ea5e0..978bfba3d7dff1645c59c454ebd963a850a08d8e 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js
@@ -4,7 +4,7 @@
 /**
  * If P's characters do not have the form Pattern, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A9_T2.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js
  * @description Pattern is "[{-z]"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js
index 687945f5952d93b55458880f77cc4ed2abf4c56c..685c0639e92aab9fb00e0beb73767a4a5f54df7e 100644
--- a/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js
+++ b/test/suite/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js
@@ -4,7 +4,7 @@
 /**
  * If P's characters do not have the form Pattern, then throw a SyntaxError exception
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.4_The_RegExp_Constructor/S15.10.4.1_A9_T3.js
+ * @path ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js
  * @description Pattern is "[a--z]"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A1.js b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A1.js
index 5be710af4efbe8ab5f4c440f7da8a4fb2e998626..f646a39c005ee8c9e4b5ddf7e03b2ad444d9c16b 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A1.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp has property prototype
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5.1_A1.js
+ * @path ch15/15.10/15.10.5/S15.10.5.1_A1.js
  * @description Checking RegExp.prototype property
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A2.js b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A2.js
index 82465636851c460188f78c837588bf7920d6e307..81df593912cab9f28db5bb0e11230dadd96939c2 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A2.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5.1_A2.js
+ * @path ch15/15.10/15.10.5/S15.10.5.1_A2.js
  * @description Checking if enumerating the RegExp.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A3.js b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A3.js
index 62376d6399a2b6b98d67e4a88a5b76f7c95293a8..da1e324701712282343776d68ed1cf967baff3a6 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A3.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5.1_A3.js
+ * @path ch15/15.10/15.10.5/S15.10.5.1_A3.js
  * @description Checking if deleting the RegExp.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A4.js b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A4.js
index 0abe9bf3d52199ef8800fe5dc5f80ca3719eb17c..a1d9df93ac737a2d93178fd21948097cef3b08f9 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A4.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5.1_A4.js
+ * @path ch15/15.10/15.10.5/S15.10.5.1_A4.js
  * @description Checking if varying the RegExp.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5_A1.js b/test/suite/ch15/15.10/15.10.5/S15.10.5_A1.js
index 5976545c43a1b872967fe96fab45ae98245722ae..5e1baa28db3e94e12631e37c590e357f254e172c 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5_A1.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * RegExp constructor has length property whose value is 2
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5_A1.js
+ * @path ch15/15.10/15.10.5/S15.10.5_A1.js
  * @description Checking RegExp.length property
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T1.js b/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T1.js
index a3f583db320bb4ff8b9766198f39d880cc3184a5..78ffce644ab8963bf24f11de77bf811074dae9a8 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5_A2_T1.js
+ * @path ch15/15.10/15.10.5/S15.10.5_A2_T1.js
  * @description Checking Function.prototype.isPrototypeOf(RegExp)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T2.js b/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T2.js
index 37cdf4dc260ce999a7da02c8eb5335bc471345e5..f07b34b75ae7d0f886da69dee77f58175488da91 100644
--- a/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.5/S15.10.5_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.5_Properties_of_the_RegExp_Constructor/S15.10.5_A2_T2.js
+ * @path ch15/15.10/15.10.5/S15.10.5_A2_T2.js
  * @description Add new property to Function.prototype and then check this property of RegExp
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js
index 400a4d30c606075b68dcda4633018a33d47b473b..622178b19ef892687513760468635e5995d05d9d 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.exec.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A10.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js
  * @description Checking if varying the RegExp.prototype.exec.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js
index df76046c943abd21e37800a79ded8b180db809d8..cd7ac8ea6b937669861c9ee0233b10e47588aefc 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the exec method is 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A11.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js
  * @description Checking RegExp.prototype.exec.length
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js
index b2c1adf8ff40d9821a742a6ac67edc9bd249177e..d4177de6abba0612633711f1d86745ce91b4449e 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js
@@ -4,7 +4,7 @@
 /**
  * regExp exec() acts like regExp.exec('undefined') (step 2)
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js
  * @description Checking RegExp.prototype.exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js
index d92e584c69453df10579ba1f0b1631d9fb28b4fa..3820639df43e51003eb9a17477984450abe88267 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js
  * @description String is "123" and RegExp is /1|12/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js
index 2186f633ac41fb13c6a1e5ed867acbb0f954c1bf..9110c8a26f54995c28a4df590cd80284ab4c8b54 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T10.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js
  * @description String is 1.01 and RegExp is /1|12/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js
index 9bba91497e28753623cddb55504a820868f9d440..312afbd527dd9ae15899d3b59c066e02c3cbbac8 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T11.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js
  * @description String is new Number(1.012) and RegExp is /2|12/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js
index b1af03654dfe948e0531bc3e3f4135b60951ba0a..fe8ec74b99eccdfd3173726c9bacdc156aeb21f3 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T12.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js
  * @description String is {toString:function(){return Math.PI;}} and RegExp is /\.14/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js
index 3ca8ffc0043e07c6eebaf713336b9eb9b21ef71f..bb068edaa396e6d2a738e83ada93a7eeb005c7a1 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T13.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js
  * @description String is true and RegExp is /t[a-b|q-s]/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js
index a544473c1e65e70f59892cbd04e42f723c56c28d..c631d5e40ccde22d8f34631e3bbd357c6afa1d0d 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T14.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js
  * @description String is new Boolean and RegExp is /AL|se/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js
index 14c87afb22b5bcbfffdbbc2a54ad241a3f75b9fe..7bed7f1063958cf275e6551853b50d1aa40a8fb5 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T15.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js
  * @description String is {toString:function(){return false;}} and RegExp is /LS/i
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js
index 8e81f1e02648b8bad1c50add7998be63a0dbae2e..4431507ee43a0b6e0cd521f9e181a9519590af06 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T16.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js
  * @description RegExp is /undefined/ and call exec() without arguments
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js
index 9bb1ff22cc9c0af7ca7b32ab899ff63dfb6558da..b66df5954fb563ffdc573e143792bc145c367649 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T17.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js
  * @description String is null and RegExp is /ll|l/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js
index 5f046f48c79362b887f9c97cc1a0595ca9f9a164..b1d5bdaf1b8967cb691cfa92437bfc1f49441b1d 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T18.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js
  * @description String is undefined and RegExp is /nd|ne/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js
index e34296c51a604de04b97cad75f0bb316b44884bf..bf58519230403d3de38d5c268b35fd6e7efd30c2 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T19.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js
  * @description String is void 0 and RegExp is /e{1}/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js
index 326d1a78b2ae4cb592333406063ce9d476917ba0..d910dcfc8fda7d723ce8455b3f5015ec47768f90 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js
  * @description String is new String("123") and RegExp is /((1)|(12))((3)|(23))/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js
index 043c93b6e8f82a26cbbe52187e466c716bd55d4b..c60a6b048587721a45e378e341ba2e0ded0595f6 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T20.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js
  * @description String is x and RegExp is /[a-f]d/, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js
index 4c26ff36c58330f44a17eafd52ab4aef5ed1fc21..2ce04559325319cb5ab0274bc907e1ef30f74a58 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T21.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js
  * @description String is function(){}() and RegExp is /[a-z]n/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js
index a887a59bc78cd8cc59ad7f2282079301bef4cd8a..c2a05cc09ae4e525b27387a2362ed02d3e8a39f7 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js
  * @description String is new Object("abcdefghi") and RegExp is /a[a-z]{2,4}/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js
index d575ff6d94d9c90fc8e5517f90a9301eeeb251ab..07468985e5adcd06461ad74b08ec5ff8acbf6abf 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T4.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js
  * @description String is {toString:function(){return "abcdefghi";}} and RegExp is /a[a-z]{2,4}?/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js
index 88490282ee47b1dafdae11c4f5012532dd6f0746..0efb7b256e1a281578c091f1583f008f0fdc25b4 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T5.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js
  * @description String is {toString:function(){return {};}, valueOf:function(){return "aabaac";}} and RegExp is /(aa|aabaac|ba|b|c)* /
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js
index b2a09fa01bd399ba985aa7e7ce6a43e97e01e265..2444d74bcbd6560958cb190bfc5b60525b94779f 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T6.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js
  * @description String is (function(){return "zaacbbbcac"})() and RegExp is /(z)((a+)?(b+)?(c))* /
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js
index c5b39109b15ee8126c6c2c831c99f69402f134cd..7dbbb81e025cf53e23ae0b4a4f1aeab47e9d43e8 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T7.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js
  * @description String is {toString:function(){throw "intostr";}} and RegExp is /[a-z]/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js
index cc037c4eec36761815dc887197af8c0894301558..7d52b7a714c38f7dbf56c9e08de4a86fc25fec5e 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T8.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js
  * @description String is {toString:void 0, valueOf:function(){throw "invalof";}} and RegExp is /[a-z]/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js
index 31ba0b3e6fb311a66cbd38bc4de2c4fdbe3103c2..f1dd9d5d6156fbd021512d67f79012e91da82803 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and
  * returns an Array object containing the results of the match, or null if the string did not match
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A1_T9.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js
  * @description String is undefined variable and RegExp is /1|12/
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js
index 17a58032b09606c07e4227c0989198cfc4ab6713..ef0e75779dc5f1f84bb24b68b7cf54f7da70185b 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js
  * @description The internal [[Class]] property is "Object"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js
index 13ac176d60b3fc8bdca60535bed748e00d2753af..eb3c0d3025d46eefea3085557445005be3e0ef99 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T10.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js
  * @description The tested object is undefined
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js
index f0ada35815c04ff0e9c01561e3777b5a0c55858b..3ad0c6a369d825e73a3487e7b274cffc047c96ab 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js
  * @description The tested object is Math
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js
index 97ea22015908becb51bc6e23c49a3d09023702e5..d95f43afa1cd94c054953e62389c346b0eb6e147 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js
  * @description The tested object is function object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js
index d780e2218197d5994f49324099746698ca432815..54732989f766b482e2d5dc40ac7df80541b464bb 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T4.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js
  * @description The tested object is new String("[a-b]")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js
index 9f186e4a82fcdb683f44f9421cec30373d4bfd1d..1fe90d769e7733cbc1b2b506749f30ba7e8b7ad3 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T5.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js
  * @description The tested object is new Boolean(false)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js
index 0ed4109b6538cb2673c3f9db2a9d5701513b6073..7ecc6c9efa0afde8e3ec7678f1a6d3fb7f0283cc 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T6.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js
  * @description The tested object is new Number(1.0)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js
index 1de6ccf3ff54791e3d83de6bf4781dc106be567d..1c698ff1d13fcc6d2d203b556799f2be162806bf 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T7.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js
  * @description The tested object is false
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js
index c8678ae7f7f8a5b9d740371db469269e180bdf72..f95548b61ff2a4442f6cbc8fb2af17afd63cba80 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T8.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js
  * @description The tested object is "."
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js
index a606d035994b012c133e07f036dae6ee1334d8e2..ea43ba4dbc9fb63a06d3e9d6b3f8ca18bd9b884f 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A2_T9.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js
  * @description The tested object is 1.0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js
index 9924c6dd90d0cdbfa08dc365f7325954d4a8ebeb..2425d09414f4c3081cbccab44722e77c43e95bc2 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js
  * @description RegExp is /(?:ab|cd)\d?/g and tested string is "ab  cd2  ab34  cd"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js
index a434e32570faa4600299d24774eeabd73912d836..65ba482a65f31ffe9cc9c723e61ff7dd8e38ed3c 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js
  * @description RegExp is /[Nn]evermore/g and tested string is very long string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js
index 066ab63e8a74e5de4e7d1d14482fe9ecf9c3ebbc..d7dab0af96fb7fb51912fe59d20ff352fcec1eb7 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js
  * @description RegExp is /[Nn]?evermore/g and tested string is very long string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js
index fa62cbf34f8ad934bab6b31b7401f4727c8b0b4d..72cac2ed5fe877dd43be7eb237bc63f27aed1412 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T4.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js
  * @description RegExp is /([Nn]?ever|([Nn]othing\s{1,}))more/g and tested string is very long string
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js
index 12f6a86369fc6b0ecb7defb3f7ab97f882527784..1625679e0cdbcbc1e1658fdf5ca5bccaab4905a9 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T5.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js
  * @description RegExp is /\d+/g and tested string is "123 456 789"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js
index 2e308468456e09e4d88630d1bfbf9bffd0ee055e..3ab41a91c75f8ee762eabfa204b652ddb2aa4988 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T6.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js
  * @description RegExp is /(\d+)/g and tested string is "123 456 789"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js
index f9d31397a9e07ecd86764bbf976fd2560927c2fc..1160c0ac0cc8fc6a569f12e06703c98b4f9c0806 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js
@@ -6,7 +6,7 @@
  * If global is true and lastIndex not changed manually,
  * next exec calling start to match from position where current match finished
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A3_T7.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js
  * @description RegExp is /\d+/ and tested string is "123 456 789"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js
index 37dfa8486e71ef2270267991e858c0a8900ddf2c..56d1f7e6261ff303e42424dd36496d4d7907cc07 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js
  * @description Call first exec, then set re.lastIndex = 12 and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js
index cc3f059470341e376952f5d2749849d8b06334e3..0d880dd0fcc44f55fc5d49562f7f85c6cfcd92c1 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T10.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js
  * @description Call first exec, then set re.lastIndex = {valueOf:function(){return 12;}} and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js
index b6d512c11543ced0f668b887c7a9fe6f33149a56..3a8a07ceaca8cf64bbcbc16d6d486b9439cfb807 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T11.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js
  * @description Call first exec, then set re.lastIndex = {valueOf:function(){throw "intoint";}} and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js
index 8700da5a6ea91d9b1d4546121f8ae0b7affac7e7..44ae47514a08b4652e26e2642f8e34c551444b68 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T12.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js
  * @description Call first exec, then set re.lastIndex = {toString:function(){return 12;},valueOf:function(){return {};}} and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js
index 9778dcc64e64a77d4262b5cb271a5518cbec14c5..485c6e7fa2047cb84d6c8171fa6f0244761aee4a 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js
  * @description Call first exec, then set re.lastIndex = undefined and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js
index 21cf9b4284170ff79575e900c55a8597c5401fa7..07daf65eaffdd8a3c83356d6f679ab524721b86b 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js
  * @description Call first exec, then set re.lastIndex = void 0 and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js
index 8481ba8318ca383e79f1568ab32ec59dc998c164..cfdb7a7bda4dfddf24ca774be393f0cc1d7be652 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T4.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js
  * @description Call first exec, then set re.lastIndex = null and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js
index 4b06658607891f960cb22e092feadb4c13db8ced..da1c8bc047837d7472185539e92d5eeb8e746643 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T5.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js
  * @description Call first exec, then set re.lastIndex = x and again call exec, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js
index 17f167bb643bc784b2706bb37338a0479642801f..482bb420fccf79098d8ce145fc5f31054889bfad 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T6.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js
  * @description Call first exec, then set re.lastIndex = false and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js
index 889a87ed225ddf91e1eb2cdf45953f07ad83cbc5..3d08c909800381fa90d39e8ec528b2509ed487de 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T7.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js
  * @description Call first exec, then set re.lastIndex = Math.NaN and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js
index 97e9311be7362d15d47554fca6e51b49110450b6..7d79fd939464ec0563781c6fd4d0097d841b9efb 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T8.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js
  * @description Call first exec, then set re.lastIndex = "12" and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js
index f3bb1a539a96838bfa982f29b01c7f7c43e1d49c..3a001d425d9dac4b7f6be4645344f2e9a0fbcba6 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js
@@ -5,7 +5,7 @@
  * RegExp.prototype.exec behavior depends on global property.
  * If global is true next exec calling start to match from lastIndex position
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A4_T9.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js
  * @description Call first exec, then set re.lastIndex = "eleven" and again call exec
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js
index 46ebc84d4e114965dc008c7514778d44024d13ac..36a518f16b32bb5832028e4ee6fcd43b334d9b07 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js
@@ -6,7 +6,7 @@
  * Let global is true and let I = If ToInteger(lastIndex).
  * Then if I<0 orI>length then set lastIndex to 0 and return null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js
  * @description First call /(?:ab|cd)\d?/g.exec("aac1dz2233a1bz12nm444ab42"), and then First call /(?:ab|cd)\d?/g.exec("aacd22")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js
index bb841312d315a1c5ed4cda42a0ac20c6aa0bf820..8de8ba885b05792ed0e8dc14729634a0ad29264a 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js
@@ -6,7 +6,7 @@
  * Let global is true and let I = If ToInteger(lastIndex).
  * Then if I<0 orI>length then set lastIndex to 0 and return null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js
  * @description Set lastIndex to 100 and call /(?:ab|cd)\d?/g.exec("aacd22 ")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js
index cae17089a1c9b8fbb1319d638d7891f7d31c02d2..7e2d7662678842ad99bb8a1d8ff4f319b488889b 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js
@@ -6,7 +6,7 @@
  * Let global is true and let I = If ToInteger(lastIndex).
  * Then if I<0 orI>length then set lastIndex to 0 and return null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js
  * @description Set lastIndex to -1 and call /(?:ab|cd)\d?/g.exec("aacd22 ")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js
index 295816f17eba18773bfa6d6071146ad538a9bf97..5e71a618cbda4c5dee5db098d8f564275ef071f9 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js
@@ -4,7 +4,7 @@
 /**
  * RegExp.prototype.exec has not prototype property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A6.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js
  * @description Checking RegExp.prototype.exec.prototype
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js
index ba89e3deb455418be5be9f6e8aeecf50cdb6d2f0..7285a2ab1b4e9d5c9b5c0b7806536d52a0948642 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js
@@ -4,7 +4,7 @@
 /**
  * RegExp.prototype.exec can't be used as constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A7.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js
  * @description Checking if creating the RegExp.prototype.exec object fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js
index 90546be99d3f3da4b9c1d4268b0fba42fc32e824..ffe5d7b019a7ef738daef3f1c0e47d6012fdc552 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.exec.length property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A8.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js
  * @description Checking if enumerating the RegExp.prototype.exec.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js
index 2cc66aa5dc151a39025c8fcd676fafbc359b53e8..1e67a212533e09d03aaeb7227702dae62c2a2041 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.exec.length property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A9.js
+ * @path ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js
  * @description Checking if deleting the RegExp.prototype.exec.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js
index 0370a58dc0e87b45e00d954ea154c9edb8e47e86..ada503cda7b2b7ef23316e9dd7eb35c21ba5b447 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.test.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A10.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js
  * @description Checking if varying the RegExp.prototype.test.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js
index 0837283b324b140990bcc86d0dfacc9f0dc0601c..faefeada3992f4fb40f3aad5f1ff79624147f962 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the test method is 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A11.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js
  * @description Checking RegExp.prototype.test.length
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js
index 25f79e30b1a3618bf65d4700e0455586895e79cd..bb51ec13fdd170e8e74f9ca75ee95df4618cda5c 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js
  * @description RegExp is /1|12/ and tested string is "123"
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js
index 819dd28a53208baaa1fb703be01a73f0b974792d..b2817a2973885d5b396b1078746631b812cc1b8f 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T10.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js
  * @description RegExp is /1|12/ and tested string is 1.01
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js
index f9b2754c4036bf7f4c9001ebee2eaaf04e7fd4d8..2687e40cb91190e27c42d15972eb80a39cec230e 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T11.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js
  * @description RegExp is /2|12/ and tested string is new Number(1.012)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js
index e490a8b72b52f2085df2dcd9fd85b97af5fcd01a..95ff76d7422f3c84a32fcf1db3c8ac4310cd819f 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T12.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js
  * @description RegExp is /\.14/ and tested string is {toString:function(){return Math.PI;}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js
index 4fbea768000acce56b828a4102e94364420422b2..b489ac423b21324a3fd6a667d81243b29f27f0b8 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T13.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js
  * @description RegExp is /t[a-b|q-s]/ and tested string is true
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js
index e39f9dbc8948475d3fb6e08690b68159e94dbbca..7d92aae10ebff7c86cd010581b544f95245b571f 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T14.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js
  * @description RegExp is /AL|se/ and tested string is new Boolean
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js
index 74559f5da8835d05e40cffe705d74dba86338ac3..d5fa26f762ddc84f8723adee89849caa6d283a06 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T15.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js
  * @description RegExp is /LS/i and tested string is {toString:function(){return false;}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js
index d1f1cfd5647da37e1ec973c887a82238a9d1b6fd..7dedbf60ebcee06b939d12ea2578ffdbd47c6a7d 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T16.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js
  * @description RegExp is /undefined/ and call test() without arguments
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js
index 809104816b22c9fe8d6fe799a7a0cb877c303d58..0e4bab34c30e1642a2c956ca82b067cb385c72b6 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T17.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js
  * @description RegExp is /ll|l/ and tested string is null
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js
index 486ba88952f17d0d5373074ad0b9aa6f1acbc99e..7931a811c5d78b2a00cf3bf056ad8c9e9bd22efe 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T18.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js
  * @description RegExp is /nd|ne/ and tested string is undefined
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js
index 995990c52ba52197f0950bb026cef1428eee389c..8621eff941a87fea0f56dbd622312eb4f2927cdc 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T19.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js
  * @description RegExp is /e{1}/ and tested string is void 0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js
index 570ff0354e0d4e9144624522ee9375c1965f76e9..f171f2300b7a4a2d8c623953563f2c1ee76eaeaa 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js
  * @description RegExp is /((1)|(12))((3)|(23))/ and tested string is new String("123")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js
index f313fe80ab93984ea7844445f58c60ec21ed835e..9548d0c3792f27b1dd5a17850a59b5ebd94c5a81 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T20.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js
  * @description RegExp is /[a-f]d/ and tested string is x, where x is undefined
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js
index d16a98531f0983dbb143332cdc6a7a13262feaa9..7d881ac7a0198f980790f7fd20670d6d8eea35f3 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T21.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js
  * @description RegExp is /[a-z]n/ and tested string is x, where x is function(){}()
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js
index c9a528391ef77a9a70d18ff814704beda85040c5..e4e2d476fdd59386fc967a0d006b035ea86d94d7 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js
  * @description RegExp is /a[a-z]{2,4}/ and tested string is new Object("abcdefghi")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js
index eda96a3f32c00a970b56631fb38687b71c76f569..6bb802c1dba8748310d929c1e738e07fac8d2544 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T4.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js
  * @description RegExp is /a[a-z]{2,4}?/ and tested string is {toString:function(){return "abcdefghi";}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js
index 81f45be3de329c484e721c0b0e1e2072abefe8c9..40987cabf4515a4139ea12cba4fbe0d55997be83 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T5.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js
  * @description RegExp is /(aa|aabaac|ba|b|c)* / and tested string is {toString:function(){return {};}, valueOf:function(){return "aabaac";}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js
index 94eb7d8f4b4b7ec0bf045590208188a769d5fd94..67c631529dad998b867d8dda14742fcdb20bcb0c 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T6.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js
  * @description RegExp is /(z)((a+)?(b+)?(c))* / and tested string is (function(){return "zaacbbbcac"})()
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js
index 37e6510a4840d16c77901a22b3019d5b227f0ed2..2f58c4a4ff7c8148f0657761b5b52b3b087d0e81 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T7.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js
  * @description RegExp is /[a-z]/ and tested string is {toString:function(){throw "intostr";}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js
index 9cf07deea395f90ba1cf307042af72e1fc800c11..c26af12731ed2e6d6774a58919b8aa5c31c3c2d2 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T8.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js
  * @description RegExp is /[a-z]/ and tested string is {toString:void 0, valueOf:function(){throw "invalof";}}
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js
index ccf75fabc771535b8d625c4ef238c77e3fc7ee9a..f4c2b14944b172750ecba5187ab9ef173689778d 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * Equivalent to the expression RegExp.prototype.exec(string) != null
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A1_T9.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js
  * @description RegExp is /1|12/ and tested string is function object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js
index 681a5ec9963a0f1526c25c782329c48426f4df31..a439f4d8b8d60bfa7dd15c0c3b4b980646021c20 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T1.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js
  * @description The tested object is new Object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js
index 9a7b750e931e5f47cbb7121fd125017a85cccc39..460a9300f727502b4ba2ef3db56a90d39044f215 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T10.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js
  * @description The tested object is undefined
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js
index 3cbe097a498e187a90417c94974556b76e343c97..818fac34f81c89d62422f0d0cd644f32814fabf1 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T2.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js
  * @description The tested object is Math
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js
index 1a2c3f6aa11eea96c8828f7efc111f21a2dacb11..022921d035c3ba5f0fc633e1657ccd8e828e39fe 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T3.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js
  * @description The tested object is function object
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js
index 3fc15a7b7da9d1d9d8e0be0e4b54de129e66b6d2..1c6a3b6a1da6abe6d72e658e0f585f655b7da924 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T4.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js
  * @description The tested object is new String("[a-b]")
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js
index d3eb7ef93c88d66315ee564c361e738c9c607361..7b36fed26b5d808859cb580a6ccf4b2bcbae70b7 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T5.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js
  * @description The tested object is new Boolean(false)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js
index c19bc55ae482b6c42d98cfa33f7d29cc83f31377..a7f773750aa70351c13349c6e32a4bccb75270a5 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T6.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js
  * @description The tested object is new Number(1.0)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js
index ca96bfd9e62d620c145dc795a26717f2cfd07a8f..053c11c7e51edb283cff0c49d22333529655a032 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T7.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js
  * @description The tested object is false
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js
index 87738db1c424e193bf97e5b51c98e450944486c4..67dbbf1cfbeb0336d3dbd1d1129069d9011c77fd 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T8.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js
  * @description The tested object is "."
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js
index 22c27f07eca0f234f3ee4f51484091b6e084499f..754f0c536869e805adab46efefc45d0737d50049 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is "RegExp"
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A2_T9.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js
  * @description The tested object is 1.0
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js
index 478753ceaed54e020ba6b883527c2d4b8b8cea9f..5634afb38f168abb01a73c7ae0954547734477fd 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js
@@ -4,7 +4,7 @@
 /**
  * RegExp.prototype.test has not prototype property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A6.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js
  * @description Checking RegExp.prototype.test.prototype
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js
index 539ad5da50d08978699fe79c2ce3da1d207cd951..dbbc5a30551f36b495d8d57430ef46299ed5fce2 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js
@@ -4,7 +4,7 @@
 /**
  * RegExp.prototype.test can't be used as constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A7.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js
  * @description Checking if creating the RegExp.prototype.test object fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js
index f83ed28651f1d1aa480c132705bc1e210e1e91b1..39e2f2fa7708590a17f8b1ed5c44b21535b18613 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.test.length property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A8.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js
  * @description Checking if enumerating the RegExp.prototype.test.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js
index 31f579a1b78d0d8696bf37c3e77b2fb36ccf6511..f5a6aa7b99ec4625e5653f22aff55b0af226a638 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.test.length property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A9.js
+ * @path ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js
  * @description Checking if deleting RegExp.prototype.test.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js
index 8ef16f839d69b9722c8caf0594aa996dee852a49..59c73b9c4b968301365d5243a8c8dd2c7270d0dc 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.toString.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A10.js
+ * @path ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js
  * @description Checking if varying the RegExp.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js
index 99428860a005e71831c5a2b970795d7c299bc419..23f54b523c1014407de27d0742ff4123a66d826d 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toString method is 1
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A11.js
+ * @path ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js
  * @description Checking RegExp.prototype.toString.length
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js
index dbdcc302c42fbfe9ae72e53a3647b9695b8c6559..66acbd26e3721c7f3f740dddd336afb95b848c2b 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js
@@ -4,7 +4,7 @@
 /**
  * RegExp.prototype.toString has not prototype property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A6.js
+ * @path ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js
  * @description Checking RegExp.prototype.toString.prototype
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js
index 9a21f5d60a659a47dac76ca797fe865fd2fa2dde..cc3296e3c3bbe4351d7dc4e728b4fd0b11856925 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js
@@ -4,7 +4,7 @@
 /**
  * RegExp.prototype.toString can't be used as constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A7.js
+ * @path ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js
  * @description Checking if creating the RegExp.prototype.toString object fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js
index cc143eff58f4a0444a14cc78fb23e43822754071..ae1eed75e111d6b06aeb75334dd8da589f406be1 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.toString.length property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A8.js
+ * @path ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js
  * @description Checking if enumerating the RegExp.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js
index 92a6c907f63488ff1c9143a7bd6b7900d05ca049..677fd21aa424de22c9f2c632c06276f7cfabfdfd 100644
--- a/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js
+++ b/test/suite/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp.prototype.toString.length property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A9.js
+ * @path ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js
  * @description Checking if deleting the RegExp.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js b/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js
index 04c7be2eff2dd03fd67b0b25924a4f5e757f7e62..5363d1890a1991480d5288003485c4e4329304fa 100644
--- a/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of RegExp.prototype.constructor is the built-in RegExp constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/S15.10.6.1_A1_T1.js
+ * @path ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js
  * @description Compare RegExp.prototype.constructor with RegExp
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js b/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js
index 09658bf14105e98f2c0a5b6add153178a382325d..28384a3e84b430c8462293331955f453a3e04bba 100644
--- a/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of RegExp.prototype.constructor is the built-in RegExp constructor
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/S15.10.6.1_A1_T2.js
+ * @path ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js
  * @description Compare instance.constructor !== RegExp, where instance is new RegExp.prototype.constructor
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T1.js b/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T1.js
index c717913421a7044dcfd4549f79598a5a0a9ae2ee..aec954bef406af79f155371003a9c2e0bf419dfe 100644
--- a/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/S15.10.6_A1_T1.js
+ * @path ch15/15.10/15.10.6/S15.10.6_A1_T1.js
  * @description Checking Object.prototype.isPrototypeOf(RegExp.prototype)
  */
 
diff --git a/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T2.js b/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T2.js
index 373436be2071c5f04e08b1d2fa860d3fd9fe0d8c..c937bdbf51eac262228479844ab38713f551fa7e 100644
--- a/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.6/S15.10.6_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/S15.10.6_A1_T2.js
+ * @path ch15/15.10/15.10.6/S15.10.6_A1_T2.js
  * @description Add new property to Object.prototype and check it of RegExp.prototype
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js b/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js
index b062843822ff65cbbb61c35d6e08639c3203289a..346a6b7c701bfe2b542a844d5d676e2e6b3b3ea3 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance source property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.1_source/S15.10.7.1_A10.js
+ * @path ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js
  * @description Checking if varying the source property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js b/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js
index 42f9d5d75bae954ed9ffe03539fa483a2762adae..56a8b048d31db04bafd410ea9a27f00da1de788b 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance source property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.1_source/S15.10.7.1_A8.js
+ * @path ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js
  * @description Checking if enumerating the source property of RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js b/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js
index e4ea8dc0fad1a2ff2949d644e64995bdd9c946a6..086a41336349d1644e8ee7fdfc1989c206087bac 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance source property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.1_source/S15.10.7.1_A9.js
+ * @path ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js
  * @description Checking if deleting the source property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js b/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js
index 47058211d71eea65c81d4d1e1bfd0d467e799434..22ffb66ffa18c5249843f19593f84f2d10a47492 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance global property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.2_global/S15.10.7.2_A10.js
+ * @path ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js
  * @description Checking if varying the global property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js b/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js
index e5daa2477ae5ae7e737490b399d796fa6a78bade..0c08304aa9287e60d47c128ca728460dfeb64a20 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance global property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.2_global/S15.10.7.2_A8.js
+ * @path ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js
  * @description Checking if enumerating the global property of RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js b/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js
index 28d5b40d8a5b7c1925b9c9b02444ed754b7d3b5a..91ad471d62c4ff392119e52fcfbc35f974a22d31 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance global property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.2_global/S15.10.7.2_A9.js
+ * @path ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js
  * @description Checking if deleting the global property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js b/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js
index f8025a90ffce9d49013aa7891dac52706472203d..da394d9ffd2dbaef34c7c52136ffb6791ab748af 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance ignoreCase property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.3_ignoreCase/S15.10.7.3_A10.js
+ * @path ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js
  * @description Checking if varying the ignoreCase property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js b/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js
index 2b3855de11ac2d1de49f06aadd0c48ffdccb49a6..be28f3197257160f10ec0b2289cd926232291c6a 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance ignoreCase property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.3_ignoreCase/S15.10.7.3_A8.js
+ * @path ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js
  * @description Checking if enumerating the ignoreCase property of RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js b/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js
index 7d1ed8e3bf88267ad7e177211175fd2d160442cf..28f85198d3d55682eec14a0477cfe66fff301163 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance ignoreCase property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.3_ignoreCase/S15.10.7.3_A9.js
+ * @path ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js
  * @description Checking if deleting the ignoreCase property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js b/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js
index 4de5c3371c65d0cd31e355b65e04ad0fc36c3c81..51b4435da5a40ae2e029563d04a0cd3cf61b2346 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance multiline property has the attribute ReadOnly
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.4_multiline/S15.10.7.4_A10.js
+ * @path ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js
  * @description Checking if varying the multiline property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js b/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js
index 1d8b2d59212bd61de4b536d61d71590f6674493d..f3301c89cebf69d1de017c64985433a54301c5cb 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance multiline property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.4_multiline/S15.10.7.4_A8.js
+ * @path ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js
  * @description Checking if enumerating the multiline property of RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js b/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js
index 6240b67831481431297b2e20b68abc705addd099..13a045a06e48340d04164d4d981312d8ecab93a1 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance multiline property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.4_multiline/S15.10.7.4_A9.js
+ * @path ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js
  * @description Checking if deleting the multiline property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js b/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js
index 936817d77930717913fa27b536bef9814f2c2815..c2213511bfea994ab159efdaabd6f2ddfcbd5a9f 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance lastIndex property has the attribute DontEnum
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.5_lastIndex/S15.10.7.5_A8.js
+ * @path ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js
  * @description Checking if enumerating the lastIndex property of RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js b/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js
index 18e8963802a8ecc71b71fa26d6030d9302ce8899..0150240cedf6208878212fe23ecf7d7ee8328864 100644
--- a/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js
+++ b/test/suite/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js
@@ -4,7 +4,7 @@
 /**
  * The RegExp instance lastIndex property has the attribute DontDelete
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/15.10.7.5_lastIndex/S15.10.7.5_A9.js
+ * @path ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js
  * @description Checking if deleting the lastIndex property fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T1.js b/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T1.js
index 2946ef3d57a01e968627bd542ef9b2ac63d6ca70..7153f569f3d6b5fb9ac961a82eecac1d1c356ffb 100644
--- a/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T1.js
+++ b/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegExp instance has not [[call]] property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/S15.10.7_A1_T1.js
+ * @path ch15/15.10/15.10.7/S15.10.7_A1_T1.js
  * @description Checking if call of RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T2.js b/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T2.js
index f836b5e9c2c61f3e025a2c2fefacf93bc74565b5..29b687f5c018efcc43965bdcae17e570febffe29 100644
--- a/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T2.js
+++ b/test/suite/ch15/15.10/15.10.7/S15.10.7_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegExp instance has not [[call]] property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/S15.10.7_A1_T2.js
+ * @path ch15/15.10/15.10.7/S15.10.7_A1_T2.js
  * @description Checking if call of RegExp("a|b","g")() fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T1.js b/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T1.js
index f411856f8303ca50868b4b4c43fa10a5e30862a5..357fd953f95fa5562d9deb3c9ab29b75d2ed825b 100644
--- a/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T1.js
+++ b/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegExp instance has not [[construct]] property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/S15.10.7_A2_T1.js
+ * @path ch15/15.10/15.10.7/S15.10.7_A2_T1.js
  * @description Checking if creating new RegExp instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T2.js b/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T2.js
index b292a8fab182134cf6fdef48abde8daac2c88ddf..fd7df65125d8980cd149ebd512b5f62cb72421ae 100644
--- a/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T2.js
+++ b/test/suite/ch15/15.10/15.10.7/S15.10.7_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegExp instance has not [[construct]] property
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/S15.10.7_A2_T2.js
+ * @path ch15/15.10/15.10.7/S15.10.7_A2_T2.js
  * @description Checking if creating "new RegExp" instance fails
  */
 
diff --git a/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T1.js b/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T1.js
index 388e8c148fa8a86ec515e7698df29585b7a20aa4..25ce3575f1f62960e58054f4bc4e7f5a4fa7b3f0 100644
--- a/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T1.js
+++ b/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * RegExp instance type is RegExp
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/S15.10.7_A3_T1.js
+ * @path ch15/15.10/15.10.7/S15.10.7_A3_T1.js
  * @description Checking type of RegExp instance with operators typeof, instanceof and check it constructor.
  * RegExp instance is /[^a]* /
  */
diff --git a/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T2.js b/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T2.js
index 009ce54e43864bc695588945ec262a00559a3acf..5b1d51d09e915cee0f7f99f52a15aec6c503ab06 100644
--- a/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T2.js
+++ b/test/suite/ch15/15.10/15.10.7/S15.10.7_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * RegExp instance type is RegExp
  *
- * @path 15_Native/15.10_RegExp_Objects/15.10.7_Properties_of_RegExp_Instances/S15.10.7_A3_T2.js
+ * @path ch15/15.10/15.10.7/S15.10.7_A3_T2.js
  * @description Checking type of RegExp instance with operators typeof, instanceof and check it constructor.
  * RegExp instance is new RegExp
  */
diff --git a/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js b/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js
index bbde5f28e80219ceded164ad608a262191cbebab..d39a290494364efef89ef344a101ed52a30c8bc0 100644
--- a/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js
+++ b/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js
@@ -5,7 +5,7 @@
  * If the argument "message" is not undefined, the message property of the newly constructed object is
  * set to ToString(message)
  *
- * @path 15_Native/15.11_Error_Objects/15.11.1_The_Error_Constructor_Called_as_a_Function/S15.11.1.1_A1_T1.js
+ * @path ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js
  * @description Checking message property of different error objects
  */
 
diff --git a/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js b/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js
index 8b4a0a7ed7f1b2abad2c4eb8dd38ec041b4e9fad..b681dc8d65fb0ec00aa75b0421bb987179390401 100644
--- a/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js
+++ b/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js
@@ -5,7 +5,7 @@
  * The [[Prototype]] property of the newly constructed object is set to the original Error prototype
  * object, the one that is the initial value of Error.prototype (15.11.3.1)
  *
- * @path 15_Native/15.11_Error_Objects/15.11.1_The_Error_Constructor_Called_as_a_Function/S15.11.1.1_A2_T1.js
+ * @path ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js
  * @description Checking prototype of the newly constructed Error object
  */
 
diff --git a/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js b/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js
index 4681bf0a8d26d6b4c7c2836516fc3d42412db2cc..b9bf2cc7ab1259a4598d98ae3b97309f54ceef8d 100644
--- a/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js
+++ b/test/suite/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "Error"
  *
- * @path 15_Native/15.11_Error_Objects/15.11.1_The_Error_Constructor_Called_as_a_Function/S15.11.1.1_A3_T1.js
+ * @path ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js
  * @description Checking Class of the newly constructed Error object using toSting() function
  */
 
diff --git a/test/suite/ch15/15.11/15.11.1/S15.11.1_A1_T1.js b/test/suite/ch15/15.11/15.11.1/S15.11.1_A1_T1.js
index c576a4d24d54c3c351557b2914410eceb20b2588..edc20a3a847b70e9161aa63367270da210cd3828 100644
--- a/test/suite/ch15/15.11/15.11.1/S15.11.1_A1_T1.js
+++ b/test/suite/ch15/15.11/15.11.1/S15.11.1_A1_T1.js
@@ -5,7 +5,7 @@
  * The function call Error(...) is equivalent to the object creation expression new
  * Error(...) with the same arguments
  *
- * @path 15_Native/15.11_Error_Objects/15.11.1_The_Error_Constructor_Called_as_a_Function/S15.11.1_A1_T1.js
+ * @path ch15/15.11/15.11.1/S15.11.1_A1_T1.js
  * @description Checking constructor of the newly constructed Error object
  */
 
diff --git a/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js b/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js
index 7291bc3fa5ef24de5c6b7497b4d5aef95178bcf9..4fe9dc58f8c09c2641f1b80d760346c0ab358b0f 100644
--- a/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js
+++ b/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js
@@ -5,7 +5,7 @@
  * If the argument "message" is not undefined, the message property of the newly constructed object is
  * set to ToString(message)
  *
- * @path 15_Native/15.11_Error_Objects/15.11.2_The_Error_Constructor/S15.11.2.1_A1_T1.js
+ * @path ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js
  * @description Checking message property of different error objects
  */
 
diff --git a/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js b/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js
index 7f7fe4f61baf1360efcc47cffa98c7117cfffbb1..f574d222a83010d1daad3ef6093c255fb291438d 100644
--- a/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js
+++ b/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js
@@ -5,7 +5,7 @@
  * The [[Prototype]] property of the newly constructed object is set to the original Error prototype
  * object, the one that is the initial value of Error.prototype (15.11.3.1)
  *
- * @path 15_Native/15.11_Error_Objects/15.11.2_The_Error_Constructor/S15.11.2.1_A2_T1.js
+ * @path ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js
  * @description Checking prototype of the newly constructed Error object
  */
 
diff --git a/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js b/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js
index fcddb36e87cc9020f6e6efb26a15b734ce873f76..22cd7eac0ba0f66522c1ae310d05441ff3741ec1 100644
--- a/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js
+++ b/test/suite/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "Error"
  *
- * @path 15_Native/15.11_Error_Objects/15.11.2_The_Error_Constructor/S15.11.2.1_A3_T1.js
+ * @path ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js
  * @description Checking Class of the newly constructed Error object using toSting() function
  */
 
diff --git a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js
index 6eefe48500b0e260beea61d4abb8b335dbd5961a..12bfdf2b6ba4ba1c234df937e066124c6c99c920 100644
--- a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js
+++ b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Error.prototype property has the attributes {DontDelete}
  *
- * @path 15_Native/15.11_Error_Objects/15.11.3_Properties_of_the_Error_Constructor/S15.11.3.1_A1_T1.js
+ * @path ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js
  * @description Checking if deleting the Error.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js
index 1d76cb9e0168c4aa14748b3ed0fcb9d9e64ed709..a50147e8ed39fa4506cc7f9b19dba899ca5b3db7 100644
--- a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js
+++ b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Error.prototype property has the attributes {DontEnum}
  *
- * @path 15_Native/15.11_Error_Objects/15.11.3_Properties_of_the_Error_Constructor/S15.11.3.1_A2_T1.js
+ * @path ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js
  * @description Checking if enumerating the Error.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js
index fce75c8e287446cbd7b98142e3d0eba1861360eb..4229efe59ca7955b2baac1c1373b07dd29674acd 100644
--- a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js
+++ b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Error.prototype property has the attributes {ReadOnly}
  *
- * @path 15_Native/15.11_Error_Objects/15.11.3_Properties_of_the_Error_Constructor/S15.11.3.1_A3_T1.js
+ * @path ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js
  * @description Checking if varying the Error.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js
index 804fa6f21515bbc779bb22ae8ce3bf2e7f78fa7d..55469a9925cf0733254034d1a4213d945d7aa748 100644
--- a/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js
+++ b/test/suite/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Error has property prototype
  *
- * @path 15_Native/15.11_Error_Objects/15.11.3_Properties_of_the_Error_Constructor/S15.11.3.1_A4_T1.js
+ * @path ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js
  * @description Checking Error.hasOwnProperty('prototype')
  */
 
diff --git a/test/suite/ch15/15.11/15.11.3/S15.11.3_A1_T1.js b/test/suite/ch15/15.11/15.11.3/S15.11.3_A1_T1.js
index c0ed7fc2b52b14dd31afd6f5b8343d88c6e365ff..75e8bfd44716b69f2d07b83ee26d997d4863283a 100644
--- a/test/suite/ch15/15.11/15.11.3/S15.11.3_A1_T1.js
+++ b/test/suite/ch15/15.11/15.11.3/S15.11.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the Error constructor is the Function prototype object(15.3.4)
  *
- * @path 15_Native/15.11_Error_Objects/15.11.3_Properties_of_the_Error_Constructor/S15.11.3_A1_T1.js
+ * @path ch15/15.11/15.11.3/S15.11.3_A1_T1.js
  * @description Checking prototype of constructor of the newly constructed Error object
  */
 
diff --git a/test/suite/ch15/15.11/15.11.3/S15.11.3_A2_T1.js b/test/suite/ch15/15.11/15.11.3/S15.11.3_A2_T1.js
index 3063a58cd402a511c123daa628da25aaed8bf504..4cc976bfd9b9d5c9b798f4db8dfc53de0f85834c 100644
--- a/test/suite/ch15/15.11/15.11.3/S15.11.3_A2_T1.js
+++ b/test/suite/ch15/15.11/15.11.3/S15.11.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The length property value is 1
  *
- * @path 15_Native/15.11_Error_Objects/15.11.3_Properties_of_the_Error_Constructor/S15.11.3_A2_T1.js
+ * @path ch15/15.11/15.11.3/S15.11.3_A2_T1.js
  * @description Checking length property
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js
index 99c950e50f812d6cc0e0ca5606ce741ff0b3ece7..7cd2f6c02e6a458eef253cbc1131469c1bcc123e 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Error.prototype.constructor is the built-in Error constructor
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.1_A1_T1.js
+ * @path ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js
  * @description Checking Error.prototype.constructor
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js
index 0804763e0f763dffc76494135c8075b413b4991b..9954e3f87e6ee877d0188c7b8294db9c7d7c018b 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Error.prototype.constructor is the built-in Error constructor
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.1_A1_T2.js
+ * @path ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js
  * @description Checking if creating "new Error.prototype.constructor" passes and checking its properties
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A1.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A1.js
index 5ed322cae3c431099c67d6019153ac9e88a17bfc..5a93eb4565cd4566e2d20b739a0c13bbbad6133d 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A1.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Error.prototype has name property
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.2_A1.js
+ * @path ch15/15.11/15.11.4/S15.11.4.2_A1.js
  * @description Checking Error.prototype.name
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A2.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A2.js
index 106f73680c6ff0c94744ec241d0c10e0bdd2206c..66eab2c827fcc64d8d49dcc809cbcefd590f007b 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A2.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Error.prototype.name is "Error"
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.2_A2.js
+ * @path ch15/15.11/15.11.4/S15.11.4.2_A2.js
  * @description Checking value of Error.prototype.name
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A1.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A1.js
index c09ee848719fc5d95e7d6432b9c0b3281078d1d5..dc51512fd9cc18ae30ff9c13369f61858ea6dcec 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A1.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Error.prototype has message property
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.3_A1.js
+ * @path ch15/15.11/15.11.4/S15.11.4.3_A1.js
  * @description Checking Error.prototype.message
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A2.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A2.js
index 39f5938dea43f8d861383e1fc99548b1ef1070ff..48ada9c30fc3a14d10d94554816bc43b985c7750 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A2.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Error.prototype.message is ""
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.3_A2.js
+ * @path ch15/15.11/15.11.4/S15.11.4.3_A2.js
  * @description Checking value of Error.prototype.message
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A1.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A1.js
index 278371fc46a5019b9dba075ffdf0571f1ecbca49..b0ff3323145f08dddd4d97379bbaf2ae0f0081e1 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A1.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Error.prototype has toString property
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.4_A1.js
+ * @path ch15/15.11/15.11.4/S15.11.4.4_A1.js
  * @description Checking Error.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A2.js b/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A2.js
index e5bf5f3256436d1a2fe6556b2852ce95be6af154..297a97b8fedfefaf0636a00dfff633093333c80c 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A2.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * The Error.prototype.toString returns an implementation defined string
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4.4_A2.js
+ * @path ch15/15.11/15.11.4/S15.11.4.4_A2.js
  * @description Checking if call of Error.prototype.toSting() fails
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4_A1.js b/test/suite/ch15/15.11/15.11.4/S15.11.4_A1.js
index db677f0dc6ae3268341202918a104c1540403f94..9bbd6a9e85eec995c18c6376fbed2be325eaa940 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4_A1.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4_A1.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Error prototype object is the Object prototype
  * object(15.2.3.1)
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4_A1.js
+ * @path ch15/15.11/15.11.4/S15.11.4_A1.js
  * @description Get Error.prototype and compare with Object.prototype
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4_A2.js b/test/suite/ch15/15.11/15.11.4/S15.11.4_A2.js
index 34ba827d87a388828dc9a1f5d5a005b7dc5c3bda..ec39fe60d551722e64928e6e54e442dd224fc69d 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4_A2.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Class]] property of Error prototype object is "Error"
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4_A2.js
+ * @path ch15/15.11/15.11.4/S15.11.4_A2.js
  * @description Getting the value of the internal [[Class]] property using Error.prototype.toString() function
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4_A3.js b/test/suite/ch15/15.11/15.11.4/S15.11.4_A3.js
index 2b29d0cf6c8c02b2ad1ae16cd23c0cd828af43bf..47c44d3df8658901d4057daeb214ada53fe63adc 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4_A3.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * Since Error prototype object is not function it has not [[call]] method
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4_A3.js
+ * @path ch15/15.11/15.11.4/S15.11.4_A3.js
  * @description Checking if call of Error prototype as a function fails
  */
 
diff --git a/test/suite/ch15/15.11/15.11.4/S15.11.4_A4.js b/test/suite/ch15/15.11/15.11.4/S15.11.4_A4.js
index de91ea3874c891c6701e4b5df38920f069cff95f..5d73a72af5ac7fc4157298342bff6d007a73f93b 100644
--- a/test/suite/ch15/15.11/15.11.4/S15.11.4_A4.js
+++ b/test/suite/ch15/15.11/15.11.4/S15.11.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * Since Error prototype object is not function it has not [[create]] method
  *
- * @path 15_Native/15.11_Error_Objects/15.11.4_Properties_of_the_Error_Prototype_Object/S15.11.4_A4.js
+ * @path ch15/15.11/15.11.4/S15.11.4_A4.js
  * @description Checking if creating "new Error.prototype" fails
  */
 
diff --git a/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js b/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js
index b6782489f491b4b71f6df84ea912f4447cdf6dd3..eeb59283a9d2e6fbad3cc0df02666dbbb22b37f6 100644
--- a/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js
+++ b/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * JSON.parse must create a property with the given property name
  *
- * @path 15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js
+ * @path ch15/15.12/15.12.2/S15.12.2_A1.js
  * @description Tests that JSON.parse treats "__proto__" as a regular property name
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js
index 9320915c98d1bbc10c14433e6aaeb12eced12b55..e1600158ca038e68cea11557c97b38995a1a59b0 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js
@@ -5,7 +5,7 @@
  * When the Object(value) is called and the value is null, undefined or not supplied,
  * create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A1_T1.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js
  * @description Creating Object(null) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js
index daab8b6b27fad04ea4c2beadec8b104d0c4b2f08..0f3c0014211c5b639d47e428408a53401d6c5daa 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js
@@ -5,7 +5,7 @@
  * When the Object(value) is called and the value is null, undefined or not supplied,
  * create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A1_T2.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js
  * @description Creating Object(void 0) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js
index 4defd44071a100303856240ed7f9a3b72e632172..a9189377fba3ebdbd95b1ce00bc6606946ca5616 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js
@@ -5,7 +5,7 @@
  * When the Object(value) is called and the value is null, undefined or not supplied,
  * create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A1_T3.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js
  * @description Creating Object() and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js
index 72703e0c49d0589e06d028f7e3ae390506619456..aa4aafc1b07a8044c30093118aedaf0f5c8a2883 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js
@@ -5,7 +5,7 @@
  * When the Object(value) is called and the value is null, undefined or not supplied,
  * create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A1_T4.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js
  * @description Creating Object(undefined) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js
index 885f379539aa29710779bd462a105d47ebc8a223..dc083d0ba7b7b73af5b0a5b3da47e162115ed8a7 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js
@@ -5,7 +5,7 @@
  * When the Object(value) is called and the value is null, undefined or not supplied,
  * create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A1_T5.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js
  * @description Creating Object(x) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js
index 1e85acd71384b90d227eb030b4476d9b5e4e5d20..a3a93e7b2a8cca5e3435ad262a2b3dfeebde4979 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T1.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js
  * @description Calling Object function with boolean argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js
index 9047be7c8db53644e29e9c9d1a182e3c6df3c468..8ac9aa497e04fc832807f255574ae7d6fb0caa0e 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T10.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js
  * @description Calling Object function with array of numbers as argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js
index 72743e34eed70e23fecacc7015e9c88bca008f79..c7f605bb006f238ed5fff6f922e8785881700ae5 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T11.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js
  * @description Calling Object function with function declaration as argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js
index 24b60a4ebd0e5180c226336b9efaad5ff351c72c..e151c6b0bc38c8a1a918a1871b09ce57869a20fd 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T12.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js
  * @description Calling Object function with numeric expression as argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js
index 685006c64dc7cb5b734f5b3254ad16161c54ed8d..19ffdbe7df6ef7c13d613888317618e4cdb0d3bb 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T13.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js
  * @description Calling Object function with boolean expression as argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js
index e3fef8404ebba3b5b210cc6c7b8af0f9614129e8..559c8ea5b95576673595db35a30d61d1a0fc8999 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T14.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js
  * @description Calling Object function with sum of empty string and a number as argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js
index 51608ba31f9c588a8e03d154cb477140f690a516..ab02565a20442a9ae0cb793cea256e3ce64da841 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T2.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js
  * @description Calling Object function with number argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js
index a38e5ab3e3fa1f42d23a8262a2107939efaa662b..019ac0f7f412f29a6459443543a197bba827c8a9 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T3.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js
  * @description Calling Object function with string argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js
index 905bc5e581d452aa94551ee64d1a47ced2b49ae5..68d45f46d2f5b3034b5541b513d14d4516bdff3a 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T4.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js
  * @description Calling Object function with object argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js
index 3190e816fe31dc820c93140f19bd841152d6641c..bc23aa00ad17b8109e29f17d0df03681dcd11752 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T5.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js
  * @description Calling Object function with NaN argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js
index a9c75194ea8cf2645eca5b593ea8ea93ed9a0512..c4d11409aa592a2f480ac223a22e5c8839a9eedf 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T6.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js
  * @description Calling Object function with Infinity argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js
index 462b27cc8abd07260d682d099c70064377e19924..f5947948bc911c9e41c3539bc0ee94207a50f501 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T7.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js
  * @description Calling Object function with empty string argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js
index df7c775b6ecbddcc906a17831dc4bf2c3c60e48f..fbd9419ba6cf792ffb206de9e050e5906d2109cc 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T8.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js
  * @description Calling Object function with function variable argument value
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js
index 86939358148ae24f8e4991ec570aec36d37852ba..f8e0020fe9842ee977b2d2149d478885c6ed06bb 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js
@@ -5,7 +5,7 @@
  * When the Object function is called with one argument value,
  * and the value neither is null nor undefined, and is supplied, return ToObject(value)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A2_T9.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js
  * @description Calling Object function with function argument value. The function is declared
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js
index 020381f367a6e17b3aaabb2f37c6886faab86277..d3f235bb0dfc379db7bb7fc7bf90554e7f277c8b 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A3_T1.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js
  * @description Creating an object with "Object(1,2,3)"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js
index 0d7b0fe93c52eb81978ee1c4a3272cd0a2e5e3b5..7f6468dc824ed815f29508c52aa69edc22c24b18 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A3_T2.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js
  * @description Creating an object with "Object(null,2,3)"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js
index 6452756370c807d40a9dc78e7b1cd3bde0facc3e..5766eecc37b59df08a36a1ab6f30a6b270576b0c 100644
--- a/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js
+++ b/test/suite/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed
  *
- * @path 15_Native/15.2_Object_Objects/15.2.1_The_Object_Constructor_Called_as_a_Function/S15.2.1.1_A3_T3.js
+ * @path ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js
  * @description Creating an object with "Object((null,2,3),1,2)"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js
index db1119b6c6a79df5ef2067780cc1525737aebc75..56010d916094223715d313eca57687fe53352a53 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js
@@ -10,7 +10,7 @@
  *  iv) 	The newly constructed object has no [[Value]] property.
  *   v) 	Return the newly created native object
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A1_T1.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js
  * @description Creating new Object() and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js
index c8b4b5176015a86b36fc4030c205a620126ca93f..ad4af73a8667010f873a33828025ad1000274c51 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js
@@ -10,7 +10,7 @@
  *  iv) 	The newly constructed object has no [[Value]] property.
  *   v) 	Return the newly created native object
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A1_T2.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js
  * @description Creating new Object(void 0) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js
index 4a11f6aee384cf1003259bfeeb71670b1c8d239a..1379071204be1476b674a6439971efdfe77e7c7e 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js
@@ -10,7 +10,7 @@
  *  iv) 	The newly constructed object has no [[Value]] property.
  *   v) 	Return the newly created native object
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A1_T3.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js
  * @description Creating new Object(null) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js
index 1a07694163fa58e60e533778003a76b1d4a35aae..b8af18c9200b651e33a0c6b5c293d6f8490b66e3 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js
@@ -10,7 +10,7 @@
  *  iv) 	The newly constructed object has no [[Value]] property.
  *   v) 	Return the newly created native object
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A1_T4.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js
  * @description Creating new Object(undefined) and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js
index 29909055bdbb4bb27edb032453f45133e1526f7e..ced23c45ef8b9de85b775300400bbf557a04555e 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js
@@ -10,7 +10,7 @@
  *  iv) 	The newly constructed object has no [[Value]] property.
  *   v) 	Return the newly created native object
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A1_T5.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js
  * @description Creating new Object(x), where x is "undefined", and checking it properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js
index 81ce07c646b5b033773234ffa780726803c47bd1..1c6b7a408d820a3bd6b642c94dbce07bb95ce1cb 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T1.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js
  * @description The value is Object
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js
index 6920aef2c0b8ce7bbd8f873e3cd66c3fddc5cf29..0a5e9aaee781e25dfe8f11e7c93a33c6655620be 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T2.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js
  * @description The value is a function variable
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js
index 27884b84c98011352aa817ef9d71d7e24c2a3b5d..95fb8bb5de65b174a3420f32a82cdd4ed15ab17f 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T3.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js
  * @description The value is an array
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js
index 7818dd0f473da2486b5f3ee4301b8e8d2d6edfcb..8a80c52465526aa65efb7afaef41b92ff9902c07 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T4.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js
  * @description The value is "this"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js
index 7dab693fa60d710b97a0131656d58b93d51cf407..a5d3ec350dac9be8b426fce504cefb54a387312a 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T5.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js
  * @description The value is a Date object
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js
index 0b85cdd00f042378d278e341e6f3feeb93ede905..511d634deae1bfcb36f4bb591479b0fcb5c01c74 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T6.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js
  * @description The value is a declared function
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js
index 1d7c281a7a2c5ce61cf761b953462780a2c94285..7eca9ee887f2f8ef9f24a8c1c1bb1e9c066c46bb 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the value is a native ECMAScript object, do not create a new object but simply return value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A2_T7.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js
  * @description The value is a function declaration
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js
index 2cd4bd00b5fe0a631c348dacc6d5510e423bcf52..bff76869fddb04af8ad9fcdc42ad9ab80c2fab3c 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is String, return ToObject(string)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A3_T1.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js
  * @description Argument value is a nonempty string
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js
index 3e8562cafd9d90ff7c4b428d24110f091e4973af..5eaabce76e90149c3e8c95fb515c78340318db84 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is String, return ToObject(string)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A3_T2.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js
  * @description Argument value is an empty string
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js
index 2f632165fce705f87b7936da3975684877ec38a4..35252975d7fb9a435ffb748c012c8244be3b75a6 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is String, return ToObject(string)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A3_T3.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js
  * @description Argument value is sum of empty string and number
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js
index c6e9926b445c870e3ba215be73fba12beb1b07b1..5e74f7e7cac33bde13ac9d0d3bbb762556a91be1 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Boolean, return ToObject(boolean)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A4_T1.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js
  * @description Argument value is "true"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js
index aa425f7fab465948f0f088a4cd659007a2a00a8b..61fd00c9503f89f00ff204f74a9260dcf7457746 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Boolean, return ToObject(boolean)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A4_T2.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js
  * @description Argument value is "false"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js
index 1f243cd52260d5d930cc181119c62b7e44b7f5c5..4695170da788210d6ce8fca7cba9b36012453bb4 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Boolean, return ToObject(boolean)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A4_T3.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js
  * @description Argument value is boolean expression
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js
index dce87e886492386bebbbfd244db8c32e54da690e..05ca3595743ac3b4dabf43524364366c33f62de3 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Number, return ToObject(number)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A5_T1.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js
  * @description Argument value is any number
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js
index 7e4813837e0312d43be634f1afc77c0820aaa3d7..6a72708c55824c8ff24b15541decc66c69bde21a 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Number, return ToObject(number)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A5_T2.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js
  * @description Argument value is NaN
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js
index bae377a3ffba38e98bd683bc9ca7a0a25bb6b70d..dc99dbd32a2857d19f77ba44af3890d1468ad81e 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Number, return ToObject(number)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A5_T3.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js
  * @description Argument value is Infinity
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js
index 6d7f7b064ea7235d985966a7525af442f665753c..8a34a2f087c4b2fdc420eccd06a709744951497a 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js
@@ -5,7 +5,7 @@
  * When the Object constructor is called with one argument value and
  * the type of value is Number, return ToObject(number)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A5_T4.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js
  * @description Argument value is numeric expression
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js
index 4722e582c91cf3307b60b217e3acf1c8b6e1ab6a..7fd7a4fbe21cd2177e847758318748184b3c259a 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A6_T1.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js
  * @description Creating an object with "new Object(1,2,3)"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js
index c0f1869c9258b5dafd6f580a19e082dfcba451b9..cb38920248ab5673f772a9071b84cdbb043a797c 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A6_T2.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js
  * @description Creating an object with "new Object(null,2,3)"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js
index 84e13907b74fd6df248e923a47f9a7fbf69f9feb..1c20cd4d28f6f00ba332e3c1477e37dad46d1569 100644
--- a/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js
+++ b/test/suite/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed
  *
- * @path 15_Native/15.2_Object_Objects/15.2.2_The_Object_Constructor/S15.2.2.1_A6_T3.js
+ * @path ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js
  * @description Creating an object with "new Object((null,2,3),2,3)"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js b/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js
index b843b2db48d5ad98b5e84e811e966626db0297c4..8bcab15297ea214ce0589ec007e9364746db1d10 100644
--- a/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js
+++ b/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.1_Object.prototype/S15.2.3.1_A1.js
+ * @path ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js
  * @description Checking if varying "Object.prototype" property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js b/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js
index 1b12b2416d6f43f299047da9145ead948a98bf8e..b7d9b42d95e498e25aeca48a5c5393bd0ab3e850 100644
--- a/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js
+++ b/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.1_Object.prototype/S15.2.3.1_A2.js
+ * @path ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js
  * @description Checking if enumerating "Object.prototype" property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js b/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js
index 9dce4d7b07825dbaff124cdcdc0cb216db9bca1b..1afeca76bed9633fd7c9ced7cab838957a9ff99d 100644
--- a/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js
+++ b/test/suite/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js
@@ -1,7 +1,7 @@
 
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.1_Object.prototype/S15.2.3.1_A3.js
+ * @path ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js
  */
 
   // Copyright 2009 the Sputnik authors.  All rights reserved.
diff --git a/test/suite/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js b/test/suite/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js
index 5a1422463a42ec202bcb79b5d4d3260d8cfea389..27446d532668eace43d54b58d84fba924a3e8c88 100644
--- a/test/suite/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js
@@ -5,7 +5,7 @@
  * Object.getOwnProperties and Object.prototype.hasOwnProperty should
  * agree on what the own properties are.
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.4_Object.getOwnPropertyNames/S15.2.3.4_A1_T1.js
+ * @path ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js
  * @description Check that all the own property names reported by
  * Object.getOwnPropertyNames on a strict function are names that
  * hasOwnProperty agrees are own properties.
diff --git a/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js b/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js
index ea2995f4f28a226956d3c026213f60517b0548b9..714098e5ed303fc9905ffafe27c838e5deeda848 100644
--- a/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js
+++ b/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js
@@ -8,7 +8,7 @@
  * case, that if defineProperty seems to have successfully installed a
  * non-configurable getter, that it is still there.
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.6_Object.defineProperty/S15.2.3.6_A1.js
+ * @path ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js
  * @description Do getters on HTMLFormElements disappear?
  */
 
diff --git a/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js b/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js
index 7d336dd95fef1d4bedd2592b416115d1db6e24b6..7693af8459eb4a9de7232c7cf0bd5a1ba5f71085 100644
--- a/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js
+++ b/test/suite/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/15.2.3.6_Object.defineProperty/S15.2.3.6_A2.js
+ * @path ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js
  * @description Checks if an inherited accessor property appears to be
  * an own property.
  */
diff --git a/test/suite/ch15/15.2/15.2.3/S15.2.3_A1.js b/test/suite/ch15/15.2/15.2.3/S15.2.3_A1.js
index 8848e7d9f1e55d1ba3de69d2ee9237de0ecae2a7..ec0659bf8ca5cf7db292dc61f107839adfba96fb 100644
--- a/test/suite/ch15/15.2/15.2.3/S15.2.3_A1.js
+++ b/test/suite/ch15/15.2/15.2.3/S15.2.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Object constructor has the property "prototype"
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/S15.2.3_A1.js
+ * @path ch15/15.2/15.2.3/S15.2.3_A1.js
  * @description Checking existence of the property "prototype"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.3/S15.2.3_A2.js b/test/suite/ch15/15.2/15.2.3/S15.2.3_A2.js
index e85216d9c937730314c6d274a4d95b4ccb553d7b..93a8e92a595e2dd04b2225ec52296e36fdb2c906 100644
--- a/test/suite/ch15/15.2/15.2.3/S15.2.3_A2.js
+++ b/test/suite/ch15/15.2/15.2.3/S15.2.3_A2.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Object constructor
  * is the Function prototype object
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/S15.2.3_A2.js
+ * @path ch15/15.2/15.2.3/S15.2.3_A2.js
  * @description Checking Function.prototype.isPrototypeOf(Object)
  */
 
diff --git a/test/suite/ch15/15.2/15.2.3/S15.2.3_A3.js b/test/suite/ch15/15.2/15.2.3/S15.2.3_A3.js
index e04f763bb564fd74e42658a636b849212bf49aa0..6ad395b04ec71e72bba8b57b51d317d7ace36b4a 100644
--- a/test/suite/ch15/15.2/15.2.3/S15.2.3_A3.js
+++ b/test/suite/ch15/15.2/15.2.3/S15.2.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * Object constructor has length property whose value is 1
  *
- * @path 15_Native/15.2_Object_Objects/15.2.3_Properties_of_the_Object_Constructor/S15.2.3_A3.js
+ * @path ch15/15.2/15.2.3/S15.2.3_A3.js
  * @description Checking Object.length
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js
index 76bf4c2fe8c1bbd867b7dbc690327645a050d943..5f849a63e1cb11aa9faad3735ed63b0b7c354faa 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js
@@ -7,7 +7,7 @@
  * ii) Compute a string value by concatenating the three strings "[object ", Result(1), and "]"
  * iii) Return Result(2)
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A1.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js
  * @description Checking the type of Object.prototype.toString and the returned result
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js
index ab5031a572337d7c9875123955f4cef4b9b02aa0..7a3010dfb9442fb4325d5e0c8e402bb3bf1c121a 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.toString.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A10.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js
  * @description Checking if varying the Object.prototype.toString.length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js
index c4e97f10a6ed62f9760d6750cee86c4679fa7a0c..fc2281b40994e1015053ec5103588d653e3dfe27 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toString method is 0
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A11.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js
  * @description Checking the Object.prototype.toString.length property
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js
index 371cd2099c81d6b9c267c4ad56299e68f819386e..239afb792c662f90a0f0eb9b53576feed727639e 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js
  * @description If the this value is undefined, return "[object Undefined]".
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js
index 22e2f525555aee6b22876968039c5a057585ccdd..a68665c2a856cb14ba28f7a04ccfb678804b5c27 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js
  * @description If the this value is null, return "[object Null]".
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js
index 5298d8e5ef1906dd5b4fdd8d9bd9a5f4b14794da..4469b7c017fd592f5be801149465c1fad0ebe36e 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js
index f744e056ea57792ab958813c10043a3b3b6fcc7b..59753fa0112fecb2bc340b3e089d3de15f9b64a4 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js
index a344c5809da438a53e8ef02ac5885ed1e70a95ff..917e8965b5202074b428fb1a51d260b90927c78a 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js
index 73ecbbef7af4f7335d69de3869d56719d635a79f..2e11f8252e393b67eda9c8670a5876dd15feec6d 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.toString has not prototype property
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A6.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js
  * @description Checking if obtaining the prototype property of Object.prototype.toString fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js
index 1bdeef887b61247ab63a4e0a16e5727e9a30ff72..9491331779bf13d5e936f9bc180a52a3ec56a5b0 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.toString can't be used as a constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A7.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js
  * @description Checking if creating "new Object.prototype.toString" fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js
index 5c966b9ffaa7a62fe2c0a8e330dc8ff00e66b192..dc4fbc4c80cecd07b9d0cf1f45b47e6b9bf9c5e2 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.toString.length property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A8.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js
  * @description Checking if enumerating the Object.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js
index 5081277e3e0c9ae5a0703224a3e539c3ae8d5975..54fc689070fe6cb8bd9bfa0e686f1ace9a0a8aec 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.toString.length property has the attribute DontDelete
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A9.js
+ * @path ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js
  * @description Checknig if deleting of the Object.prototype.toString.length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js
index 296a7ce130fc3b692e29ab1633dd5f44ed25d4ee..f849be7de8afb4aa1a905efad351794ad2943fa5 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * toLocaleString function returns the result of calling toString()
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A1.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js
  * @description Checking the type of Object.prototype.toLocaleString and the returned result
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js
index 552b47cc1820015d5d26988357ec406b5b973104..e6f73800ada5194f80f2cc0993fd0f948f2d242e 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.toLocaleString.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A10.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js
  * @description Checking if varying the Object.prototype.toLocaleString.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js
index 73b24a6537c3955f2be71db8897fe8b3778417d3..0d0f4108e8f5ef4f2dfaf83ea47d24c00216f618 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toLocaleString method is 0
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A11.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js
  * @description Checking the Object.prototype.toLocaleString.length
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js
index 732a81301a89851c0f558934fd43122796e14016..72f14226401ecf961fe4625a4eb78ed05163c752 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js
index 8934d656468f95bb283c5a86951351b866d7a68b..c5570753cedbc3fbda0f02fdd68d8d61df60d1ea 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js
index 70b25369d05c79b547d425c1e12da9a9399ced49..adb3ce9936e7c83d67f44b111b469f3a9802e056 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.toLocaleString has not prototype property
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A6.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js
  * @description Checking if obtaining the prototype property of Object.prototype.toLocaleString fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js
index e4209bebfa12f6161a27d17776c2679d32539f5b..4a15a4413c931194741f3592e9d2b9618b128151 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.toLocaleString can't be used as a constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A7.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js
  * @description Checking if creating "new Object.prototype.toLocaleString" fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js
index a1fb9c86a75fa4c7241c9b2c17c64451f4baddbf..646bcb400660edb56c2133e0dc3dd4439ebea3d1 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.toLocaleString.length property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A8.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js
  * @description Checking if enumerating the Object.prototype.toLocaleString.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js
index 119b956112b024c0285e684f74a52fc0175425de..d5929c1b79c9380d0b125064ec4164f7d2671a2a 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.toLocaleString.length property has the attribute DontDelete
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A9.js
+ * @path ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js
  * @description Checknig if deleting of the Object.prototype.toLocaleString.length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js
index df58cc10abdec58ae541a8db6f651be40cd3d70f..e0b39e076b2ccbe207b195e0a388cea25c4c42ab 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.valueOf.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A10.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js
  * @description Checking if varying the Object.prototype.valueOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js
index 28e2276573da76779c2342b92eb8740c86d5b301..2ecde7c52de19f186983f93563d780509447454f 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the valueOf method is 0
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A11.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js
  * @description Checking the Object.prototype.valueOf.length
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js
index 0acb04dbab3c0dfa497cbc6624140f48c649f13f..b2bec26f371af2b661bb85d4ab6c6f01ef5da00a 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js
@@ -4,7 +4,7 @@
 /**
  * Let O be the result of calling ToObject passing the this value as the argument.
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js
  * @description Checking Object.prototype.valueOf invoked by the 'call' property.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js
index 2c33caed0b471ac4e9fbfb66d53943a3f0ff7ddd..a9842e5a25c97b6207b2be87414b32998b0f54e7 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js
@@ -4,7 +4,7 @@
 /**
  * Let O be the result of calling ToObject passing the this value as the argument.
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js
  * @description Checking Object.prototype.valueOf invoked by the 'call' property.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js
index d2bf2b5b0fb5e2d488cd37135ee0187c82dab8c3..e3d1fd7d7c4289c361da3f6556399b695251bbf0 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js
@@ -4,7 +4,7 @@
 /**
  * Let O be the result of calling ToObject passing the this value as the argument.
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js
  * @description Checking Object.prototype.valueOf invoked by the 'call' property.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js
index 2882ee4fa1e808d5d52a744630e1bb164920056f..1e26f05f599721db27f9ea7b0b7d171022a35994 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js
@@ -4,7 +4,7 @@
 /**
  * Let O be the result of calling ToObject passing the this value as the argument.
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A15.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js
  * @description Checking Object.prototype.valueOf when called as a global function.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js
index 7cf70095dca8a9cc5cc69f7e6946fbc02bf3beec..5f0dd6f276f5a490af0c3747b98d1bb814dd352c 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T1.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js
  * @description "this" value is a number
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js
index 62541198af1b2abd723ef6a906b8656ec298b9dd..c5c88ff051ef16820e7f1991434a80a7ec414243 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T2.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js
  * @description "this" value is a boolean
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js
index 9c0d04670daeef74a125eef1083f5e92b1e90e05..66b9aa6d897be869986d39eabfbeedbcbebeea15 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T3.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js
  * @description "this" value is a string
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js
index fd7477cc955552e748bcafe2d220ea66732f612f..9c7b3b4df5729d8b23cf2f9d11ec15eca538ebf9 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T4.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js
  * @description "this" value is an object
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js
index 5ee5d547aec62e8354fe4f29e1d2e613d8135551..a227c41dd8c32ec32d50cc28f5db1297e5a1373d 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T5.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js
  * @description "this" value is "null"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js
index 93e2e8569dd0da85b32aa4bed3deab1f84a95173..f4b989c30ad31170c8da0a645f264a7a4086f8d8 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T6.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js
  * @description "this" value is "undefined"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js
index d44c00aec11abf0b779c2c40d4260368511cad04..4e7cd735395bc68a0be513c808d572bd9c093814 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * The valueOf method returns its "this" value
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A1_T7.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js
  * @description "this" value is "void 0"
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js
index 830fc4db22a6de84f4192673f1d1ac2b59301632..f53fbaaaa362c3c3e199b2398db2d65c3b61f64a 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.valueOf has not prototype property
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A6.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js
  * @description Checking if obtaining the prototype property of Object.prototype.valueOf fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js
index aab1315b17a1e6ea465b4457663a6eb70156fb25..23be75a1b3c5aba3f9105107032f19ae329c81f5 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.valueOf can't be used as a constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A7.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js
  * @description Checking if creating "new Object.prototype.valueOf" fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js
index a50edafbf1214742a1123af36f484e4f0cc26526..7872afa5e6229df9349ff5bf713895ff8a4c0b03 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.valueOf.length property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A8.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js
  * @description Checking if enumerating the Object.prototype.valueOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js
index a463663ebd9f28319fa592f902d5621606776281..709a3313ebf998ece8b95ca5ae6d1be15133f6d9 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.valueOf.length property has the attribute DontDelete
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A9.js
+ * @path ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js
  * @description Checknig if deleting of the Object.prototype.valueOf.length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js
index 8fe7a4b307364f54679f5adbc3ceaa044a17ff99..70a0ca21e89327325f48f11a03cf10ff8e6e4e70 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.hasOwnProperty.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A10.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js
  * @description Checking if varying the Object.prototype.hasOwnProperty.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js
index 97137602c301031b8466b1a9b69e40750bd17e57..176f74c252d572c1ad6a1e88e8dfc95298a4f0c6 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the hasOwnProperty method is 1
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A11.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js
  * @description Checking the Object.prototype.hasOwnProperty.length
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js
index 1784caa0b880723f0696098e30e2911e44a1230b..aa0ab4929773b27ec2f58494ffad9c0cdd8a1eb5 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js
index 005898c67420716bfae930f6c324ceec3dd497e1..68b75b0e7bd726f9c8482a238f24073bde7abb55 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js
index 352e60e8500f814db73cc3eb18a8a37ad3d40215..f860127284a93ff87b4c24c88192cc532dce446f 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js
@@ -8,7 +8,7 @@
  * iii) If O doesn't have a property with the name given by Result(ii), return false
  * iv) Return true
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A1_T1.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js
  * @description Checking type of the Object.prototype.hasOwnProperty and the returned result
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js
index 619b2ad492986d2b1fc8c6d85de78069b01598bc..860cd4936100c719c70720a64c216fe8dc121625 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js
@@ -8,7 +8,7 @@
  * iii) If O doesn't have a property with the name given by Result(ii), return false
  * iv) Return true
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A1_T2.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js
  * @description Argument of the hasOwnProperty method is a custom boolean property
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js
index e2970228d63d6465fdb631f3fb69a1474cd84882..cb6cb43bf5768fcedb30b2ade4d8c3612233753f 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js
@@ -8,7 +8,7 @@
  * iii) If O doesn't have a property with the name given by Result(ii), return false
  * iv) Return true
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A1_T3.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js
  * @description Argument of the hasOwnProperty method is a custom property of a function object
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js
index 3659c35397f14b29d7622c6d8ef935dadaf0df3e..2af4fa7669d7afe7696835dcf86b2b47f67990ff 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.hasOwnProperty has not prototype property
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A6.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js
  * @description Checking if obtaining the prototype property of Object.prototype.hasOwnProperty fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js
index c6fc9ecfabc54b027ac5e16160c4355fedba5d8c..d4543791ae969c9a59ba2fb4b11d6a08a6d6a3d6 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.hasOwnProperty can't be used as a constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A7.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js
  * @description Checking if creating "new Object.prototype.hasOwnProperty" fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js
index af49cae5530ae3904d58ffa937212914e0b727c2..d1e24529671468c3a1fbe7a16004cc1a60b70a35 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.hasOwnProperty.length property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A8.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js
  * @description Checking if enumerating the Object.prototype.hasOwnProperty.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js
index bb8a636aa42bb763092d0e758ff2dedcf3fb3f05..c32d75ff87c379cab31b05eece38d85831263b54 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.hasOwnProperty.length property has the attribute DontDelete
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A9.js
+ * @path ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js
  * @description Checking if deleting the Object.prototype.hasOwnProperty.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js
index fda1f2bf753f8a13c71ecbda3c12a3954409d0a8..accc8ba7d731c1340c36619e2f14a77d6f5a7781 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js
@@ -5,7 +5,7 @@
  * When the isPrototypeOf method is called with argument V and when O and
  * V refer to the same object or to objects joined to each other, return true
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A1.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js
  * @description Creating two objects with the same prototype
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js
index 0f2e5cb13efc878a3c240531e2a71c78553b266c..81609c8dc2404d5900bb37aa2c7c28c614761cd2 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.isPrototypeOf.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A10.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js
  * @description Checking if varying the Object.prototype.isPrototypeOf.length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js
index b46654f186a1075e7a55bfe387e4fefb2e890d96..71200a579ae89f82bf5595d4d452258ab572655a 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the hasOwnProperty method is 1
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A11.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js
  * @description Checking the Object.prototype.hasOwnProperty.length
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js
index d2486c8b947820c90e812c3fda9a309182526879..e81cd68d1130d13d96f87d63fb76122afe7f0e0d 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js
index 407ac5fba3a0b832b6b9b9ea26da49f9749839b8..1a37cecdd6c9255a082c4e3a78d777e8f81305af 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js
index bbe1c9e2ca064446510c0428912d69c580955456..b55044497d7cae36cb0facfe291c2ffedbf75b88 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.isPrototypeOf has not prototype property
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A6.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js
  * @description Checking if obtaining the prototype property of Object.prototype.isPrototypeOf fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js
index f27dbb974704b28e87018cad39cb6fa677068499..537ee1bb19ce6741adeab58da5dc73e8aeb85fda 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.isPrototypeOf can't be used as a constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A7.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js
  * @description Checking if creating new "Object.prototype.isPrototypeOf" fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js
index 11e269c19801e103f1ee0574d97e7cb8ebc1be1a..17c7e1e1293110de31fa3d36545f0558c56c84ba 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.isPrototypeOf.length property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A8.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js
  * @description Checknig if enumerating the Object.prototype.isPrototypeOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js
index bd25ea5b33856135e822b9947e3d1d640ff6fed8..fe93b264d15abf32b49bce31e7a0fe6751ddcfd6 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.isPrototypeOf.length property has the attribute DontDelete
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A9.js
+ * @path ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js
  * @description Checking deleting the Object.prototype.isPrototypeOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js
index 9d4d27357673dfb449573bc2259663663f189f26..a375a71ae960270566a9bacd52d26120b61d6edf 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.propertyIsEnumerable.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A10.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js
  * @description Checking if varying the Object.prototype.propertyIsEnumerable.length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js
index c02dc9fb0b689991743a9ed4b6353a30ff0e5a01..c6c54336ea4d0fe91dbf13c8538b7eb16a450b23 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the hasOwnProperty method is 1
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A11.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js
  * @description Checking the value of Object.prototype.hasOwnProperty.length
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js
index 177739a4f0272abc074e22a6807ca9c0196a9786..6340475e3f63edb541fa4954b1af6032298f75a8 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js
index 8b8fde0fe7b691254406950e0c093cc05c2a68e9..d053e6ab45e20386db1de56196b40c39907a4797 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js
  * @description Let O be the result of calling ToObject passing the this value as the argument.
  * @negative
  */
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js
index 9023a8f05c6855044ba979502da3855f24af3e2b..455bab10aecb16038e1669f60bcfd1dc3c462b67 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The propertyIsEnumerable method does not consider objects in the prototype chain
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A1_T1.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js
  * @description Calling the propertyIsEnumerable method for object in the prototype chain
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js
index 17c14c49bb578d6a0dbd931bbc749ffb31767ce1..b7a328f79def0bc41e1d5c1aef3229ffdd197de8 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js
@@ -9,7 +9,7 @@
  * iv) If the property has the DontEnum attribute, return false
  * v) Return true
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A2_T1.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js
  * @description Checking the type of Object.prototype.propertyIsEnumerable and the returned result
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js
index 678f57490cca139fc24661fe960db2e0d5db8889..373880b83a6714ef0056b965f2e108f312657e2b 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js
@@ -9,7 +9,7 @@
  * iv) If the property has the DontEnum attribute, return false
  * v) Return true
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A2_T2.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js
  * @description Argument of the propertyIsEnumerable method is a custom boolean property
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js
index 025df44f053a088e134d389c4aa14ab08c809507..0e74d7a83fb17a689038babbde9d843a33407976 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.propertyIsEnumerable has not prototype property
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A6.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js
  * @description Checking if obtaining the prototype property of Object.prototype.propertyIsEnumerable fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js
index 307f758819d0991a70a7f6a3b4cab3e3d1504f7c..6c0974bfd74093daa1276201a697223fc072d87c 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js
@@ -4,7 +4,7 @@
 /**
  * Object.prototype.propertyIsEnumerable can't be used as a constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A7.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js
  * @description Checking if creating "new Object.prototype.propertyIsEnumerable" fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js
index 23912632ae2973cdf35eea7f3d0a7f4891eb4cf4..e83f04365b5f8e175d67d7ef2aa97c73c8bdf862 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.propertyIsEnumerable.length property has the attribute DontEnum
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A8.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js
  * @description Checking if enumerating the Object.prototype.propertyIsEnumerable.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js
index 9279a6c405807431313ae9b2e1838ded9febebe7..139add613686c6ea4c0a13ba3cd7f8cb1ed8fe16 100644
--- a/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js
+++ b/test/suite/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Object.prototype.propertyIsEnumerable.length property has the attribute DontDelete
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A9.js
+ * @path ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js
  * @description Checking if deleting the Object.prototype.propertyIsEnumerable.length property fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js b/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js
index 2344df71ee59434ad5b7278b24f8584591b04e3c..393c83870a2dce8098a8dd40b613e326e9b41e42 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Object.prototype.constructor is the built-in Object constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4.1_A1_T1.js
+ * @path ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js
  * @description Checking the Object.prototype.constructor
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js b/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js
index af1c7016f2e64fb53e6580a1f4a00c2e486d9b4d..df3b111f70d1aeb642df0f230b97e92de6ed6ba7 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Object.prototype.constructor is the built-in Object constructor
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4.1_A1_T2.js
+ * @path ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js
  * @description Creating "new Object.prototype.constructor" and checking its properties
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T1.js b/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T1.js
index e471af1ab3590180891305800028f2e494575830..cfdbafe9f3fff168acb641680a020b1aac8a52a9 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T1.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Object prototype object has not prototype
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4_A1_T1.js
+ * @path ch15/15.2/15.2.4/S15.2.4_A1_T1.js
  * @description Checking if obtaining Object.prototype.prototype fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T2.js b/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T2.js
index 16382e8f2a8c1ced1ca1e64dac76420a167c42ad..1c6e97e24ba16e83b68ebb3b89c8b69fc3fbc4fb 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T2.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Object prototype object has not prototype
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4_A1_T2.js
+ * @path ch15/15.2/15.2.4/S15.2.4_A1_T2.js
  * @description Since the Object prototype object has not prototype, deleted toString method can not be found in prototype chain
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4_A2.js b/test/suite/ch15/15.2/15.2.4/S15.2.4_A2.js
index d6e372a3b77321759aa03d2cb6f6a8aa78addb48..d0d5647cc2ffa62cf4a567a51e708192ca4d1dad 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4_A2.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Class]] property of Object prototype object is "Object"
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4_A2.js
+ * @path ch15/15.2/15.2.4/S15.2.4_A2.js
  * @description Getting the value of the internal [[Class]] property with Object.prototype.toString() function
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4_A3.js b/test/suite/ch15/15.2/15.2.4/S15.2.4_A3.js
index 6eb0ed421fdca7723778dc220bf72fce66d322a4..cd5dc8b2dffdfaa4e2a078d61bdf0ede7830bc9a 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4_A3.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * Since the Object prototype object is not a function, it has not [[call]] method
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4_A3.js
+ * @path ch15/15.2/15.2.4/S15.2.4_A3.js
  * @description Checking if calling Object prototype as a function fails
  */
 
diff --git a/test/suite/ch15/15.2/15.2.4/S15.2.4_A4.js b/test/suite/ch15/15.2/15.2.4/S15.2.4_A4.js
index fbdbc888423b00239706242dc76594ff4925ddb6..34a95179c709ef8bef693271fa165abf265994c2 100644
--- a/test/suite/ch15/15.2/15.2.4/S15.2.4_A4.js
+++ b/test/suite/ch15/15.2/15.2.4/S15.2.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * Since the Object prototype object is not a function, it has not [[create]] method
  *
- * @path 15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/S15.2.4_A4.js
+ * @path ch15/15.2/15.2.4/S15.2.4_A4.js
  * @description Checking if creating "new Object.prototype" fails
  */
 
diff --git a/test/suite/ch15/15.2/S15.2_A1.js b/test/suite/ch15/15.2/S15.2_A1.js
index f42fb36bf383b6abec8ca36a2eb9c179f9bc0084..985b65afc73d0b78ec070449828be3f6b1a45bdd 100644
--- a/test/suite/ch15/15.2/S15.2_A1.js
+++ b/test/suite/ch15/15.2/S15.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * Object is the property of global
  *
- * @path 15_Native/15.2_Object_Objects/S15.2_A1.js
+ * @path ch15/15.2/S15.2_A1.js
  * @description Checking if Object equals to this.Object
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js
index 8e3377f486a02d3b592bed1569f58d8a0f075b6c..b555fa475f6000e7a1757fa604d799b4331f6cea 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T1.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js
  * @description The body of the function is "{toString:function(){throw 7;}}"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js
index 52a376b03b0df0a208ca1afa9c444712275e184c..bebedfa7bb8db859dc95b5fae52ead58a9789d2f 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T10.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js
  * @description Value of the function constructor argument is "null"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js
index b17bdf17b2472d6f56f4804280d9b4f001e7fed9..15c27010d7eab554bb576307ea45504fcb0d93eb 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T11.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js
  * @description Value of the function constructor argument is "undefined"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js
index 30021cc07300593ac61f448b6d2d54d4e554fdfa..fd076fdd5094a8f83c2c3ed527ba51f26a778e16 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T12.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js
  * @description Value of the function constructor argument is "void 0"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js
index 7738516f65ee53e4364259f784fa4d95c378f3e6..4c29ed8347dd6c85158eb13688b7a52b3ee550fb 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T13.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js
  * @description Value of the function constructor argument is "{}"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js
index aa0b1940144a1cdbac06b33f57cf11f879b7c281..fe9bc5575136b662e7cc36ca31fc143b366e4874 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T2.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js
  * @description The body of the function is "{toString:function(){return "return 1;";}}"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js
index e30bd8cbfcbf373696a3d9031d7a447d17b50493..16bbcb38be5108aa8b9bf90f52ab276dadc0871e 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T3.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js
  * @description Value of the function constructor argument is 1
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js
index aae414a8f6329ac5b133802bef677741bd36cd6f..5747cf649c6f0cf90c77f01ce76232712e70132a 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T4.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js
  * @description Value of the function constructor argument is x, where x is specified with "undefined"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js
index 5970bbf642f3325b913886f10ca8d2658c061ec3..8465f24e277f4c1b836cd200386638126a41ac91 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T5.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js
  * @description Value of the function constructor argument is "Object("return \'A\'")"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js
index a4cf0f77aeaa375d62d76411a64e0d06ebe923a3..08893ef08c8d8e3bb633b384f5fecb55d7d7a10c 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T6.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js
  * @description Value of the function constructor argument is the string "return true;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js
index 7f791b6d0478a956a9bd0aa14f9ff7bd0bd4314e..072bb2dadd1be2d85617cc8fb22061a5bbd4dea1 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T7.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js
  * @description Value of the function constructor argument is "Object(1)"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js
index ff1e797e2d5d3cac3c49d8f1c58db5c1552e48fe..66c143da2c44a347c7f543c23338b1c3db682ef2 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T8.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js
  * @description Value of the function constructor argument is "var 1=1;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js
index 8ae21517d3bde07b949baceff4cb1024cdbd5560..c0db5a24755ba2336eeef633162c327c0da9b0b9 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js
@@ -10,7 +10,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * v) Return Result(iv)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T9.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js
  * @description Value of the function constructor argument is "return arguments[0];"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js
index 51885840acff04f534b3a20d838804f2b71788d1..d55278080f9106514d8c1c43beee5ee352c3c266 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * It is permissible but not necessary to have one argument for each formal parameter to be specified
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T1.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js
  * @description Values of the function constructor arguments are "arg1", "arg2", "arg3", "return arg1+arg2+arg3;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js
index 415af60054d3a589d2afe4f384126a33103ef24f..b9deb65a09a9a45e6ce061d047e623af4d5a7696 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * It is permissible but not necessary to have one argument for each formal parameter to be specified
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T2.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js
  * @description Values of the function constructor arguments are "arg1, arg2", "arg3", "return arg1+arg2+arg3;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js
index 5579e21723a849d738cd1a0ba0917667349147b7..d46d16ac6d686c2549fd66ec9c39a5fe0915033d 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * It is permissible but not necessary to have one argument for each formal parameter to be specified
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T3.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js
  * @description Values of the function constructor arguments are "arg1, arg2, arg3", "return arg1+arg2+arg3;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js
index 28ba267785a6cfd0ae54750c96640d41dfd10755..99dab211dafdb38fb451d16ef6a9885bedad4466 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * It is permissible but not necessary to have one argument for each formal parameter to be specified
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T4.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js
  * @description Values of the function constructor arguments are "return"-s of various results
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js
index dc940f10ca26cb6fce8009453ac16be00927f3fc..2953c784ea883252a19d0473b1e76a7e33ce5f9b 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * It is permissible but not necessary to have one argument for each formal parameter to be specified
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T5.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js
  * @description Values of the function constructor arguments are "return"-s of various results and a concotenation of strings
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js
index bbd6d4534e1887ac88df9cd32329e8c11a566a8c..c9cdbbe25708b20bade97cc1aa7e57f411436dc7 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * It is permissible but not necessary to have one argument for each formal parameter to be specified
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T6.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js
  * @description Values of the function constructor arguments are "return"-s of various results and a concotenation of strings
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js
index 141b9eb3eb038f76603c02ae029a71971d330b35..d88a7125b63c118cc86c18cf5713f1214c19e964 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T1.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js
  * @description Values of the function constructor arguments are "{toString:function(){throw 1;}}" and "{toString:function(){throw 'body';}}"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js
index 9fef7fb3fd1ecdb7544eae927816aaeb6f5b35a4..c51f90ac08b3f8c9c46484c11182f3f829bdd17e 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T10.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js
  * @description Values of the function constructor arguments are "{toString:function(){return "z;x"}}" and "return this;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js
index 3f9b19f4f15150ba6c7fac91076169c95fbac374..9bebddcc9e5f67290c97675fd0fbcedac7887b75 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T11.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js
  * @description Values of the function constructor arguments are "a,b,c" and "void 0"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js
index 95d3ba3bddde92e4595126c00e459826fcdcce17..2ab0d4289d09ba49dd74b099e67e02604982c508 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T12.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js
  * @description Values of the function constructor arguments are "a,b,c" and "undefined"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js
index aabcb8b8d2d64fe28c14425d5c074ea913198716..120e8f857c46712b1b9893e7db6a8f773d7f8177 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T13.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js
  * @description Values of the function constructor arguments are "a,b,c" and "null"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js
index 89dfcc2ae042ada8f8da7e35cc8df6b8314be3f5..6b936260d897b9a0b2fb3aa5f39c23796036c4b8 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T14.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js
  * @description Values of the function constructor arguments are "a,b,c" and an undefined variable
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js
index 658cb1cec2b9db66b9df5bea9c289e7c43d6f1cb..b1c430d091cff0f994a86d0588177fda905f4a9c 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T15.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js
  * @description Values of the function constructor arguments are are two empty strings
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js
index 9aa5ee7fcb8a999d2dc7d25abf44c16366757440..d6ba8f1e181aa9894f32b1317efdefad843d4013 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T2.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js
  * @description Values of the function constructor arguments are "{toString:function(){return 'a';}}" and "return a;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js
index 34da8334d3bab23998f760477ede68ca723393bc..7e23616acc7121cd07949ac30c3011b9efb5820e 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T3.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js
  * @description Values of the function constructor arguments are "{toString:function(){p=1;return "a";}}" and "{toString:function(){throw "body";}}"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js
index d8b3f5f61188bff01cae022b6f7978d7412e6446..50ca1f4e86f58ffb27312f18305f1a51d2260d97 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T4.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js
  * @description Values of the function constructor arguments are an undefined variable and "return 1.1;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js
index 777966a8ca5ee78f4a92a82e4cca8f7ba977ef53..4591d11a3b6891377375e308ae982b2b2f9113d4 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T5.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js
  * @description Values of the function constructor arguments are "void 0" and "return \"A\";"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js
index ad3bacf9588e00fbab63d934e08d43723f47bcbc..1015e215ee77268bbb2c8c6f4931336087f35a78 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T6.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js
  * @description Values of the function constructor arguments are "null" and "return true;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js
index 47270216d7c70a5e01d2978925fe49fb5eead888..d78484373ce091cdb443a91437a15aa870ec2bf9 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T7.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js
  * @description Values of the function constructor arguments are "Object("a")" and "return a;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js
index 59c96996ffb0fa7b45c4cc027ac73a3f20d7c1ac..89464dcea0d69d926baa4281eafa0f1264dd71ab 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T8.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js
  * @description Values of the function constructor arguments are "undefined" and "return this;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js
index 6fce4e2361c582fde20e0bf4d98a44245a97a872..befbdd9d2cfc3feb0a79d7e855467370e6958b71 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js
@@ -12,7 +12,7 @@
  * Pass in a scope chain consisting of the global object as the Scope parameter
  * vii) Return Result(vi)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T9.js
+ * @path ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js
  * @description Values of the function constructor arguments are "1,1" and "return this;"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.2/S15.3.2_A1.js b/test/suite/ch15/15.3/15.3.2/S15.3.2_A1.js
index 99ff9fed066ed460505d40dccf0362675ee7706a..0ad4336e85e8223ea044d4874bc4291357700d83 100644
--- a/test/suite/ch15/15.3/15.3.2/S15.3.2_A1.js
+++ b/test/suite/ch15/15.3/15.3.2/S15.3.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * When Function is called as part of a new expression, it is a constructor: it initialises the newly created object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2_A1.js
+ * @path ch15/15.3/15.3.2/S15.3.2_A1.js
  * @description Checking the constuctor of the object that is created as a new Function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js
index 0a7e7882b78c90cf11675e448c73e04e25bd1960..0db8f44b3a2edd8b3b2443e36d2997469a177441 100644
--- a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js
+++ b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype property has the attribute ReadOnly
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A1.js
+ * @path ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js
  * @description Checking if varying the Function.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js
index aae11fa27e398a90d8a43e9817fe180a553b3fc7..7f4f9a04a1f7e7778e19b04fd428f0e325e16326 100644
--- a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js
+++ b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype property has the attribute DontEnum
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A2.js
+ * @path ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js
  * @description Checking if enumerating the Function.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js
index 6e3f8e8b1c5379ad8f27c48b405d263eca04d8d0..a03351de88df7262e8b59470664ea22271c31534 100644
--- a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js
+++ b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype property has the attribute DontDelete
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A3.js
+ * @path ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js
  * @description Checking if deleting the Function.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js
index 652e04458c5147ad6d99cb4432f4599ed973985e..edd70c32ab8b4b049bceccdc9fbba8ae790a1a75 100644
--- a/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js
+++ b/test/suite/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js
@@ -6,7 +6,7 @@
  * as seen by normal object operations might deviate from the value
  * as seem by Object.getOwnPropertyDescriptor
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/15.3.3.1_Function.prototype/S15.3.3.1_A4.js
+ * @path ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js
  * @description Checks if reading a function's .prototype directly
  * agrees with reading it via Object.getOwnPropertyDescriptor, after
  * having set it by Object.defineProperty.
diff --git a/test/suite/ch15/15.3/15.3.3/S15.3.3_A1.js b/test/suite/ch15/15.3/15.3.3/S15.3.3_A1.js
index 7cbd2d16d29f6defc72aec547e2c81f4db30a6d9..668a9ab246f8711ecb971d13080845f197182cef 100644
--- a/test/suite/ch15/15.3/15.3.3/S15.3.3_A1.js
+++ b/test/suite/ch15/15.3/15.3.3/S15.3.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Function constructor has the property "prototype"
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A1.js
+ * @path ch15/15.3/15.3.3/S15.3.3_A1.js
  * @description Checking existence of the property "prototype"
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T1.js b/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T1.js
index f89ce2a0462ac02f83c04cbe90d139ed70535d4e..70a280e7263cfc029c01fe41e36a1c3bfaaf3d61 100644
--- a/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T1.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Function constructor
  * is the Function prototype object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A2_T1.js
+ * @path ch15/15.3/15.3.3/S15.3.3_A2_T1.js
  * @description Checking prototype of Function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T2.js b/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T2.js
index acbbe744b757e166c356b7dc911c6d5de9385485..a067cf202ef6b96c770ff1635258013b38ad2d4f 100644
--- a/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.3/S15.3.3_A2_T2.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Function constructor
  * is the Function prototype object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A2_T2.js
+ * @path ch15/15.3/15.3.3/S15.3.3_A2_T2.js
  * @description Add new property to Function.prototype and check it
  */
 
diff --git a/test/suite/ch15/15.3/15.3.3/S15.3.3_A3.js b/test/suite/ch15/15.3/15.3.3/S15.3.3_A3.js
index f6fbba52c10b9ada98ab3445016db8b437a39deb..5e2ae99f9517bba2a8a1de6327cfc1f2dab5e244 100644
--- a/test/suite/ch15/15.3/15.3.3/S15.3.3_A3.js
+++ b/test/suite/ch15/15.3/15.3.3/S15.3.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * Function constructor has length property whose value is 1
  *
- * @path 15_Native/15.3_Function_Objects/15.3.3_Properties_of_the_Function_Constructor/S15.3.3_A3.js
+ * @path ch15/15.3/15.3.3/S15.3.3_A3.js
  * @description Checking Function.length property
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js
index 67f9104ccd329f23f693affaa11205bca975b5d9..a48f8a86a0a3da95905e96a3a8dc8d283ff01e4c 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.toString.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js
  * @description Checking if varying the Function.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js
index b390436f28437b7fadeb3328cf931b449016a0a0..b5c98b1319c12e4e10912c3386983c12fc1dd1f4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toString method is 0
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A11.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js
  * @description Checking Function.prototype.toString.length
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js
index 5c15235a32c3f69873128354be118c50c3eb5f23..73f979d52f6556f74c8be8a208bd635339182ac9 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js
  * @description The Function.prototype.toString function is not generic; it throws a TypeError exception if its this value is not a Function object.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js
index 26ff4a56a97238312bc02734f12bb049672cc91b..fe4e6a0201a9deebae0521b39cd9154c34112ae8 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js
  * @description The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js
index 4d6272bd407a494d221b4cfd0b4ec4eb932ad863..4f7fe886df7de57958db1324472cd41d1697b251 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js
  * @description The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js
index 6627b6d921b8a5234d2e7a7f07a41bf0678e6bc2..20e2f4362aba2ec32694281d489ab900b23fb151 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js
@@ -4,7 +4,7 @@
 /**
  * The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js
  * @description Whether or not they are callable, RegExp objects are not Function objects, so toString should throw a TypeError.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js
index 54241c18adf06699021ffa3d39c328cde0670d92..141465ba3c37d91ffd1fe03e8ddd7d56c66fda81 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js
@@ -4,7 +4,7 @@
 /**
  * The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js
  * @description The String constructor, given an object, should invoke that object's toString method as a method, i.e., with its this value bound to that object.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js
index 0d625ee444c008befe549232d86f7dcc2b95eb8c..fd3578e46a477b9ddb8c59e5a8275a55531d14a5 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.toString has not prototype property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A6.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js
  * @description Checking if obtaining the prototype property of Function.prototype.toString fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js
index b167ba9e50d40e1e4c3f0e9d00a168ab22c264b3..c7b2d4856939dcaebc5efc304e3a114bfae283a4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.toString can't be used as constructor
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A7.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js
  * @description Checking if creating "new Function.prototype.toString" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js
index 306d92aa47162285857e8408947f74e8dc3b4285..1b81b603baa1e9dd413342511bc0b2f2bc03d9de 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.toString.length property has the attribute DontEnum
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A8.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js
  * @description Checking if enumerating the Function.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js
index ccf99895c085830061bc394a00843f3743c5c507..296ca7ca0650916d71c053caa011b603bb82148b 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.toString.length property has the attribute DontDelete
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A9.js
+ * @path ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js
  * @description Checking if deleting the Function.prototype.toString.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js
index f2dd947843507eb387e56fda378c589666e233fb..71c3710fea19e0511aff0ecd14dc2b8a3f23f20b 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.apply.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A10.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js
  * @description Checking if varying the Function.prototype.apply.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js
index 2ab23f7eb5f2102b17d7db99e697a13e734d22ca..8f088e62ebf6d174e80d321b1e3028a7d636b7ce 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.apply.length property has the attribute DontEnum
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A11.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js
  * @description TChecking if enumerating the Function.prototype.apply.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js
index 8997336cdd4f436cc0f17d39d1792da8b4e34717..85455d5bbae96732600f73fbfb233fcdd923f224 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply has not prototype property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A12.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js
  * @description Checking if obtaining the prototype property of Function.prototype.apply fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js
index 462c3fe43895c37f523173b42ecfc381728bc17d..0f1f087c3a55d58c1abe9705b3a081310f82d1a6 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js
index 04e7db2495e1dc30cc356ed0136829556e9a304a..a87c26d4320d814f5007d3d4ce7c4fedb63c58f4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js
index a52426ebd722c7c397b03c865dc4f3cee74712ef..d4c6c1c65f85ca8b8b5d0f780a6d485bf29c67f3 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js
index e2ab19526dc1af04970158244dddc6545518c521..75b0af2877dd0d59ca6fc5b715281942502d03db 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js
@@ -4,7 +4,7 @@
 /**
  * If IsCallable(func) is false, then throw a TypeError exception.
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js
  * @description A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case apply should accept it as a valid this value.
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js
index 3bc839ce3cfdfe6449658e120af7d563b6a7eed5..0a612b7d1aaced777578f3d55f8a07ca0626bdd2 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js
  * @description Calling "apply" method of the object that does not have a [[Call]] property.
  * Prototype of the object is Function()
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js
index 2cac831485474d394f908ba3955f667880081f1d..406c5c5783eec8c8b6d95aaa87057ce4c7fc7692 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js
  * @description Calling "apply" method of the object that does not have a [[Call]] property.
  * Prototype of the object is Function.prototype
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js
index 9c25285a9f96ddfb15b36a1cee34573539315229..9e771fc8297e184728121d73c6f9e0cb48746073 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the apply method is 2
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A2_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js
  * @description Checking Function.prototype.apply.length
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js
index fc31bdf99241db3e42fc55075f2b2c451989f77b..f714a10c7be6aa21f31df3e698d0d3731e77d516 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the apply method is 2
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A2_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js
  * @description Checking f.apply.length, where f is new Function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js
index 969362fef08436a2cebfc86acdc041e5cf3c4a38..0b5908aa472b3d2dc20ed250cf8d4a08614f12f4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js
  * @description Not any arguments at apply function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js
index dc9f74213d79e01a3ac6ca1cdb6ff9db0a769430..4e7e7b2a982590dece6e7eae0b453211854325ac 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T10.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js
  * @description Checking by using eval, no any arguments at apply function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js
index 678cbf8fd21dec4f4fd12744d97828935f9af62e..9118b69eb9939b9cc845f3ee892af63c022ff5b8 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js
  * @description Argument at apply function is null
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js
index e46b32dbe8cb3c785d774883d96b3a5adb89c14d..279a70ef7373980ac0015ef9df642f73bfd827a3 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js
  * @description Argument at apply function is void 0
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js
index b06eda866d4f4d7c351e6f83bad5fee699da98cb..bba4b3d455f00c8cddd41d8ce4361a07eaea6e60 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js
  * @description Argument at apply function is undefined
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js
index 3ca79241db7b6622213e79a02e5c3329e6c09c3a..608c81f6300e0240a03bd07a52054ef84ae544b8 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js
  * @description No any arguments at apply function and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js
index d2452dfc3835eb4083417609c353e7b60cd93061..c02bcd81c09a91336354e8b1ca075ee7b9c46aa9 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js
  * @description Argument at apply function is null and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js
index b9e653cf2f8d79abe62186a81b9b6c030f7a7f4e..ca8b3248f084305e7d36c7000a0cc6893f0a0d43 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T7.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js
  * @description Argument at apply function is void 0 and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js
index 0e2630c1a29abd1e1f47dffc047f457a59da2ab4..07a7313962e9d3c0f44cc3a5a8804bb9e0ab6d8a 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T8.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js
  * @description Argument at apply function is undefined and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js
index 66bfc06b825139b8608059ab9299dffaf44f2dc9..2c4d250ac12a358dca2a6bd8ea8bebe6a142f09e 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A3_T9.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js
  * @description Checking by using eval, argument at apply function is void 0
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js
index 973d500d9e92102d85eaa15b6775a288e6a5e8bf..0ac56c9e7c9b8338a929d605c15e40bdfd23fa2c 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js
  * @description thisArg is number
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js
index 426749e7333aa3e55fc853b23f842dc54bb9ea85..32d22bd0f7d7c5e82b5c9a5c632d0f5853e38521 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js
  * @description thisArg is boolean true
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js
index b36dee91c121b3f2b725d020103ed8df949b0128..a2b9ae6011124bcf2160b1aa4fc4877f4efc0aa3 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js
  * @description thisArg is string
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js
index 0097b5be60ec50f138a2b643a1d5723ba14da6ba..956f43e7e5b12aefd06dd6851cb0833a89e72a24 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js
  * @description thisArg is function variable that return this
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js
index 75cd932d32b819df3de1b2fe99e890b026f90b32..871b74c45483d2cf17e3f5e53bb44c2d4a7a69ef 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js
  * @description thisArg is function variable
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js
index 097947600e751e74de3d9dc8cbc53ba7f689e8a9..31f57cb3d0264b1d4a420dce0b17e4606e4edec9 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js
  * @description thisArg is new String()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js
index c53a60bfe22b9bcd74d7340d07400b5d78e87bde..4c0e95e891b9febefa880107056428d3611267f7 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T7.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js
  * @description thisArg is new Number()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js
index 43666db2b096cebc73bc85bc2ef2d5acb4feb0b2..c0dca08ebb1a6c86556f4f466ac1220386207e3e 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A5_T8.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js
  * @description thisArg is Function()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js
index afe38352bb2ad8a6f8ba7846f131519cd7ac7fda..d9e7ee3610499d299ef1ccfe0e0f69fd33d886e4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A6_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js
  * @description argArray is (null,1)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js
index 243f644ced0ba22c0d25b1a667e1b94388439aa6..c7b57c7c79d7fd632ce505f13b083a6e22a08e78 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js
@@ -4,7 +4,7 @@
 /**
  * if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A6_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js
  * @description argArray is (object,"1,3,4")
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js
index f5accda72b00c8bcafb799520188885243d6664d..d888ffb4d8b2b313bb001980c255efe9c72e3526 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js
  * @description argArray is (null,[1])
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js
index bb27b11855e2a773f4f9a466572cca7a81a797a8..254ccb5e503b943b064f16cd68bd4e20e2abdd93 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T10.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js
  * @description argArray is (empty object, arguments), inside function call without declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js
index 6b7674824e6025f39401a5039d02152403287e65..ef8ee5f545cacc6fa89c922e5acece696f38170c 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js
  * @description argArray is (null,[1,2,3])
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js
index 5383bf5d1301933eddef991151f7c607f055de41..cf003fe4b331487196666a27d78ed6515d94280c 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js
  * @description argArray is (empty object, new Array("nine","inch","nails"))
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js
index 671c13a5c225c6fcc65c5e72c5b5b6a4bda34b7f..35db7b9c29a2f35be9a670c404e999c130d732e8 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js
  * @description argArray is (empty object, ( function(){return arguments;}) ("a","b","c"))
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js
index ad7999f22de678b566e1aec3fb96e5d8b1b8ea15..ee656e882aa8dd5f5fada60a893f29cfcf5007ec 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js
  * @description argArray is (null, arguments), inside function declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js
index 60731c669d8a3fe3b758dc81d6e7f90a5489e098..90ac74272bb18bb5f5f4e11358795e9dcac2874a 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js
  * @description argArray is (this, arguments), inside function declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js
index ba51079a81fc6f3ff0a1044cd6fbf9be54fba85d..ff85f3462a9bb8e232a762e7c94cc7e383c21daf 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T7.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js
  * @description argArray is (null, arguments), inside function call without declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js
index 89c0672d6eef7d34e8b49c7a48207f4d74fffcc2..031b407f728aae544cd8444f91a572460163e391 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T8.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js
  * @description argArray is (this, arguments), inside function call without declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js
index 1f473cbe2b0fb7510632e0cdc55c6cb0733451e3..39ee45645781ff64c88c8d2cfb4f8fa49535d043 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js
@@ -5,7 +5,7 @@
  * If argArray is either an array or an arguments object,
  * the function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A7_T9.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js
  * @description argArray is (empty object, arguments), inside function declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js
index 1395d64ef594256973b0b0ead869381c3aaccc33..6db73fc7584f5c2c450c41f5928b9fa4498835ba 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply can`t be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js
  * @description Checking if creating "new Function.prototype.apply" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js
index c6e7ce772a7f6dbbf101cd26925181c62b7d1e7a..05cab52c54de7ef6c10725a92117191b35365ef2 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply can`t be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js
  * @description Checking if creating "new Function.prototype.apply()" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js
index 16ce24dcc6fee175731e476a6c22a9636a6c292a..123948135d2809d970585f0245c7cfaa8a2c56a0 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply can`t be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js
  * @description Checking if creating "new Function.apply" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js
index 7016395a7c996012983f6a9ebdfa49eaf4d9885f..75124092082f4afed7dac9df026c94a3985f3328 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply can`t be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js
  * @description Checking if creating "new (Function("this.p1=1").apply)" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js
index 067666a176474873be65a843d972999f3a374d2b..a69cae1d3ccdfd99fc124057cb49e2cced3693ec 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply can`t be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js
  * @description Checking if creating "new Function("this.p1=1").apply" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js
index 7deef9315edeb6f9f5477e5f651db2b5b3d8012b..9e44a4ab5a12ed3240d0bc72498e5d99884ce554 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.apply can`t be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A8_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js
  * @description Checking if creating "new (Function("function f(){this.p1=1;};return f").apply())" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js
index 14750483fd1a5dffa0d2303a7f1ed7e31561059c..9ebf423aafc655517423e31ab07cbae49da44739 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.apply.length property has the attribute DontDelete
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A9.js
+ * @path ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js
  * @description Checking if deleting the Function.prototype.apply.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js
index 999f01edc7224075fc83d1bb35e0f34a6a833f3c..ee76d447f480fdda0c24d9e49fead92efcd0bb44 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.call.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A10.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js
  * @description Checking if varying the Function.prototype.call.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js
index b463997c5a1a01d745858b253dccd0cb256de553..987f9ee3ee9a75221961559c5a736393b391dd95 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.call.length property has the attribute DontEnum
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A11.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js
  * @description Checking if enumerating the Function.prototype.call.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js
index 77201375d32b0d159aaec6100f71472a1eec0e05..c8fbff69a0a6ba42aec6fd57ac1dd6596312cb5f 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call has not prototype property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A12.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js
  * @description Checking if obtaining the prototype property of Function.prototype.call fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js
index 5c940a57a76fd9c37ed8ba6c391bf5274ecc8bed..5b08ca2182cb32d248694de46176b6c5a9a6ff10 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js
index 1a5113cd92cab065b84e98759f0f4bf54d6215be..9fde7ac6074cf47b28ceaecaee41883cb94f2376 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js
index da238bd2023f1ec87611f705c28163391b10e12b..56624d8fd9b9c4a35476eadcd68ef752fa728de6 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js
index ddb90098d9be2f21d3c5ecde9e10d6760c25fc44..c32a02957dd650184b477ecc8bc2e339c164f1f8 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js
@@ -4,7 +4,7 @@
 /**
  * If IsCallable(func) is false, then throw a TypeError exception.
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js
  * @description A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case call should accept it as a valid this value.
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js
index cface9832bf477d12178fe0ad9e506a8684f5fcf..e9bec03205feace1464d21921cc80d1232702a6e 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A1_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js
  * @description Call "call" method of the object that does not have a [[Call]] property.
  * Prototype of the object is Function()
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js
index 9d932456297f822c23ef0efb912f42c9519e0adf..637cf20d1e5a99837bee60ea9079d3d4679acd34 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A1_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js
  * @description Calling "call" method of the object that does not have a [[Call]] property.
  * Prototype of the object is Function.prototype
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js
index 9f5c547b1ef137842f942ab46da0a7eb971d4955..c8282a2698fe0e74a1fa03548f51afd48391de0a 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the call method is 1
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A2_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js
  * @description Checking Function.prototype.call.length
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js
index 6438b6e8676f0ea69c28193fa3eb9ee8f2d728c7..f76bdc230a5adece088d5ebe83084f250f24ba29 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the call method is 1
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A2_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js
  * @description Checking f.call.length, where f is new Function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js
index 38dd01d6c787af7ca9174d94ea08ccd1c35fbc98..6dcf5ccca5fd7724febe892755c20ed010d5cff2 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js
  * @description Not any arguments at call function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js
index 4c466d3ecc81e28adf3d69541a6ae46e4cf67b3f..1a8a62569451f671a11a05b97ebd021f9398b843 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T10.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js
  * @description Checking by using eval, no any arguments at call function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js
index fe955c01a4ac20ea77c377244b8ba1651aa9a961..c356ff4aa4d659fc4c2e275c8150aace324da090 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js
  * @description Argument at call function is null
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js
index 2b0f026e5601e56c95442509228d46a17b34fd80..5eb42018e274e9f9714488be94edc8d8b7a1b3aa 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js
  * @description Argument at call function is void 0
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js
index 37358682ad5ef8bf324d727511b47f8416f9b972..f643ac4295bfbb96a52eb8a8496d4e9dabcb2b66 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js
  * @description Argument at call function is undefined
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js
index be3d61688fa690c856bb6388c1d201f75bb878ac..47f35a67e2e549dcccc6586aa0f3b8b712e399ce 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js
  * @description No any arguments at call function and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js
index ecbfe9b275e7339332e38871cbb78cc1a7cb05e1..25c8fa0709d5c6a65bec060aa17b371611e17cc5 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js
  * @description Argument at call function is null and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js
index 9c2967ed074241b101b3f8004155bc29d5c97209..6fa6551a7b7eb6d81d0aa58838a5fef956dfd2b3 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T7.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js
  * @description Argument at call function is void 0 and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js
index 483df7da0afbb2accdd9e7fb494673516119043a..575230da8d064b267304465d75838a6fdae0821e 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T8.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js
  * @description Argument at call function is undefined and it called inside function declaration
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js
index 3a3cf7907e357529918caf883f5e8c7152f5cc88..4efc2e7712fbf9f12758dc9aa21f90fd91edebb4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is null or undefined, the called function is passed the global object as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A3_T9.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js
  * @description Checking by using eval, argument at call function is void 0
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js
index ecf1c7a94a53502e42943cfb0230022572027a92..f274db083580ba9838163f5062be5bd50a404bff 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js
  * @description thisArg is number
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js
index 3769242f4db671a68e61ae97e21b52cfde8ccf31..1e594dd96bae206defaea7960b321f476e736030 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js
  * @description thisArg is boolean true
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js
index 5879ee14b65a59da3fd8feeb1dcbe11693c5ff22..665bf1010a730de814be490dae1918075fdbc959 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js
  * @description thisArg is string
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js
index 9cf2aeb28d30bb393400d5c7f68197ebeb970d9c..05cff1df0cbce20a3ac6ea3f8d3edc900c351030 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js
  * @description thisArg is function variable that return this
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js
index 6e5e3a8b0fd3dc71b20376c96f28c81ee534b74b..96795e15089f36f77efca0fdaacb8588c821fc2a 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js
  * @description thisArg is function variable
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js
index 33d13bab869aeb9461470ebcea089bb9fd622f63..127954e68c0559fcbe3a53fe5a417ab1eae92757 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js
  * @description thisArg is new String()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js
index 07260cfc2ba208c99c8333d4dfe853c0a770c02e..f6166f31a3e0964c775fb1e4c35df7581ec6ff55 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T7.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js
  * @description thisArg is new Number()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js
index be530d2ff72fc076b1b9e1c9950cb305bd167c67..f3f6cf18b3caa08a6f516dd8ebf48cb7f6c1286b 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js
@@ -4,7 +4,7 @@
 /**
  * If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A5_T8.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js
  * @description thisArg is Function()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js
index 80e22e8dc9ac090a7fd3e00ad2597f186ab6ca01..04b21e57a4edc9410dd27049fad92e4993708540 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js
  * @description Argunemts of call function is (null,[1])
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js
index 62568999505af3a45a2f75d06ae6ceb1f5f804d0..b9b00d1c4cdc2a454861429e619825c4503d8064 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T10.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js
  * @description Argunemts of call function is (empty object, "", arguments,2), inside function call without declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js
index afecb79dff813193d6e7e06c6e3dde862d0fd66c..27afbee730c81c73f0b1d92b2cd5b7dc0d370586 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js
  * @description Argunemts of call function is (null,[3,2,1])
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js
index 438972a2daacf3c8d0116d04102dc6b90631dbaf..cc51c178df4a5ff78b5b9ccdbad07261ccca5b16 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js
  * @description Argunemts of call function is (empty object, new Array("nine","inch","nails"))
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js
index 21368cd2debdefaf2fb8bf64008dae5dd906066f..90311787bbf284eb35f660d37ed30af9e30b6fe1 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js
  * @description Argunemts of call function is (empty object, ( function(){return arguments;})("a","b","c","d"),"",2)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js
index c15380f8b7f6ba35e5e7cedd23f347caffe6916d..35a6fd8460b05788ef0e480bb9e22d94a3566a73 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js
  * @description Argunemts of call function is (null, arguments,"",2), inside function declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js
index d2d1aa256659b996218c60e6a368db394127edbf..609c8de876ae61ee816df89defe231027a8d656c 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js
  * @description Argunemts of call function is (this, arguments,"",2), inside function declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js
index 4022d499c3689a8f7e40eec643a46ff047645058..7738e09e04c13f66eb18504861f4d816ed1744a7 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T7.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js
  * @description Argunemts of call function is (null, arguments,"",2), inside function call without declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js
index 5e5ac4ced36adb9e265b5cd65bec512d2b594295..eb00e7f0554cef3442efe67887cbf3e70f0c4ae1 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T8.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js
  * @description Argunemts of call function is (this, arguments,"",2), inside function call without declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js
index 9bd551c197b67212c96317326c2572cddd21379f..ae2abe1cc01c81ca6f87eb011bcff83c53083e20 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js
@@ -5,7 +5,7 @@
  * The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs
  * a function call using the [[Call]] property of the object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A6_T9.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js
  * @description Argunemts of call function is (empty object, "", arguments,2), inside function declaration used
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js
index eafb8314e7fef04c6bffc072dab030061d46feea..1c02dbea7da49c12b5d56166c5aeac06b22c6c34 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call can't be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T1.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js
  * @description Checking if creating "new Function.prototype.call" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js
index 25af46bfeb26a9cf828b85981129b7adf9a8e1d5..2e62668898f828b45bca72caf915cb1c5bbbf122 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call can't be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T2.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js
  * @description Checking if creating "new Function.prototype.call()" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js
index 80c20fa9983057783938eed2e1d02487aaca1630..003e84f1c2b3001b5dbd44b25896e19342c66c6a 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call can't be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T3.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js
  * @description Checking if creating "new Function.call" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js
index d563a9ba570045ae34646c66eb0a7a693b35993b..34b6a43632943cd718bf1cf121c23bd789496f7b 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call can't be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T4.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js
  * @description Checking if creating "new (Function("this.p1=1").call)" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js
index 1ccc87b526ec9e511bc107249de9b4b8f960d822..316ac58153721a3b9a69af4b3ca7b37025c60672 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call can't be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T5.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js
  * @description Checking if creating "new Function("this.p1=1").call" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js
index 611d1b1b8c9edd953327db0b23844c6ad781bf77..0911558c41a295de68e26e53e4a9368242460f40 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js
@@ -4,7 +4,7 @@
 /**
  * Function.prototype.call can't be used as [[create]] caller
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A7_T6.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js
  * @description Checking if creating "new (Function("function f(){this.p1=1;};return f").call())" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js
index 7c3cb01b8c71ebbeb8b80cae24af9dacc460fecb..8176bb2f81968fc6c1f5e006e2034ddcef78fea8 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js
@@ -4,7 +4,7 @@
 /**
  * The Function.prototype.call.length property has the attribute DontDelete
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A9.js
+ * @path ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js
  * @description Checking if deleting the Function.prototype.call.length property fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js
index ee08a5e5b37dcd651110c79bb22a138443a93d3a..65af32d2b0617b3b631239a61241d54cb9dcc1ce 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * "caller" of bound function is poisoned (step 20)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js
  * @description A bound function should fail to find its "caller"
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js
index 00805fecf8a6575960e32797ef880e97afd3a6a0..93892e868e015fc223ab233cf830b4e487bd4009 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js
index eb6290de7a7401fea2b1d0b342516ea41db1a4d3..3fae6b26b796705c9ba8ad5c8bc3f458dfdf63ed 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js
index 40c1a60b95b182654af6ad54285982706bd5ea49..25ac3d72a477d2501bac75d4fedaf560d763545c 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js
  * @description If IsCallable(func) is false, then throw a TypeError exception.
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js
index 7fbc1e9fcb637071cca9b7a4823dbe8855275e7f..d3336de717b356d005e5103c41f39820bcab3c71 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js
@@ -4,7 +4,7 @@
 /**
  * If IsCallable(func) is false, then throw a TypeError exception.
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js
  * @description A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case bind should accept it as a valid this value.
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js
index 88d21d3eeff70ee959dc217eb8ad26e8a0279951..7d94c7755e8c16b51449c0dc782e545bf9e9f4b4 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * "arguments" of bound function is poisoned (step 21)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js
  * @description a bound function should fail to find the bound function "arguments"
  * @negative TypeError
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js
index 00bf0cb0eda55c6c52f7978c99cddfee1e43bef3..d0cd6bbaf5dcbb6b351b6c8a77fe32663aaff6da 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A3.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js
  * @description Function.prototype.bind must exist
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js
index ef0686b514224004af20d489e2c990d507fa9ea9..719fdb5314c1534ec6f216c4a4f632e0cf25c95d 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A4.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js
  * @description Function.prototype.bind call the original's internal
  * [[Call]] method rather than its .apply method.
  */
diff --git a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js
index 87e499e38b4d21648a78b96859d1a3971eb8fcc5..d369b69b238f2fc763134fda9946d2a34657327b 100644
--- a/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js
+++ b/test/suite/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A5.js
+ * @path ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js
  * @description Function.prototype.bind must curry [[Construct]] as
  * well as [[Call]].
  */
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js b/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js
index b965696a26d4b8d3cb3e1f46dbd0948a76973458..f41d2d94a78701180e71840dd3bfae85490131b2 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Function.prototype.constructor is the built-in Function constructor
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4.1_A1_T1.js
+ * @path ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js
  * @description Checking Function.prototype.constructor
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T2.js b/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T2.js
index e985c40721d2ebf96ff38939f42543095ca14de1..9705c3db8216973d3d2aa5d119f800f1407196ae 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of Function.prototype.constructor is the built-in Function constructor
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4.1_A1_T2.js
+ * @path ch15/15.3/15.3.4/S15.3.4.1_A1_T2.js
  * @description Create new Function.prototype.constructor object
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A1.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A1.js
index 4a3eb558204f666a7d1a2e2d08c6326c20adbd33..f73e867b74c1eb8dbb3766c8cf210ddba89ef5dd 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A1.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Function prototype object is itself a Function object (its [[Class]] is "Function")
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A1.js
  * @description Object.prototype.toString returns [object+[[Class]]+]
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T1.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T1.js
index 69be45803ae04ca7007cfb5b5004550dc0352094..8a9e9cf66f0d3ad9f0353e83731a3b29f6d67035 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A2_T1.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A2_T1.js
  * @description Call Function.prototype()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T2.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T2.js
index d4efc0f357c19448b4810a293a0c9ad854571b36..bbf5ac5ef920bb2dea85d88e80b5f4154f7d2deb 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A2_T2.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A2_T2.js
  * @description Call Function.prototype(null,void 0)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T3.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T3.js
index f1963a4ba3b5d8f6e25454a806fcba8a7790e973..d01ed8e37ed08b9ecce254b90ad6a5c1509c6a9c 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T3.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A2_T3.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A2_T3.js
  * @description Call Function.prototype(x), where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T1.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T1.js
index 4405a62bfbbd013da0a45818232b4798baf14dc0..0c0dd8bf4c0ab8acca1fe6cab94f6122ffc98e79 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.4)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A3_T1.js
  * @description Checking prototype of Function.prototype
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T2.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T2.js
index 3054731ef094446ae0bdf23f6deff673c43df69e..c76ebc759ed5bb4299631cfb5e919a802143dc6f 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T2.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A3_T2.js
  * @description Add new property to Object.prototype and check it at Function.prototype
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A4.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A4.js
index f2353c817a4ed43d681afe657ba81dc9b456c978..39b96039aecccdabde78985a83e5e0380f0582fb 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A4.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * The Function prototype object does not have a valueOf property of its own. however, it inherits the valueOf property from the Object prototype Object
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A4.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A4.js
  * @description Checking valueOf property at Function.prototype
  */
 
diff --git a/test/suite/ch15/15.3/15.3.4/S15.3.4_A5.js b/test/suite/ch15/15.3/15.3.4/S15.3.4_A5.js
index 19e0904413b12fdb5852b3c43e1805a1ccd4da76..d26add206f04e3e737efc6658e91502660b0beb0 100644
--- a/test/suite/ch15/15.3/15.3.4/S15.3.4_A5.js
+++ b/test/suite/ch15/15.3/15.3.4/S15.3.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * The Function prototype object is itself a Function object without [[create]] property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A5.js
+ * @path ch15/15.3/15.3.4/S15.3.4_A5.js
  * @description Checking if creating "new Function.prototype object" fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js
index d69393fbe52847827de7b5164946044a1f39e586..dba019d990f905f3115dcf7763eff35c572e913b 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js
  * @description Checking length property of Function("arg1,arg2,arg3", null)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js
index 4223869ff07e551f4703f2036f2b73e4f031c706..e7ee6c2d14956f6321bd60e497afbdd4b671abc4 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js
  * @description Checking length property of Function("arg1,arg2,arg3","arg4,arg5", null)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js
index 3d5cd753ab6e5f9e440fcf34fbdda87d29f50217..ebabb31a0739e916fafd6d798455dae65660d8b1 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T3.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js
  * @description Checking length property of Function("arg1,arg2,arg3","arg1,arg2","arg3", null)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js
index f2e0a770842e7e64384744328a880982f23d6936..2029841db3aec7bfbeeb021635a6d06a73b9cba9 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { DontDelete }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A2_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js
  * @description Checking if deleting the length property of Function("arg1,arg2,arg3", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js
index 4df6edfd30a75c0c6cc7cac8214eb276449f7027..a430c4d0f73cd228f019d22edc6593ed8b6ffee7 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { DontDelete }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A2_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js
  * @description Checking if deleting the length property of Function("arg1,arg2,arg3","arg4,arg5", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js
index bb5dfedc6b686c50a4db8564a16b8c00c28533a7..7c769946d08da12a65b7e5fd393d4680d6130bf6 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { DontDelete }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A2_T3.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js
  * @description Checking if deleting the length property of Function("arg1,arg2,arg3","arg1,arg2","arg3", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js
index fad41abd4c73e2315f1646ae5234a8e4d3373a74..c11f1e62048f23be4d424940a0d7177e61cb6f60 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { ReadOnly }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A3_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js
  * @description Checking if varying the length property of Function("arg1,arg2,arg3","arg4,arg5", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js
index e1c6778ed0b41e808ebc25d9672e2efcd441c4e0..36e16ada4db8a87292d0c00d8f6cf5b889e20c1e 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { ReadOnly }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A3_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js
  * @description Checking if varying the length property of Function("arg1,arg2,arg3", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js
index e91fda9c6e147fe0ffab00ac3d51198efdcb2c0a..3eb47a8b173b9c84bc0662f328e88dfa0d7c86b2 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { ReadOnly }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A3_T3.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js
  * @description Checking if varying the length property of Function("arg1,arg2,arg3","arg1,arg2","arg3", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js
index b45c1ec7e7b6862ca04ef814d7ac3aca4e7dc891..6ac1f63dc6df1022f9d477c423dfabce7b2921fe 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { DontEnum }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A4_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js
  * @description Checking if enumerating the length property of Function("arg1,arg2,arg3", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js
index 2179247bb9cb0bd9597eb85908d18ee33dc9d3de..ae7d5f5518399170046c96d936bbb86a548658f4 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { DontEnum }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A4_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js
  * @description Checking if enumerating the length property of Function("arg1,arg2,arg3","arg4,arg5", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js
index a391f528c38d38fc6188e41be9fb1ae40b9ef23a..a5287e54142fda6ce4667d403c048509f657e720 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * the length property has the attributes { DontEnum }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A4_T3.js
+ * @path ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js
  * @description Checking if enumerating the length property of Function("arg1,arg2,arg3","arg1,arg2","arg3", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js
index 29224fc2537552fd37e7d2a808f44ed2c27055b1..d58f7c76cfcf27c17efafb666349bd9fc5f6f603 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * the prototype property has the attributes { DontDelete }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.2_A1_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js
  * @description Checking if deleting the prototype property of Function("", null) fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js
index d2700b2087c421ca23842d7fa3c757d4959f835b..cd8e1e4bd91907c2ab74890fe37609b5ed5c84f3 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * the prototype property has the attributes { DontDelete }
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.2_A1_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js
  * @description Checking if deleting the prototype property of Function(void 0, "") fails
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js
index b5587434bd2771c0b7be09274b710111fa949da3..b90326eec73f8267505735acab33e72c1b961eef 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js
  * @description V is number
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js
index 98a273fc94a10cfda8f7697b279a7780daffa9bf..79454b8fea3ded4e6a578c1daaee76d3c618b6ca 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js
  * @description V is string
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js
index 079c3988f68de62dddde6cb8e3ae730efa9a9e44..9b7ebad281fd7adc6be016d89952737948dfda63 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T3.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js
  * @description V is boolean true
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js
index a00aac3ecb325af0ef9dad3cde88f14c74b57933..364294e17dff6db19ab51e6e7de330ae24e27327 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T4.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js
  * @description V is boolean false
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js
index 3a0dc6fa31e38dac77f37840535b5d8fa041d1e4..ab5221bdf6ea5b08e4efaab941b161bba1adeeab 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T5.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js
  * @description V is void 0
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js
index 0efb07b6f105f6c28b4dfbfcf6386d6aefc78cad..ac62538d8a55570038a6056e1b545afc595a0f5d 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T6.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js
  * @description V is null
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js
index 24893edb1b96fdd25c9bdd4aebbd710c871deafb..2ddb306ebcba11f28ee613121a53e75ef8a4fad2 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T7.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js
  * @description V is undefined
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js
index e16550770b7e3ca5848ce19492eb1292025158e9..72cd6e7acb5ed7ddf3b4515733c44f220618a94a 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A1_T8.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js
  * @description V is undefined variable
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js
index 6e44ca6e580e79eaf4f15453e98a20e8f877f5f3..1a76931b92ecc0e1e3bc218356880f30889a4244 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js
@@ -7,7 +7,7 @@
  * ii) Let O be Result(i).
  * iii) O is not an object, throw a TypeError exception
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A2_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js
  * @description F.prototype is undefined, and V is empty object
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js
index ed2b742f9df14933fe43b17ec91fd6f25cec0191..c84ed748e5efcc5db0b4332bd0c7983205b2fda3 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js
@@ -8,7 +8,7 @@
  *             "prototype". ii) Let O be Result(i). iii) O is not an object,
  *             throw a TypeError exception
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A2_T5.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js
  * @description F.prototype is void 0, and V is new F
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js
index c95b8edc522128cd5e2f07a7fda8d3bba6bbe95e..1ec347709c2f1f8291558fe319af7d5e40c78c99 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js
@@ -8,7 +8,7 @@
  *             "prototype". ii) Let O be Result(i). iii) O is not an object,
  *             throw a TypeError exception
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A2_T6.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js
  * @description F.prototype is string, and V is function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js
index 7ea34b99f87b05e69e30de8fb73cdd791d17a3d8..93779f8ff0eee48c3decdce199079e11f6bae838 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js
@@ -10,7 +10,7 @@
  * v)  If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.
  * vi) Go to step iii)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A3_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js
  * @description F.prototype.type is 1, and V is new F
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js
index 3b06c4d067c48272385bfb2c10ac7a6413c792e2..d3f2cc7e32cac9830a4e4bfa3e993988e5be04e2 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js
@@ -10,7 +10,7 @@
  * v)  If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.
  * vi) Go to step iii)
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.3_A3_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js
  * @description F.prototype is Object.prototype, and V is empty object
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T1.js
index cda9bb0b6ac31d23d2e764238326e221cbad9a6b..792eb4920a4473638593542c4757c561b72c2d96 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the [[Class]] property is "Function"
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5_A1_T1.js
  * @description For testing use variable f = new Function
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T2.js
index 48976662febed4e052ecc839ea820d5e435d98a3..1d33ccc16a13a4df0c4a03c65c52ad4bbe15a657 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the [[Class]] property is "Function"
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5_A1_T2.js
  * @description For testing use variable f = Function()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T1.js
index 10e151cd6ef77fad766a10a1fb5836f04995b57c..a4c5c74f03480185421dd73fcfbe31a19d9084d0 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Every function instance has a [[Call]] property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A2_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5_A2_T1.js
  * @description For testing call Function("var x =1; this.y=2;return \"OK\";")()
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T2.js
index 378e7d8d08b0bbcb8f3a77a390755f4538c43428..86d2ea801e721f88df7dab2efff4612622d9ca81 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Every function instance has a [[Call]] property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A2_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5_A2_T2.js
  * @description For testing call (new Function("arg1,arg2","var x =arg1; this.y=arg2;return arg1+arg2;"))("1",2)
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T1.js b/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T1.js
index 3a3b26bfa0d04891f3f822f7633496e612b274d1..357eb0c152a9df28e2dea089b8f6a4655c992330 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T1.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * every function instance has a [[Construct]] property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A3_T1.js
+ * @path ch15/15.3/15.3.5/S15.3.5_A3_T1.js
  * @description As constructor use Function("var x =1; this.y=2;return \"OK\";")
  */
 
diff --git a/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T2.js b/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T2.js
index dc64893a302e6e4831f06489b7d658b98a7ce4cb..ef8607eeec1fba677124b3eeddc8e709b5bb9183 100644
--- a/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T2.js
+++ b/test/suite/ch15/15.3/15.3.5/S15.3.5_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * every function instance has a [[Construct]] property
  *
- * @path 15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A3_T2.js
+ * @path ch15/15.3/15.3.5/S15.3.5_A3_T2.js
  * @description As constructor use new Function("arg1,arg2","var x =1; this.y=arg1+arg2;return \"OK\";")
  */
 
diff --git a/test/suite/ch15/15.3/S15.3.1_A1_T1.js b/test/suite/ch15/15.3/S15.3.1_A1_T1.js
index b8353119bd3ca0e1311d131e3720a7bd51f21497..5031ad0e619b99b2ed7dedf2690325bff3dc0ad1 100644
--- a/test/suite/ch15/15.3/S15.3.1_A1_T1.js
+++ b/test/suite/ch15/15.3/S15.3.1_A1_T1.js
@@ -5,7 +5,7 @@
  * The function call Function(…) is equivalent to the object creation expression
  * new Function(…) with the same arguments.
  *
- * @path 15_Native/15.3_Function_Objects/S15.3.1_A1_T1.js
+ * @path ch15/15.3/S15.3.1_A1_T1.js
  * @description Create simple functions and check returned values
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A1.js b/test/suite/ch15/15.3/S15.3_A1.js
index b5f61d04590a29d26a1d52a4d9ee2027533d3743..0b7f12e62398f4b689919df2b88abd8607e76096 100644
--- a/test/suite/ch15/15.3/S15.3_A1.js
+++ b/test/suite/ch15/15.3/S15.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * Function is the property of global
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A1.js
+ * @path ch15/15.3/S15.3_A1.js
  * @description Compare Function with this.Function
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A2_T1.js b/test/suite/ch15/15.3/S15.3_A2_T1.js
index 0a72ad2cfa18ffb0e8a1bd6bf6ce9d51aac9ca32..3b7b329952bded940f35ada4daf1ddd50e1f8943 100644
--- a/test/suite/ch15/15.3/S15.3_A2_T1.js
+++ b/test/suite/ch15/15.3/S15.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since applying the "call" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A2_T1.js
+ * @path ch15/15.3/S15.3_A2_T1.js
  * @description Checking if executing "Function.call(this, "var x / = 1;")" fails
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A2_T2.js b/test/suite/ch15/15.3/S15.3_A2_T2.js
index f5a5addc81c84f1ae1e009e1296e83a0c3eff9b2..c2797b5402b0f2bc0cf6e8c0d5d38c3fca3327b6 100644
--- a/test/suite/ch15/15.3/S15.3_A2_T2.js
+++ b/test/suite/ch15/15.3/S15.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since applying the "call" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A2_T2.js
+ * @path ch15/15.3/S15.3_A2_T2.js
  * @description Checking if executing "Function.call(this, "var #x  = 1;")" fails
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A3_T1.js b/test/suite/ch15/15.3/S15.3_A3_T1.js
index 7af1dcdf8c65d3381e1195998b56455b5ecbbe60..86857fd659b7ae0360f5ac66a344829b859a982f 100644
--- a/test/suite/ch15/15.3/S15.3_A3_T1.js
+++ b/test/suite/ch15/15.3/S15.3_A3_T1.js
@@ -5,7 +5,7 @@
  * Since when call is used for Function constructor themself new function instance creates
  * and then first argument(thisArg) should be ignored
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A3_T1.js
+ * @path ch15/15.3/S15.3_A3_T1.js
  * @description First argument is object
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A3_T2.js b/test/suite/ch15/15.3/S15.3_A3_T2.js
index d8c7ed1f96fd0ee7c7e6a5f202a7c5e4010bbc6e..cb4cb574093a6a95ebfb45008a333fdb20ecbf18 100644
--- a/test/suite/ch15/15.3/S15.3_A3_T2.js
+++ b/test/suite/ch15/15.3/S15.3_A3_T2.js
@@ -5,7 +5,7 @@
  * Since when call is used for Function constructor themself new function instance creates
  * and then first argument(thisArg) should be ignored
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A3_T2.js
+ * @path ch15/15.3/S15.3_A3_T2.js
  * @description First argument is string and null
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A3_T3.js b/test/suite/ch15/15.3/S15.3_A3_T3.js
index 5e71ef6ad3e78c5fc5f5f72bcd06b2bf2c0ca8db..d50ab5c9fd3dabfa0996d732bf0dcc77f2d06df7 100644
--- a/test/suite/ch15/15.3/S15.3_A3_T3.js
+++ b/test/suite/ch15/15.3/S15.3_A3_T3.js
@@ -5,7 +5,7 @@
  * Since when call is used for Function constructor themself new function instance creates
  * and then first argument(thisArg) should be ignored
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A3_T3.js
+ * @path ch15/15.3/S15.3_A3_T3.js
  * @description First argument is this, and this don`t have needed variable
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A3_T4.js b/test/suite/ch15/15.3/S15.3_A3_T4.js
index 53ac2569114506fca852329f91b4cfa3d5e72a9a..871c3762ab4d2fccad883e24cc67162dbb6e311b 100644
--- a/test/suite/ch15/15.3/S15.3_A3_T4.js
+++ b/test/suite/ch15/15.3/S15.3_A3_T4.js
@@ -5,7 +5,7 @@
  * Since when call is used for Function constructor themself new function instance creates
  * and then first argument(thisArg) should be ignored
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A3_T4.js
+ * @path ch15/15.3/S15.3_A3_T4.js
  * @description First argument is this, and this have needed variable
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A3_T5.js b/test/suite/ch15/15.3/S15.3_A3_T5.js
index 75df1d3b879ba24e7240d8862a3a850eb3307a88..9d1df2adeed35ffd400c31c3a914fb5e8491f9d8 100644
--- a/test/suite/ch15/15.3/S15.3_A3_T5.js
+++ b/test/suite/ch15/15.3/S15.3_A3_T5.js
@@ -5,7 +5,7 @@
  * Since when call is used for Function constructor themself new function instance creates
  * and then first argument(thisArg) should be ignored
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A3_T5.js
+ * @path ch15/15.3/S15.3_A3_T5.js
  * @description First argument is this, and this don`t have needed variable. Function return this.var_name
  */
 
diff --git a/test/suite/ch15/15.3/S15.3_A3_T6.js b/test/suite/ch15/15.3/S15.3_A3_T6.js
index 0896a3bd472b740023543a9b00612e759b2b6013..4e324f8b6efb7b9ae7540d24187248228ef21857 100644
--- a/test/suite/ch15/15.3/S15.3_A3_T6.js
+++ b/test/suite/ch15/15.3/S15.3_A3_T6.js
@@ -5,7 +5,7 @@
  * Since when call is used for Function constructor themself new function instance creates
  * and then first argument(thisArg) should be ignored
  *
- * @path 15_Native/15.3_Function_Objects/S15.3_A3_T6.js
+ * @path ch15/15.3/S15.3_A3_T6.js
  * @description First argument is this, and this have needed variable. Function return this.var_name
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js
index 797f046b4d8ee106b26a5e34f63b5f262716d5bc..2ee5698d187f06ff5f4dac04bcfb41f142dcf1a2 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A1.1_T1.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js
  * @description Create new property of Array.prototype. When new Array object has this property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js
index b60d7bb5b982aee122c70635f69f3c9205a3f8c0..6c9b78575b8358d53c49c42a7766b7358b21da61 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A1.1_T2.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js
  * @description Array.prototype.toString = Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js
index 06d98a25d090c7460c4640c58ffa46781713b05e..7bede3baf30087c94eef29973143166a6a1e8c73 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A1.1_T3.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js
  * @description Checking use isPrototypeOf
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js
index 9e6bba18daf53143394f42169cd07cee1567260d..24685612ec4bce49bb4128e1ed95635a71ead757 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "Array"
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A1.2_T1.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js
  * @description Checking use Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js
index d99129314fbb73d3d753747ed29f1e2789cddec7..8d69a5263ae58e1f18da9da291dd96b78160a9e6 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js
@@ -5,7 +5,7 @@
  * This description of Array constructor applies if and only if
  * the Array constructor is given no arguments or at least two arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A1.3_T1.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js
  * @description Checking case when Array constructor is given one argument
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js
index a35ccd133fb4b34facd7ad8081ffe1da90a803fa..ea58f69bffbbc70ca1a7802fe0a59ed0b4fe7dca 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js
@@ -5,7 +5,7 @@
  * The length property of the newly constructed object;
  * is set to the number of arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A2.1_T1.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js
  * @description Array constructor is given no arguments or at least two arguments
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js
index d1c784db4d830b79d0e75c545ed63a1640cc0621..b817a6abf8fd34a6af65f9c4f6d38c3f7f61a169 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js
@@ -8,7 +8,7 @@
  * of the newly constructed object is set to argument k, where the first argument is
  * considered to be argument number 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A2.2_T1.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js
  * @description Checking correct work this algorithm
  */
 
diff --git a/test/suite/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js b/test/suite/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js
index 9d076b812382f03f573bbd2df5ed1d4e46a9d54a..2e0c3697638b45527507ea78e8a71f553f2be369 100644
--- a/test/suite/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js
@@ -5,7 +5,7 @@
  * When Array is called as a function rather than as a constructor,
  * it creates and initialises a new Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.1_The_Array_Constructor_Called_as_a_Function/S15.4.1_A3.1_T1.js
+ * @path ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js
  * @description Checking use typeof, instanceof
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js
index c6633fef52fbcb2fa21dda53bc5eef33d0ae0403..d833ddf9a2934b00f978cb203f683180c88b0259 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A1.1_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js
  * @description Create new property of Array.prototype. When new Array object has this property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js
index cafb32300c998419480ca39d9d6ce52cc8e0f45a..3c3098d0b7d842474d3e90175220196fa43e9323 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A1.1_T2.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js
  * @description Array.prototype.toString = Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js
index fa09521a29dccadb097fb03b952a5efef5d76433..6e5e9ea3deec9da445a13cae9c1ab35b8f4b2bde 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A1.1_T3.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js
  * @description Checking use isPrototypeOf
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js
index 45134300909aec9e266f700f5f07bc2357c05c34..0046b69553c1b2105688f891c24c7c8e89a5993b 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "Array"
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A1.2_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js
  * @description Checking use Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js
index ea6bf1f71c21c29e16c1268e25d00db78f004949..e6d11bca85f80ae34e8172f5748e33f554536f9d 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js
@@ -5,7 +5,7 @@
  * This description of Array constructor applies if and only if
  * the Array constructor is given no arguments or at least two arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A1.3_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js
  * @description Checking case when Array constructor is given one argument
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js
index 93a6fb09e83450627140f6238ba8b35aa9e16341..5bdd8828bb9fc1a2119037a5d675d036d79572fb 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js
@@ -5,7 +5,7 @@
  * The length property of the newly constructed object;
  * is set to the number of arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A2.1_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js
  * @description Array constructor is given no arguments or at least two arguments
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js
index d0cd2cb6d48ef24226363178d5c08ca532696d7f..9e6371253d84cc67bce6f931857ebfaa38935064 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js
@@ -8,7 +8,7 @@
  * of the newly constructed object is set to argument k, where the first argument is
  * considered to be argument number 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.1_new_Array/S15.4.2.1_A2.2_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js
  * @description Checking correct work this algorithm
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js
index 9b1d4464648a0769c2013fbc63b50f01f8aceb81..597a294671c659aca2aa5697ff02b7f74a23b638 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A1.1_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js
  * @description Create new property of Array.prototype. When new Array object has this property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js
index d16a4fdb47494320ddcf5dca145588aff238e10d..2ae3fccaa41ab4dec9f3b53eaffd720ef455c4f4 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A1.1_T2.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js
  * @description Array.prototype.toString = Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js
index f3414fe6c8ffe2b105da04a459131744491c9d40..679ff68769b5196c6a80bbf81b691133de0bf82f 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js
@@ -6,7 +6,7 @@
  * is set to the original Array prototype object, the one that
  * is the initial value of Array.prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A1.1_T3.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js
  * @description Checking use isPrototypeOf
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js
index cf96234ccb31b6cee4601d5c12a1c65b76a0efca..3cc17dd17188188ebaa1768a64a1816ddd9e8e7f 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "Array"
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A1.2_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js
  * @description Checking use Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js
index 8a23b04a3c103672c21240d4c56f492d0ae1801c..7d9a9952c66114032e3557df2ecbc8f3364b0523 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js
@@ -5,7 +5,7 @@
  * If the argument len is a Number and ToUint32(len) is equal to len,
  * then the length property of the newly constructed object is set to ToUint32(len)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.1_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js
  * @description Array constructor is given one argument
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js
index e2f58bfc6ee38b3ec1c4ee4201372220d3db25a7..244cdb1780e7b9f315a1f662ca368ac7c2cfdfd8 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js
@@ -5,7 +5,7 @@
  * If the argument len is a Number and ToUint32(len) is not equal to len,
  * a RangeError exception is thrown
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.2_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js
  * @description Use try statement. len = -1, 4294967296, 4294967297
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js
index 13e07f6e17c0e8e113b9d499dd27939d443fe961..6b2419d6a6e8fb9243a27983cbc26bb8331398f8 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js
@@ -5,7 +5,7 @@
  * If the argument len is a Number and ToUint32(len) is not equal to len,
  * a RangeError exception is thrown
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.2_T2.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js
  * @description Use try statement. len = NaN, +/-Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js
index 637f22ae705a0d4c9cd3ddb20a6c2121e6f8280a..8e4a21486ab9161f7a707af216d33f2d619c14e3 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js
@@ -5,7 +5,7 @@
  * If the argument len is a Number and ToUint32(len) is not equal to len,
  * a RangeError exception is thrown
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.2_T3.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js
  * @description Use try statement. len = 1.5, Number.MAX_VALUE, Number.MIN_VALUE
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js
index dd496ad6cc6f66369cb102b79c6e6b3a14f5b357..d5b4b533374091864a930c3d65c78bc4bb52be58 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js
@@ -6,7 +6,7 @@
  * the newly constructed object is set to 1 and the 0 property of
  * the newly constructed object is set to len
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.3_T1.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js
  * @description Checking for null and undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js
index c2d2d7acea49160be50cfdac2c25c0571f6db757..5f4f26d05ccb59127f17ffc1d88c517a1c0ecfa2 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js
@@ -6,7 +6,7 @@
  * the newly constructed object is set to 1 and the 0 property of
  * the newly constructed object is set to len
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.3_T2.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js
  * @description Checking for boolean primitive and Boolean object
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js
index 5c3fa3d6fbc686a7ee4431e95080baff7786c419..4fe1311f907bd69f8ac4dc23fbbff35ef69e8e5f 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js
@@ -6,7 +6,7 @@
  * the newly constructed object is set to 1 and the 0 property of
  * the newly constructed object is set to len
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.3_T3.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js
  * @description Checking for boolean primitive and Boolean object
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js
index 805545f897ec3e4e901abf896810142943050601..5565e216de29f6f2e5b0cfd2e636916c9031fdb0 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js
@@ -6,7 +6,7 @@
  * the newly constructed object is set to 1 and the 0 property of
  * the newly constructed object is set to len
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.3_T4.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js
index eaca096c911200651facf870f4d103f312b2a23b..10355f3bd0fc47063443e5d06b1d94bdacbc288f 100644
--- a/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js
+++ b/test/suite/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js
@@ -6,7 +6,7 @@
  * the newly constructed object is set to 1 and the 0 property of
  * the newly constructed object is set to len
  *
- * @path 15_Native/15.4_Array_Objects/15.4.2_The_Array_Constructor/15.4.2.2_new_Array_len/S15.4.2.2_A2.3_T5.js
+ * @path ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js
index 0e440bf48ac13ecce4e9b8ca2970715f0a0928b6..55388ecde309407838a24bfc7bd76aa2cd64557b 100644
--- a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js
+++ b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Array has property prototype
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/15.4.3.1_Array_prototype/S15.4.3.1_A1.js
+ * @path ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js
  * @description Checking use hasOwnProperty
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js
index de7967e24b5e7b507bce7118e71aaa37cd6428d2..13811608941494e2717adfcd33e3703f4941f34b 100644
--- a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js
+++ b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The Array.prototype property has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/15.4.3.1_Array_prototype/S15.4.3.1_A2.js
+ * @path ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js
  * @description Checking if enumerating the Array.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js
index 81709789ef6f6100990ea60929543fb53b150d8c..12d2d914b64f6614239f178f6bf40fc49b4b6b79 100644
--- a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js
+++ b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * The Array.prototype property has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/15.4.3.1_Array_prototype/S15.4.3.1_A3.js
+ * @path ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js
  * @description Checking if deleting the Array.prototype property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js
index cb243da67b7991fed3be9e6d945a36067422569d..40c4140f818c49501261a0d6fc77942b5941e28e 100644
--- a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js
+++ b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * The Array.prototype property has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/15.4.3.1_Array_prototype/S15.4.3.1_A4.js
+ * @path ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js
  * @description Checking if varying the Array.prototype property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js
index 198ce037132536bab8801331fcd6a1272420f0ea..bd9f87f0a812be2ea1b662d4c55a36cb1b287f54 100644
--- a/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js
+++ b/test/suite/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js
@@ -4,7 +4,7 @@
 /**
  * The length property of Array.prototype is 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/15.4.3.1_Array_prototype/S15.4.3.1_A5.js
+ * @path ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js
  * @description Array.prototype.length === 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js
index 292789ae40e6fd10e8f739cd47a065d4f258cfea..afb16971fbf617ad7ab6185641bbcf92613260cf 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of
  * the Array constructor is the Function prototype object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A1.1_T1.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js
  * @description Create new property of Function.prototype. When Array constructor has this property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js
index 4383be6012e0d1a1397610d52a7798512c8faae9..ef6ab6b971fa9eb580163a76fea21dd1d7a4f4da 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of
  * the Array constructor is the Function prototype object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A1.1_T2.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js
  * @description Function.prototype.toString = Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js
index f2d64a0ea547d6421f6f908d64bc21f1544217aa..4ef0ea0206524716b6135d93c7bab60c169e6eed 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of
  * the Array constructor is the Function prototype object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A1.1_T3.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js
  * @description Checking use isPrototypeOf
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.1.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.1.js
index febd0f7701514024ffea15e4eae9df47b6ec7fa2..ace47db448ea59d5d273fc3033814690f73bd3e8 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.1.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A2.1.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A2.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.2.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.2.js
index f40742dd96d26037c6555d419c9cdb73ccb6041b..9fc73527dd15854e4f736d1a7747d8969cfe42c7 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.2.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of Array has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A2.2.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A2.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.3.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.3.js
index b5840d20fcffc9733ff5e280b652d71c81f32242..f7b6323a2cf8f3237b2bb860195dc712d39baf83 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.3.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of Array has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A2.3.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A2.3.js
  * @description Checking if varying the length property fails
  */
 
diff --git a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.4.js b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.4.js
index ddf68a5aa5574028dd3d795abed1937ddf3f9fd7..40bdaf796bf30bf76a6076f72d90e6225ab010a6 100644
--- a/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.4.js
+++ b/test/suite/ch15/15.4/15.4.3/S15.4.3_A2.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of Array is 1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.3_Properties_of_the_Array_Constructor/S15.4.3_A2.4.js
+ * @path ch15/15.4/15.4.3/S15.4.3_A2.4.js
  * @description Array.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js
index 01757fc2abbe93ad71765104354d5524d1d28599..7cc8bfb9e2bda8b7a05c1f2a45f53e85e6c8b950 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js
@@ -5,7 +5,7 @@
  * The initial value of Array.prototype.constructor is
  * the built-in Array constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.1_Array_prototype_constructor/S15.4.4.1_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js
  * @description Array.prototype.constructor === Array
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js
index d45e18c4f36fb5b99edadc151efb1f0963255c98..53adaaaeb22f42c54f94c9d285c57142269ca021 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The constructor property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.1_Array_prototype_constructor/S15.4.4.1_A2.js
+ * @path ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js
index 87735c709ae5edf33b58699f7d403142e2b82c41..21b48b7d9efeb36f0f3c0ea0cf0c3270d5363208 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js
  * @description length > end > start = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js
index dba1521a1142e91cdf58fa4ba0d255cc51bff5fc..1a1bf27c002f40f7564ab4726b84bc8f3121e2bb 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js
  * @description length > end = start > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js
index 489ee8e259cfa97ca771c2ef5753909fefb6790d..4f5ec0535abe0009ccc1bf02acdaae5b9330228d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js
  * @description length > start > end > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js
index e88abdced1fcae3d4d33dc09c44e1bd1a948b30d..b9f2a3addf41a1bd9185de9d1c36af4f6204d8fc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js
  * @description length = end = start > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js
index e1806c53ceab10f3e523f10b320600e721bf5c40..cb527e80c9270ad55a27941bdf0d745f1011180f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js
  * @description length = end > start > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js
index 8382f087dd9cb2051d3a536c31c8b6e12346e019..e69330f0649fc36e8c7dbabd19c61327c715e6f8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T6.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js
  * @description length > end > start > 0;
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js
index bbfcbb2221e62706193068667e636ed97279c9c5..8e170e400db3f85c191be29a68f439fcac898ff9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.1_T7.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js
  * @description end > length > start > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js
index 8d9901f3acd003e1203e83877a0b2c41564f1e04..1daab4f56a8a1f5a6394140c989a0d2add538ce2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js
  * @description length > end = abs(start), start < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js
index 3f994238524e34e1ab55d8192082103bb4265a40..f0e65869f4e4400a697e6a98bcff783a8526d12a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js
  * @description length = end > abs(start), start < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js
index 4d1d0225f942175fd4ea9229fc82a2b960786a9a..c72c1f7505f1de26d21caae6a1cb172c9c4ce41b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js
  * @description abs(start) = length > end > 0, start < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js
index a0f090c0d903ee10d56907eb8f9ef8e2a87e6c28..d15388ee0878237520f57a69325badf274c50278 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is positive, use min(end, length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js
  * @description abs(start) > length = end > 0, start < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js
index 834b34d0270098256e8f409a81988948c92281c6..b23bd94821b6fc7311fea11c8a6146b9231ddde7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js
  * @description length > abs(end) > start = 0, end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js
index 92a6df2a92113e2c5af31c84ed614352041a6145..d5348427fb8b7f60f9ea97a6b7310f0ee9261da4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js
  * @description length > abs(end) > start > 0, end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js
index 0f286fec032def2010f0c23d158459cfef6f1584..87928d765be5e97d186b3b0784fcb3ad00afd3c4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js
  * @description length = abs(end) > start = 0, end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js
index 694b385c94f75a9effd96f9d67f0acc16be2c78d..7844830a0f3d75fbbf6f2b53f190a85beec0d0ca 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.3_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js
  * @description abs(end) > length > start > 0, end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js
index cac2d7f7e885f7f418658135f387d70368f6affc..a79ced38f4401edd2685e8e8ccf47fbad65ccbc6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js
  * @description -length = start < end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js
index 15c5b400f71af508897bad8669cf57e8dcdb5d31..385ec10289c8b4b0297ef2b3e61301d551f1fcd7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js
  * @description -length < start < end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js
index cd0b1822c8266a623f6c41dcff1da5d376800795..5038a3248cf6c28747d2e020f92f5db0ee9c8ca5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.4_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js
  * @description start < -length < end < 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js
index 2e4b322cab3c873f9b67550edb43fbfeb78588a9..c43ac02a2e8db87de37a1025c559beb699d474da 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If end is negative, use max(end + length, 0)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.4_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js
  * @description start = end < -length
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js
index 166fe104eaefa148b256df45b6c9393969d729e8..dba873ddc73d1ff2d95064a454f26ed0eaa8db5f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If end is undefined use length
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.5_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js
  * @description end === undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js
index 2226dd3510dafd69013be27954c9dcd74e86eb4d..764374ef310476d984977ef45a94cff8f25c675c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * If end is undefined use length
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A1.5_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js
  * @description end is absent
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js
index eb7d1c7f00c94babbcb726383fb7359a0f2c95fb..9995f993ce190da112f8e3783ab97641758632a0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js
  * @description start is not integer
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js
index dc553c8ba68a0b6eacc0e7d88633b161031fc297..1cb7b0fd7a573329a64300bd3db202c0e865a008 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js
  * @description start = NaN
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js
index 95153139427472460b163a56c2d6ca0651e6f193..171df839fd3521596ec5d8d595c18fcd7645933a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js
  * @description start = Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js
index 900d624eca54437f20211a075f8ae4f575e8b03f..451a4fba0b89d743843307f9b188d4f4ab002bea 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.1_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js
  * @description start = -Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js
index 6057e7399ac3e43e3dd290951ba95214e221ae18..7be769570f87aa92a6d747eff3ab40abe0395a84 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.1_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js
  * @description ToInteger use ToNumber
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js
index 80b053a1d8a6913635f437f591045a3b343dc5a1..51209eb720f91bd5bc31584156193d2ed9362511 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from end
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js
  * @description end is not integer
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js
index d10918e6b05e366967f6c2afc49684c7e8debb3a..1b29e02e4fd9fd8f86fdcacae00034da07817984 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from end
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js
  * @description end = NaN
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js
index 38702e0c1054f27e0b1d9fc677f0cfd4d926af15..988cd1e905b7c2be1a83e6d6e6b0087252503272 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from end
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js
  * @description end = Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js
index c28db9e3ab9205b355d0949b3cb1839cad8e178e..3d98fe7f09e725b033f9451c59374a15df2ea149 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from end
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js
  * @description end = -Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js
index 8767ac557c4f8878bbb87a82e081285ebece4e14..8c27e16c4fef9e67a452bcfd3f780d3581b39050 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from end
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2.2_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js
  * @description ToInteger use ToNumber
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js
index 80e65372ca51f636c7e340d2083ff702575f0d22..c0a7592920533a24ace65fd83eb51b7e8a3bd1d9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js
@@ -5,7 +5,7 @@
  * The slice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js
  * @description If start is positive, use min(start, length).
  * If end is positive, use min(end, length)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js
index 2908e202e4075015f0b41e87b4abce49204053d1..04a45b79a6246049b022f6134a1ba15e3ddba676 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js
@@ -5,7 +5,7 @@
  * The slice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js
  * @description If start is negative, use max(start + length, 0).
  * If end is positive, use min(end, length)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js
index bc5d816ad523b0f1d003aa92d949839bbefbd98a..6a542bd6a20be084c3c98d5a51ec5261c6fa0722 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js
@@ -5,7 +5,7 @@
  * The slice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js
  * @description If start is positive, use min(start, length).
  * If end is negative, use max(end + length, 0)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js
index e5dad0a1ef64ebca8f73151d350b9a77341bad41..01a4e4f60a87885aba8c609634eb939847fce453 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js
@@ -5,7 +5,7 @@
  * The slice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js
  * @description If start is negative, use max(start + length, 0).
  * If end is negative, use max(end + length, 0)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js
index c9d554fd0e4d56a5ee638ffd53fd7206b5a683f1..2a91560112990beac59e13eab0f9f330adc431aa 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js
@@ -5,7 +5,7 @@
  * The slice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js
  * @description If end is undefined use length
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js
index 53667089aa6190815b8abdc2b1771c80bb313f58..e0c304a0007bb391eb00efb918ab777fb4b62868 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js
@@ -5,7 +5,7 @@
  * The slice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A2_T6.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js
  * @description If end is undefined use length
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js
index e6aefad10011568c669ff48c63e57975a0358d91..f32a97706770680bce6dd5424e273b2124747f1c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js
index 07461895e09132e4511b981e00fabdc7a4985054..63810d3c9638de6e8c86c98eb6f8e6040dbada11 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js
  * @description length = 4294967297
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js
index 8c0442e8660cf717b22b21232804b23d5256948f..ab663fc2c09ba6fd246ca5136c32caf7da5bd270 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js
  * @description length = -1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js
index 5c58afeed568432e273a6eee0c277d9f08d8ea24..b77d26b3142b1ee6238003230f1446fdaaaf9827 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js
index 02a9687eac1db6afe7e42da32202d182491b0a70..a48d1f8469601df5db22c695dea816cf80cb06c6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of slice has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js
index 456095ffef21bbe3aa52c2cb702d26b1bfa395f4..88cfc51349d9577d75981b54dc81ccaf22becacf 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of slice has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js
index 525eb5a0846c8b13eb68f8c4772cbdf47e05f08b..f03ef81b2fcb41bf07ec81b19e8d7b85a7e14dbc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of slice has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js
index 663c2b21011e5a6694d430fe0ff6a151b2f2be3b..d0dca3396933de8ac478e968a3c013171c593c65 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of slice is 2
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js
  * @description slice.length === 2
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js
index 85246c3d5550578196536fa947a5d761915cc6db..fac778af683741b8d4ca16eb469aa3c092336ea6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The slice property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js
index 3c0c6e6d9d8dc848c412fc727f03cd61ddb78e8f..6570b06ff643920f79931521ada6ce88202e203b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The slice property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js
  * @description Checking Array.prototype.slice.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js
index 0d70c890e957f28ead2ba62c49df73c7a942f883..0935af478eb23505605d67cfc732271e0900ca74 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The slice property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js
index 2fc26cfa36ae6fb2cb6a6d13d6b96188cbc7234c..fe46045b6892fd514853c4d6ada97237757c1fbf 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js
@@ -5,7 +5,7 @@
  * If this object does not have a property named by ToString(j),
  * and this object does not have a property named by ToString(k), return +0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js
  * @description If comparefn is undefined, use SortCompare operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js
index c0cdee401411a872f8d38212c4ce6cfb6937afff..d1e818de0635a4830f3d43413c7fa079f4e2bce1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js
@@ -6,7 +6,7 @@
  * ToString(j), return 1. If this object does not have a property
  * named by ToString(k), return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js
  * @description If comparefn is undefined, use SortCompare operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js
index f657920d7afaf8f2dafe1a60bccb230245a3a6bb..6b551359c50bb2052d5edd70267d721a05a50621 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js
@@ -6,7 +6,7 @@
  * ToString(j), return 1. If this object does not have a property
  * named by ToString(k), return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js
  * @description If comparefn is not undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js
index 3ec0f2709a43f34b234496e691c2947425046246..44a1d548adb8fd46fa7ae3546651d7d2bf2aeef9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js
@@ -5,7 +5,7 @@
  * If [[Get]] ToString(j) and [[Get]] ToString(k)
  * are both undefined, return +0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js
  * @description If comparefn is undefined, use SortCompare operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js
index b09ce4334d06f27fe27007de30b9023d9f711ee9..2341ae248ff969e4c0447905e3440a6e4ab980c2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js
@@ -5,7 +5,7 @@
  * If [[Get]] ToString(j) is undefined, return 1.
  * If [[]Get] ToString(k) is undefined, return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js
  * @description If comparefn is undefined, use SortCompare operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js
index 21a1071a2531c476d90eaf801af4a47ab359951b..377d34649f07bdd60231070f52f1469138174a09 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js
@@ -5,7 +5,7 @@
  * If [[Get]] ToString(j) is undefined, return 1.
  * If [[]Get] ToString(k) is undefined, return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js
  * @description If comparefn is not undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js
index 44b7a938ccfb23e3ec7213c5d600d352d344a147..af706b728560766da838f54c940ab99dee614f71 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * If comparefn is undefined, use SortCompare operator
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A1.5_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js
  * @description Checking sort() and sort(undefined)
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js
index 6b23e63c99e0ed53ed770e92dbd8c38b310ab644..305ca44c2b244451e8dc30f6a2a30f05938d570b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js
@@ -6,7 +6,7 @@
  * If ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;
  * return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A2.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js
  * @description Checking ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js
index fa84620303125cdc02ca2e8be7fa396972d4d18e..53ee4656bf3de3fac541c3357a4968a7be4cca6d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js
@@ -6,7 +6,7 @@
  * If ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;
  * return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A2.1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js
  * @description Checking RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js
index c2a8403606a3896ae7378d360fb1aabcec35980d..50a138c1e742c77914321fadb660cb66cc006532 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js
@@ -6,7 +6,7 @@
  * If ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;
  * return -1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A2.1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js
  * @description Checking ToString operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js
index fa380fcec811eecd8dc10294626523d70d2e78e0..e228074ed54c481008b7b710b9514324e00f1d33 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * My comparefn is inverse implementation comparefn
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A2.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js
  * @description Checking ENGLISH ALPHABET
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js
index 7935814de2d91a6f321619ffd1a08056a2e7dc9d..031df25aeae2a0b8b3b3ffbf1096fcdacb10d48a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * My comparefn is inverse implementation comparefn
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A2.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js
  * @description Checking RUSSIAN ALPHABET
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js
index 2834d6511a95d4c5dddbf8f9cb35e405f6455ead..e628e0da870c0f888f61bc3d611359ad8782f635 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * My comparefn is inverse implementation comparefn
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A2.2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js
  * @description Checking ToString operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js
index f05a149d06213c6599722191bae3cc8812b32632..e3b985d03dcc0f274206b5e821321873ba74bc50 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js
@@ -5,7 +5,7 @@
  * The sort function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js
  * @description If comparefn is undefined, use SortCompare operator
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js
index b8ac7f3e68d8301d1668a2a9bf0339f505aa6e89..eeadc3729766cb4e7bc594dc644bc92c24389f58 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js
@@ -5,7 +5,7 @@
  * The sort function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js
  * @description If comparefn is not undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js
index d1da5c9b3d6e21f81017f2a029230dc319bccd04..0f63d801c7a125255d66bdccc62bcafef44595cd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js
index 7641ad4d52ad7850d15606fae1dd63b80d19f36a..4116c648f6483cad612594cddb74ce37cb4e395a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js
  * @description length = 4294967298
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js
index c02fd6a84f0dc26929d5e08ec41f2ec9476208b8..fe5d5de9417b8ca0386b4be5e86a57126b0c2f50 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A4_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js
  * @description length = -4294967294
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js
index 21553725f52665cba01dd2985786de2cb4d7a2b4..a7e363e73b5766f2d05cdb9d2dc5913b77b16231 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Array.sort should not eat exceptions
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A5_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js
  * @description comparefn function throw "error"
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js
index 452b65e81a17c0f19a89a6f966fd0033f7392299..af563e67570af18e54cb2387c445c4236603b1e5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A6_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js
index 3c93bfbd54f41e16d653d3a493b694d96510bda4..bd12a9c23008efb9ec40882ef34f81dd41955b37 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of sort has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js
index 2c5e1fe8fa141055322e1e8a3d5c1e70fc922f86..89164355084416add54fbe7b20f1d3ca1de28522 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of sort has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js
index 17439fc8135c9f0e286294a207d3b4ed11fa1a18..927d9e050a9398fd55b0d841a3e05c512bca0898 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of sort has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js
  * @description Checking if varying the length fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js
index 1ae55ee08ad206a4369f984ff0cd1b3988d8ef23..6f52f6c1f8a00f837f82155607311704e4d63118 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of sort is 1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js
  * @description sort.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js
index baa71e392a83d21c070bd4c5c22cc943ceb8258c..989680b751e621c9cc238ad9036a4a77af30e6e2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js
@@ -4,7 +4,7 @@
 /**
  * The sort property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js
index e9a1dc97b89d5f41d1b91bb2da29d76fbb42c209..cacf2c7d329b20a0b36e68bd6b393980edbb685d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js
@@ -4,7 +4,7 @@
 /**
  * The sort property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js
  * @description Checking Array.prototype.sort.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js
index ce8e8653e15036b70d7ab7add4607c12565a39a7..f43c0eba0fba5701164fb75739fbdfc2576ee1ce 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js
@@ -4,7 +4,7 @@
 /**
  * The sort property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js
index 1490a217bc54aa76932284a7d02538a24b0bacb0..8d4169ade43e71aa83bf9e9ee1c78c916d9fde0a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js
@@ -4,7 +4,7 @@
 /**
  * Call the comparefn passing undefined as the this value (step 13b)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js
+ * @path ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js
  * @description comparefn tests that its this value is undefined
  * @onlyStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js
index 5a555db433a85fbe36a935b356f398d3099b5881..1c036ffefc10e165eeb995774a2cd6c6a83b03d1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js
  * @description length > deleteCount > start = 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js
index 61878fd151d4708f0483b5cb6ad8c9ff93c64b93..f3e165735b1be8f4b61a4505eb8c684a38089ea6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js
  * @description length > deleteCount > start = 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js
index 3c4638e8ddc58e8a325d745729205568773e0749..2632b0fee126bb263cc0f08247253d66b27ffa85 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js
  * @description length = deleteCount > start = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js
index 434990a964d24cd19747fa2115f0ee3020134e9e..ac33a5f1e6727c1b5889c3186c82e7b69d683dde 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.1_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js
  * @description length > deleteCount > start > 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js
index 00593d018143c4f2cdcdbd7e19f43950ffcebb96..d371e5c7d23bd12087d8a66549434ad8805ef443 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.1_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js
  * @description deleteCount > length > start = 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js
index f1f7db3e4bf8cbfbadb3d985b70093eb94bcfdd9..09592280fc8a061aca8ebf22b175fc59bc79a273 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.1_T6.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js
  * @description length = deleteCount > start > 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js
index f337f6da5bfb00d89cb10b8731437e08e3860867..e99e11eaed8cd9172dd3154590d9506a58afc857 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js
  * @description -length = start < deleteCount < 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js
index cf17d7595efd4521765a1a23615963ffe31bcfe7..c8dfd410987dcceef2a54d4e25de880eac0400d2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js
  * @description -length < start = deleteCount < 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js
index 3aeed5ffa5d33062b25259240a259b058904edf4..c79725d484f163a77624bb5b118723b1e80ca3b3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js
  * @description -length = start < deleteCount < 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js
index 0da4f1eba81d2da0a6fa87dec532ebe52674921d..af66e8da6b6d81e772ad067e5aad772d714d347d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js
  * @description -length < start = deleteCount < 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js
index 1fe074d1d42d79c393bfce11d0a636889137fee0..5b78dee45c9c94a41051f5679bffa36ccf67aa89 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.2_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js
  * @description start < -length < deleteCount < 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js
index b9d638e73ccbed7047bbe670d9e1f4ebfe07e77c..bd66019f722e5ea01430459cd73a3a3cc9947060 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js
  * @description -length < deleteCount < start = 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js
index 37bc3c85a1786f770bf634a97bdef08a772e549b..ba563cdddb46c59b69cd63e036b7fce6bb08db10 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js
  * @description -length = -start < deleteCount < 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js
index 75dfb481239b598554e3776b3aac07fc40917572..9171acf7e49710df9ca6002f6277f5e0ebb7b047 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js
  * @description -length < deleteCount < start = 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js
index 4b0da4f05ae937959f7996c45042af4588e60fe4..d51559feb785ef7cecdbea35c98223b444b5c3e8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.3_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js
  * @description -length = -start < deleteCount < 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js
index a56ea85f79313cda37def663a55d4562d4d465c7..747f1472fd1ebd2aae34209a4b4053e7a5ad365a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js
@@ -5,7 +5,7 @@
  * If start is positive, use min(start, length).
  * If deleteCount is negative, use 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.3_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js
  * @description -start < -length < deleteCount < 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js
index baa2f365d3a1d3780a5c1617a75ba628367d2ab0..0d2902b7153cd6f89be5b13e3b34d7c29b9f13d6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js
  * @description length = -start > deleteCount > 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js
index 8cff543c386ed641b245ec6c566edec2411568dd..be94553db62dd630446051ba8b0563ceff4c7b14 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js
  * @description length = -start > deleteCount > 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js
index 278717f80a497076159c5b0170eebd3bcf8a35e8..9aee37d7fa458e0d3705d57ebe2ccaf258f2b1d8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.4_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js
  * @description -start > length = deleteCount > 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js
index bfa9396344f6ee863feb92df9552969e794da299..d5605307d8d505f1dfdaed731a1d9e00c8780e24 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.4_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js
  * @description length > -start = deleteCount > 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js
index 06ea52c39034563aa0b1be60f32bbd42b7d4c38f..cf5bd46cd5173f2cda0c6028225e0be24e31a8a3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.4_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js
  * @description -start > deleteCount > length > 0, itemCount = 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js
index 073fbfb7d26a5955ff90c60d738cb3a7b9b87e3b..ec84cd9de56ec4f5a379f0384d0808a1b5eee73d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js
@@ -5,7 +5,7 @@
  * If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.4_T6.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js
  * @description length = deleteCount > -start > 0, itemCount > 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js
index 58c181cb5afd3456bd800e614da628bfe0158eca..f86b12a1f2aa613a43cd682941f8ecc41ad22484 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Splice with undefined arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.5_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js
  * @description start === undefined, end === undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js
index 6e1bf1fb74c292b70513839d8feaaca1d82a94b1..2d7ae20ab8a3bb393871afada0184f494f32854a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js
@@ -4,7 +4,7 @@
 /**
  * Splice with undefined arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A1.5_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js
  * @description end === undefined
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js
index 100c0cc04b2353fe5e1596870fe601e62ee5b385..cd82bdfbfa8b43306965cef24bc6b95b42ffd549 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js
  * @description start is not integer
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js
index 334baff38b0cd4d39681ea5cdb8b39446dc8e8e0..cf448affad1ae9f6359cb0031c9a3af5a7ce3ce0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js
  * @description start = NaN
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js
index eec59bc71ffde4223dfbbe98057f4ee703fdfb1c..0a797623f0d8cdd6d2fa672ac2980bfa495fdd59 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js
  * @description start = Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js
index e319e41aba96e82050a218808e655caec9b76547..cb0f5fc5aac35afb1f419b5980b87607e076c62e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.1_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js
  * @description start = -Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js
index 6562f732c2df952332c4cce6603359dad8abbade..61a93ccff723d4cbeee379a341888dc262378ed4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from start
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.1_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js
  * @description ToInteger use ToNumber
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js
index 6bf9f7bd1e5838940e80cd9bfd384da8387e9529..7bf393e855fc1d7fcd3e2f124d782d730ed02af6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from deleteCount
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js
  * @description deleteCount is not integer
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js
index 04a58ab4a4cc333145078c71171d58d59c9d4e19..51250571e5ba565b5539ffbdc5fd39cbd33e3cfa 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from deleteCount
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js
  * @description deleteCount = NaN
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js
index cdf61cd30f8c5d12370025997688fe4c9245c50e..ebbe0c605690a8b1d2b4da13e285045b9e2bf54e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from deleteCount
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js
  * @description deleteCount = Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js
index 1848ff01be8fb20682fa331c8586862edc602142..fdac7ca533db952d1eb9cafbbcfe253677f22b3b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from deleteCount
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js
  * @description deleteCount = -Infinity
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js
index 0c4674e2705943be7e34638472f1b71fc1ddb68f..ad988fd2e7cab1baf32359180537fe6ae2bd923e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToInteger from deleteCount
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.2_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js
  * @description ToInteger use ToNumber
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js
index ff4448e55903b2403dbc0d53e7f45c12b5b0cb87..24af0b05e61a6bc87e558182b2df4d13fcb4f2b1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js
@@ -5,7 +5,7 @@
  * The splice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js
  * @description If start is positive, use min(start, length).
  * If deleteCount is positive, use min(deleteCount, length - start)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js
index 1267fa99ade814082b9c3ea62cf9b8deb55c2096..8201da5b9b3476f8ceac6278c00a6b346a78d799 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js
@@ -5,7 +5,7 @@
  * The splice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js
  * @description If start is negative, use max(start + length, 0).
  * If deleteCount is negative, use 0
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js
index c170ddef61c275afbe70adbb23e58874589213af..69cd2f3958c30eb16650b9f4fc198663db5af2ca 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js
@@ -5,7 +5,7 @@
  * The splice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js
  * @description If start is positive, use min(start, length).
  * If deleteCount is negative, use 0
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js
index ab1d8c5777ce3f8db8efa1c074b842912a4535d1..38d037d1e249cdf15b4995c96a49328a2f1a25b5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js
@@ -5,7 +5,7 @@
  * The splice function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js
  * @description If start is negative, use max(start + length, 0).
  * If deleteCount is positive, use min(deleteCount, length - start)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js
index 5ca4568e0054b848ac2d022748eb4a341b27a958..a6645085fc1e48bed2f97aa81e32b7e2b4cf122e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js
  * @description length is arbitrarily
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js
index 8b104235dc396dcab787dfd51bc569c1083133aa..15893b83750544f4e912837fd02ddd160bd53b9d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js
  * @description length is arbitrarily
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js
index e26b55c44810944afddfadbcf4470ff6518b52ad..5c0dce77d1a7e2b50b02fb6167a42981e56e600e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js
  * @description length is arbitrarily
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js
index f615d9ac153190024f995b5e54bfd31bc0e28c27..ec2fb89370b135a014727ac12de515bccc6bf3fe 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js
index c95c652ca0faaf517b10a23f931a881bc3901184..3096402c328df88f1b783e8f34573cbe6fe8c7af 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js
index 7ffd349d09bb83758eeaec2b5d3e1c97831c8623..381d3ce76174da41e4f39831f5904d96d78ba1f9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A4_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js
index 1ded2c8b592c2316cbda3f9aa30100185960d26e..d3db326da4acf29eaf13a24f6d9c0b423b12267d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of splice has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js
index 689e809e898603df5bb1e369ba1ae4e6031ee864..4730b6a4baeb9d8f30fd438386bea9f7753db0b9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of splice has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js
index dbc5f530c086b32cf4944effc5e3005e9fd229df..a5d06d59d23a76bc218d6b618b9a2a271c0011d8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of splice has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js
index add6e98dffae8b905bb0768d72c48c88341ed23d..b71c37c109e3b5cb637c91b587392a76cf59c944 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of splice is 2
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js
  * @description splice.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js
index 67f71c587b59761ab7c9dfc41b80505acf354982..e2276b47a64bf46abf2934ad47b0703bd1964d92 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The splice property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js
index a02a5a874b54446dfdff46e24e0b6828e02a645f..621b83307fd1831fa6f6726e90e90dcb05d57b54 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The splice property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js
  * @description Checking Array.prototype.splice.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js
index d9963b4a21a8c9ba1d43949028e8cae486fb05c7..28344c811c1e045cef6996a31dcebac3f831f143 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The splice property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js
index 751714845273e241cf9e997f527741d5740c3158..01fe026bd8ad7e166c5fa40a184db91b530bde80 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js
@@ -6,7 +6,7 @@
  * their order within the array is the same as the order in which they appear in
  * the argument list
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js
  * @description Checking case when unsift is given no arguments or one argument
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js
index 5f127ba0c49b10020e51e5e10a5aa9bd6c041341..55be061cccad12f2a49d92111009429d10b0c07d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js
@@ -6,7 +6,7 @@
  * their order within the array is the same as the order in which they appear in
  * the argument list
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js
  * @description Checking case when unsift is given many arguments
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js
index d434301b39fc5b5e6942278938758661bbfb93f0..50d180ba22fa1b417a272ce34a8fd7569a1e555b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js
@@ -5,7 +5,7 @@
  * The unshift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js
  * @description The arguments are prepended to the start of the array, such that
  * their order within the array is the same as the order in which they appear in
  * the argument list
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js
index bab70c06def3759d9323c3e66e1332d65edfca15..c5850c6d8bac4cc299eb39438739984259509024 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js
@@ -5,7 +5,7 @@
  * The unshift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js
  * @description The arguments are prepended to the start of the array, such that
  * their order within the array is the same as the order in which they appear in
  * the argument list
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js
index c22d51ac3c92ac5aaa41e80ec36b39272d39c3dd..fe31fcc58351cd30934a67a02cef1c4269d0c213 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js
@@ -5,7 +5,7 @@
  * The unshift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js
  * @description Operator use ToNumber from length.
  * If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js
index 15619e64d0daf772b3ac65ace47bce5b534e9933..579b45ce88eb3b8e7d424b975154cb715801f2d8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js
index 2f2e09de0f5a5cbb39293be24b346f8e11c3241d..4fd6cbfa4812847bfd603ab983b64159757006df 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js
  * @description length = -4294967295
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js
index a96790dd6e6ea7fbe5ae46542f8d7984effb09d5..226d3416217012571130e295815fa281a8321db8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js
  * @description length = 4294967297
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js
index 5cb140ff08ce9048a3d7e0eb71db8a4d9e570039..964e95ca9df847fcb6bb42ddb7d8c882afea0b5d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js
index 1e3216fb3967b53c86ed3b79a25d1efa179fb954..1bdd2d4a02b891cecb5afd5b096d41d25ed77714 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js
index e58412eeab877b1cab0e456ba99c05a8a5150d89..d7fbf1619f8bd6a6e4a0edb8dec48aca7338d2cd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of unshift has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js
index 0272ea764a112bc980277b71d7db8e04ff166447..372ffd37dbd58127a7dad556a0cab4e061827e5b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of unshift has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js
index 0db8fd14c7d7db2646548a1c3cfc707457466d9b..85ea8a162ccf68fcd71f70f112ea4c08329cfdd6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of unshift has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js
index ee5e68b4f2e76c982cc700b2f4d2b781a8cfef26..68e1e48ee2b408fb2fae79ae61fc30c79e8b0b0d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of unshift is 1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js
  * @description unshift.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js
index 73533d15f426bb8a6af00ffe08c546401b15f6d6..d19b56b83f9f0b95a10244cfc982baaea6708589 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The unshift property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js
index 982911485c359f41cb04ad774958e976218b08d3..ae279b38b5847f852de28255981ec063520d1dfc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The unshift property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js
  * @description Checking Array.prototype.unshift.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js
index 607c8e936de5758ae1a93bbe12b4ba97b2bb2960..9baa5cffba75dab7c0fc7db29e109579799f0058 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The unshift property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js
index 4885dd13459f07f915e67b1f381c871a39fef694..f7c6db33adb02e7ecd5a935a2f20705851ab7261 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js
@@ -4,7 +4,7 @@
 /**
  * array.forEach can be frozen while in progress
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js
+ * @path ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js
  * @description Freezes array.forEach during a forEach to see if it works
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js
index 6a3aa8a430c29a25c5deed612f4495b5819d5cad..bc45d19ab90e071d13797270b5e75e25d4a40699 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js
@@ -4,7 +4,7 @@
 /**
  * array.forEach can be frozen while in progress
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js
+ * @path ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js
  * @description Freezes array.forEach during a forEach to see if it works
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js
index 2a0f2bb653847fc25e1b433a5f76907b619bd8bc..96e1eeeef81642df8d4f92610a742f239638de23 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js
@@ -5,7 +5,7 @@
  * The result of calling this function is the same as if
  * the built-in join method were invoked for this object with no argument
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js
  * @description If Result(2) is zero, return the empty string
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js
index a669fe367dc16e1e7d1434fdb829e67b8e230757..e4cfad7704589e89474e7564e67b3c905d7417c8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js
@@ -5,7 +5,7 @@
  * The result of calling this function is the same as if
  * the built-in join method were invoked for this object with no argument
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js
  * @description The elements of the array are converted to strings, and these strings are
  * then concatenated, separated by occurrences of the separator. If no separator is provided,
  * a single comma is used as the separator
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js
index 0b06104c137bda3260a68408f8f3401d8b8da885..793b503fc22e8e92e2d38e85327c9b48a7de8770 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js
@@ -5,7 +5,7 @@
  * The result of calling this function is the same as if
  * the built-in join method were invoked for this object with no argument
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js
  * @description Operator use ToString from array arguments
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js
index 40debda4d04d9f70d868916e1465e99e5645f9bd..a68bee58a3b814438db49f92b590636aa97d69db 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js
@@ -5,7 +5,7 @@
  * The result of calling this function is the same as if
  * the built-in join method were invoked for this object with no argument
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A1_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js
index 27a0e8c4bb0666849c75f37b9317382ff976ab04..9b3c038c080fed12bbdb520b8a49ca9ba46133f7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js
index 8aafad8197296ccad71cf419cdc015a365009b0d..7fba67be4841aed4a638743162cc46035128dc97 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toString has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js
index c46079563fc685efbb3985089dc06b3c9d2f05c2..5731a02aac77fe4f510c6670a501c2e192a24b71 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toString has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js
index 16273318397b67f14c509dffd19308a1a0cf1b5b..185f84881915fc1f679536dfa8ac4db3ba813792 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toString has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js
index 4267ce6e52ba896e8511f76bdb1ef6f7530f0007..888ef487a751eb5d90ccc5292cd358f7d6214d0a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toString is 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js
  * @description toString.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js
index 0b1d5a866414722196551454838f7ef8e7fb8921..a49eae5c5eaf53ba229e826c40f87f97cf06f423 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * The toString property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js
index 819020eef6da692a945534fe2727affe76085a81..f24592438ed3e0db98753f1755095b199c43a7b3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * The toString property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js
  * @description Checking Array.prototype.toString.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js
index 96a5cfb3a7d51986c2adbe08eefb3fb558a9ee04..fa9d85a8b57a10c04e866c4ab7c86fed7ec95356 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * The toString property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js
index 15dfcd2a325496f8c2af55491da583c599df648d..5b3383478f9d2e473bfb86b5d237b0b338a168e9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js
@@ -7,7 +7,7 @@
  * by occurrences of a separator string that has been derived in an
  * implementation-defined locale-specific way
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js
  * @description it is the function that should be invoked
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js
index ce01650ee83fa51a72859e6863c48ef13ff81d18..d0e88177a120a8901ae4b90f1763430a471a884e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js
index 0453fcf746477b44574db097d71265192fe26fd5..c14d7c5c4717ccebf8b4f097324e5e8d32a0cf8f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toLocaleString has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js
index 8b02d195032931bd2ebd56759782144c48f90fbc..138fa94dff28acf220a864c9821cdbfed705797e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toLocaleString has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js
index 86f23d623907dcf048ede224a0d8ca3713a04787..f3f058468a97c71d711c97dbf3f82d24ff158148 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toLocaleString has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js
index e97145706e9e0d2df4f2a46640d6f74eea909249..ca21a5c594c05ee09341e336eb2a26e5f96ad2a2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of toLocaleString is 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js
  * @description toLocaleString.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js
index cb2b989073c434f882a832fa9ced116f65095db3..d4873dcb60abd79d273563a0f18b8a720cf1dd5f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * The toLocaleString property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js
index 9d0f9c83dd0e069852bb208f06b8369cf26e6222..5d67830515c28cb1102c4b59376f6941dfeb385d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * The toLocaleString property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js
  * @description Checking Array.prototype.toLocaleString.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js
index 529ef3ee0f3c4556631a3f543da0495e56cdc2cb..52a8f32ca870df9cb408697f9a2ca301d682a5fb 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * The toLocaleString property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js
index 06e8e3b6e862cbdfcd925bdf9cec359eba817f56..f5eb4eeabd3d6835b5e91f4733e6acd48586f353 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js
@@ -6,7 +6,7 @@
  * etc., it returns an array containing the array elements of the object followed by
  * the array elements of each argument in order
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js
  * @description Checking this algorithm, items are Array object
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js
index 82224de151df463a9f72f93ad1854d38635c74bc..35c104f7d2ea1934fd7020a690162fcb09cafbd2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js
@@ -6,7 +6,7 @@
  * etc., it returns an array containing the array elements of the object followed by
  * the array elements of each argument in order
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js
  * @description Checking this algorithm, items are objects and primitives
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js
index c567aa3c13665945948899735becdb1fa33b3831..13549592cc6e38a4b14277012469500ada4f6c4a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js
@@ -6,7 +6,7 @@
  * etc., it returns an array containing the array elements of the object followed by
  * the array elements of each argument in order
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A1_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js
  * @description Checking this algorithm with no items
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js
index 052512eee8ab4e84f1a140d8b69db440a04e64f9..3cf64d942b337361043317a34adb929222395d83 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js
@@ -6,7 +6,7 @@
  * etc., it returns an array containing the array elements of the object followed by
  * the array elements of each argument in order
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A1_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js
  * @description Checking this algorithm, items are [], [,]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js
index 171653c28ba6835d1fb88f285f7e9af9b3bc148e..3d4bc3a7d6e157298a25e2ea58cdd05d87122951 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js
@@ -5,7 +5,7 @@
  * The concat function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js
  * @description Checking this for Object object, items are objects and primitives
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js
index dddec2e1b777ec21e0aff726d666003c73dc616e..3677816a543ed3c8755d562abe639c0ae29c7fcc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js
@@ -5,7 +5,7 @@
  * The concat function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js
  * @description Checking this for Object object with no items
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js
index 42e0e87aad26d2526a9f31449c6f0587dce08359..761793dcf73fb1a8e712ef0c7c3d1d705a387f62 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js
index 1858bda23e344787961febcfa265b550854bf757..8f44f11ea5f67e1fd93a591ca234d50dbbac0a3d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of concat has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js
index 64ece55f5ae27696094696a6a4cece33a81f57bb..383a57a337bb488585726db1bdc016ad022fe906 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of concat has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js
index e800766ca6dd0c2698f019c4b4406d28f13bf766..e9006f4c7be89bb4086d045477f97e0db1deaf3c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of concat has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js
index 9763c72343847429ed8de5e1c6fa2b1dad71331a..7f2b3291710732b3281522eb7941f6d42004760f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of concat is 1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js
  * @description concat.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js
index 218eeb638f7d82036ec80027cf4552e4970322c6..236be1f96eb09705d9ff5894120207bfa044c5b9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js
@@ -4,7 +4,7 @@
 /**
  * The concat property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js
index d549d3e79c4a250158343ad0ff91138b5e98b6fc..bbd5df9e486d2587737de1a97c819eb97b7943b2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js
@@ -4,7 +4,7 @@
 /**
  * The concat property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js
  * @description Checking Array.prototype.concat.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js
index 667c6cec6df829efc11d599df737b66aaaed9421..d17536462dc2542cea66f5d04f5d32480d026041 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js
@@ -4,7 +4,7 @@
 /**
  * The concat property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js
index 6fd592ea536d85f32a0451be8d304847a5937850..bba921ab17044ed5281ddc6b7ec02836cd33f60b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If length is zero, return the empty string
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js
  * @description Checking this use new Array() and []
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js
index 78c934416910a65ff0c7e180fc775def4d4c5dc5..568468d1ea91b34bfcb3c20ea8654ea2516b358f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If separator is undefined, a single comma is used as the separator
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js
  * @description Checking this use new Array() and []
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js
index 1752aa0d06c63f6a2a611eab9b5933a14d39aa5c..e09c2a115cbdb9532ab8cbd8f4c4894b8dd1df34 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * If separator is undefined, a single comma is used as the separator
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A1.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js
  * @description Checking this use new Array() and []
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js
index 20546f4503d7e81a73270a4f1ed4c2e66f273e02..4a95e6550f7dfeafd57f605d59661dfc2ec9a8e3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * If array element is undefined or null, use the empty string
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A1.3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js
  * @description Checking this use new Array() and []
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js
index 4b5c2b54c800ca87acf04f54dc42dcf2342ccd6b..6895b5a247e96ffec175a9ceadb7bbbf42a2c65f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js
@@ -5,7 +5,7 @@
  * The join function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js
  * @description If ToUint32(length) is zero, return the empty string
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js
index 9fbbfca8055acc42b16db5e9cc13f072de1f8daa..5b0b7d75d28e03de94bdcfddc83dc07dcde3f204 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js
@@ -5,7 +5,7 @@
  * The join function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js
  * @description If ToUint32(length) is zero, return the empty string
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js
index 741d57beae8712461c3990f455c2b113c9ca0eaa..e9ef09ede45bc3de9c1e33b1a6c0b9da3efd6337 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js
@@ -5,7 +5,7 @@
  * The join function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js
  * @description If ToUint32(length) is zero, return the empty string
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js
index eb7f80800916730c2e284b5fa2a05c2867c5f6da..d4072b78213ebef352559cb5053c112310998f04 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js
@@ -5,7 +5,7 @@
  * The join function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js
  * @description Operator use ToNumber from length.
  * If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js
index 22ba367fea12f85a3aad02a3aa645ae49116dc1c..ee35630823c9ff16c29c63c62fc066629bfa04bc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString from separator
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A3.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js
  * @description Checking separator in ["", "\\", "&", true, Infinity, null, undefind, NaN]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js
index d227a6db915725b02a2164256c406f8ab41fb039..a49a7814a664581b6cca4ec71ae57cce36ce86e2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString from separator
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A3.1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js
  * @description If Type(separator) is Object, evaluate ToPrimitive(separator, String)
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js
index 744399a04a3d2d9a1a7a0d179da231f2dd0e3e01..b0bd016901c50c5f4fbdab492f27324032219d50 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString from array arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A3.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js
  * @description Checking arguments and separator in ["", "\\", "&", true, Infinity, null, undefind, NaN]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js
index 35ef5d20c5ae71000599651558cce2da56eb5613..e56188cd7d5f6d04242cb5c9d4762f2b9060fe28 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Operator use ToString from array arguments
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A3.2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js
  * @description If Type(argument) is Object, evaluate ToPrimitive(argument, String)
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js
index 6067e71eccab7c9ef0a1abd3eca55288cc03b577..40e1bc6654354ece4b1c5260c0cb7918235f915e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js
index a01de38455a0fcdc47700840e6b49260ca0be446..23c4efff191c6f92734488df176380582ca9d509 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js
  * @description length = 4294967297
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js
index 7b4f6a5c79f15186eefb926242684adfd005a46b..df9eba2939414fc897f35d40350d45ccfc483997 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A4_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js
  * @description length = -4294967294
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js
index 04886943137feef88f423745af5552c27d8e1729..a0ee319f956db029d3c3adb571880cdf8e8ab100 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A5_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js
index 7e693c0f65c01ad83d68742b9d54ab8e16d297a3..3066f805e9c0bdc0e273a6ecd5f9571b28264f22 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of join has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js
index fde9d786bda2f48c57c530fb1c683349bc44cdcb..d415d2c6b8baf9c04fd3916e31a6871efa2a8c08 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of join has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js
index d6a86a146e3ddd604e86e4965dc9594c7556a83b..e56213508deb96d0d57258b74e415f5acdeb5e4a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of join has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js
index 111f642ed363091b489f1beba1405619ecdb1d9a..24514ff5780633862c4e3b625b9cc9e654f91937 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of join is 1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js
  * @description join.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js
index 5ca10961bf6afc8b0117094abd9b86abc72a6c87..a6e48f0dd66391f3dc53319f77d718eb60462387 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js
@@ -4,7 +4,7 @@
 /**
  * The join property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js
index ed986a06e670d8eff348c9108ac3148439a86f77..22378de7a4ebb8c37f47a47a0e8aa8c22db1b2f5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js
@@ -4,7 +4,7 @@
 /**
  * The join property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js
  * @description Checking Array.prototype.join.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js
index 731b059d471aadd8ee775d73bed59484525493ce..db85fdbee186afc20ac604f141d134282ad231e0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js
@@ -4,7 +4,7 @@
 /**
  * The join property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js
index 925b7be40e48abf933f197cdeb8fb8cea25d8e21..2aaf5e38494b67892754f5f9051773e0cd472f60 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js
@@ -5,7 +5,7 @@
  * If length equal zero, call the [[Put]] method of this object
  * with arguments "length" and 0 and return undefined
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js
  * @description Checking this algorithm
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js
index dd5e839a94ff946189a82df93153acc799c89191..e28151d3f176653aab90d85f5273a6fb43860761 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js
@@ -5,7 +5,7 @@
  * The last element of the array is removed from the array
  * and returned
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js
  * @description Checking this use new Array() and []
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js
index 6e029a89e6be82cc10e60122f34ef7904afcea16..4f315173562a4a91d2bd3abb689c819cb372e4b7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js
@@ -5,7 +5,7 @@
  * The pop function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js
  * @description If ToUint32(length) equal zero, call the [[Put]] method
  * of this object with arguments "length" and 0 and return undefined
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js
index 7e75d1ac71deff8db808e15b98ed3b5f8c599e36..452ceb072fb13543840a38d7be5b695bc7601b68 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js
@@ -5,7 +5,7 @@
  * The pop function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js
  * @description If ToUint32(length) equal zero, call the [[Put]] method
  * of this object with arguments "length" and 0 and return undefined
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js
index 594881cd2e66fe321785c95ad3280ae9e8c55ed5..4bb20b98330ed367d8093f8afaf372273217d7b2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js
@@ -5,7 +5,7 @@
  * The pop function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js
  * @description The last element ToUint32(length) - 1 of the array is removed from the array
  * and returned
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js
index 813f7dd57a4b706a70a654ed4f482eef41d85677..88faf99a7787f7cc73db050146dc6ed3e413ab9a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js
@@ -5,7 +5,7 @@
  * The pop function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js
  * @description Operator use ToNumber from length.
  * If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js
index 04fd9a8e5b3945f9518b1aebfbdc9eb0c40f8a7d..666f2c37e54152de1388c641777256de6d6d95d4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js
index 2771dfb28b27e35cccec0e9111aa534bb4db257c..910e5d94d0242ba5594c99a121bda0a563e87b9a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js
  * @description length = 4294967297
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js
index a5bc9722846572cf56437a4ad0fcea176fa3680d..9eee4cee8fe8f0169f491ee0c59e88d4def92c92 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js
  * @description length = -1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js
index 82069ff1ee3bce1c285abd553b28101dd059d093..16ed2eff265f83c0ced5de8877dd6b59f0a4c7e2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js
index 5b026d7c8dee18b599d066285cebee42f6cc5235..cb3498573dbd73e9668eb45e8ea9fbf85229dcee 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js
index b44a7ef1784620d1841e78a7d123dbdffd9d6a7d..601fc2156e32725b4a6106a65b50027fc8238f86 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of pop has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js
index c4de8c610d06f8cf7c7af7f34383be58451b75d5..1e7e6e37933333cc9604ef68a53ead0c0acc3806 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of pop has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js
index ce4c5df2e5b57ab744919a5b34f0f4c85c3a53da..fa889895620749b4b0c64b3dddf414ebc722e807 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of pop has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js
index 7cafbb100210417f28ab0db962571d03409a8fb4..27d696e2430e933bb8002d5ef65de3f5884d76af 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of pop is 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js
  * @description pop.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js
index c4db46d8ad193ac95ce5c7db3a710f9a93ff1e07..337db2071bd2f3973406630d467d2d1a02d5d82f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The pop property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js
index 752997393a19a8e4dfccdc7e743daf830ae8b4e3..b159eac0011b8d3d602957fa3977e5523dd68b59 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The pop property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js
  * @description Checking Array.prototype.pop.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js
index 14d63b7b5018403b8a9519e8908c256d89077ea9..7c1924c7a994dc40e0b7cba5b00c3dfa3f929a5a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The pop property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js
index ec161093c49f31496bc80fe564abe488b91dbec5..283c8edcedf4f596d2d68b44220bddbc8ed756bd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js
@@ -6,7 +6,7 @@
  * the order in which they appear. The new length of the array is returned
  * as the result of the call
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js
  * @description Checking case when push is given no arguments or one argument
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js
index d45c35b6e7a36252bf31412cbc1bbfa72216f8b8..e9a39ab725d257b758189a9087eab6d3cc84e086 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js
@@ -6,7 +6,7 @@
  * the order in which they appear. The new length of the array is returned
  * as the result of the call
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js
  * @description Checking case when push is given many arguments
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js
index 126038079c2a0b4fcb2b036d2ddda959aa288e44..4adea71b6fbdbbc322dd4d033b3a139b03cc0688 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js
@@ -5,7 +5,7 @@
  * The push function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js
  * @description The arguments are appended to the end of the array, in
  * the order in which they appear. The new length of the array is returned
  * as the result of the call
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js
index c5c5bd233c67b7bf8c1710737aa961728c77b138..b294fae5b98f35439265f2c8d1f89a7518164c0c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js
@@ -5,7 +5,7 @@
  * The push function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js
  * @description The arguments are appended to the end of the array, in
  * the order in which they appear. The new length of the array is returned
  * as the result of the call
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js
index 6511a3da67530c76d85e729e7b60097b99165ffa..be3839d4d56fd4b983adc9c4fbf1122c2bc77bd5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js
@@ -5,7 +5,7 @@
  * The push function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js
  * @description Operator use ToNumber from length.
  * If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js
index 78d06a9c85fdfd44a3a81923819181d89f78f028..910fe9f3cb3b08e35a996db5accea7e8e8fac424 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A3.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js
  * @description If ToUint32(length) !== length, throw RangeError
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js
index aec06358a34ee82989088e77a54e73b8f3980b42..73e59476f165fec1db5b821b1b307e41cd294102 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js
index 213dbad51dd21c4482397cd33eb38a66113dcc39..02e18ab0ab5cf586166c10eb888134a9753af598 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js
  * @description length = 4294967295
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js
index 57a50f17cc442fa0c0427f04562cc4bf31e6c52d..fdd6279da6fe3d4cef8b041da855073edf1df36e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A4_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js
  * @description length = -1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js
index fed78c5b1e5e3a044f3e1e3bf29562a5283ad725..925dfae4d48bc2fe93a6b91292cd8a8b2e1f4866 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A5_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js
index d28ae8694a97dcba3581f2fe395e68891a5ce234..5cc51366488e6ed40f6a26a08f53db1f0d402d2d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of push has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js
index 475648d28d965861b8c09d30de832507229d5a15..08da5d3d47bb4c8ad5327777885f4fcb5334b38a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of push has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js
index edd114fb1dc9aa4e99775d00f3b82b5abd4df090..db6af4403e1bbd48d86f4997df61b78db0740a54 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of push has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js
index 3328e2fd73a4a1c43bcc66631fdf478ca354dab0..0218d4d997e5e1da5323aa804c591338872ae281 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of push is 1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js
  * @description push.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js
index 0a47903b3f4c8f3445c221ec0453d7138c01a06c..3125dea3a209d76f000f8ed819d29ab7bcf45009 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js
@@ -4,7 +4,7 @@
 /**
  * The push property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js
index 20849a046efa411be6ec70d9b6c9f8547646405a..b700eaaeb712a08f4164e8fb7580c5fa36f07941 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js
@@ -4,7 +4,7 @@
 /**
  * The push property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js
  * @description Checking Array.prototype.push.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js
index 6a33817f3c9af3e258f2b04f2015e70087c1a31f..7f5ebac8f347a8f594fae877702911e7cf07d31b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js
@@ -4,7 +4,7 @@
 /**
  * The push property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js
index dc182a5dbd6cc2d0106aba01f22012e4d2e7ff9c..25c897dca2ecbec333c2529391c73aa634c7ebff 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js
@@ -5,7 +5,7 @@
  * The elements of the array are rearranged so as to reverse their order.
  * The object is returned as the result of the call
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js
  * @description Checking case when reverse is given no arguments or one argument
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js
index a059d1ad39ddb13cc3c9989a89e6125a453cd838..94bcac92504dae5c3bed2aa67ad90794dfb21998 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js
@@ -5,7 +5,7 @@
  * The elements of the array are rearranged so as to reverse their order.
  * The object is returned as the result of the call
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A1_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js
  * @description Checking this algorithm, elements are objects and primitives
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js
index 711c93cf35f6940e98dfee9e5e1e063e22254c85..eb98397d815cdf746f496071a6baa497013b1a1f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js
@@ -5,7 +5,7 @@
  * The reverse function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js
  * @description Checking this for Object object, elements are objects and primitives, length is integer
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js
index a85521fcb803268ab8c72ddf8bd7e0a7f2117d01..fa42f9c540265df54cc3b60cb2fbc4f2250ecede 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js
@@ -5,7 +5,7 @@
  * The reverse function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js
  * @description Checking this for Object object, elements are objects and primitives, length is not integer
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js
index a18f3e2dc8b527befa9ef909b591e829f463deb6..76e457d81eb2b3170bcb920179d0da0d3d2206f1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js
@@ -5,7 +5,7 @@
  * The reverse function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js
  * @description Checking this for Object object, elements are objects and primitives, length is string
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js
index 94e02bbba61a35ef4e89da60e75fb20e8283ed1e..cd3e5e86b67fe95bcff92b0ffc13edd661649040 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js
  * @description length = 4294967296
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js
index 8df45505bdae44bb064c5bd7ec0fec682f003c5f..46f2e7afec360e2cf8b8e8eaabc6a703bb3fc314 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js
  * @description length = 4294967298
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js
index 25c591732ae6c9f2c923b761c252683bf7378be9..ab9eeaef2c6a7123c8e862eb2759aa22d4413718 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js
  * @description length = -4294967294
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js
index 59763c4202596beefa6e08e3edf5675be81f5a8a..e352960e85bd7a01f3ae97a29fbdd761cfb10311 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js
index fd13d77389ad28f70728b3f40dc2dd46df2a3408..38c1dd819694bb57cfa593d41f0245f5257b2e2d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js
index 0cad7c73e8153a7abd0b32eb2ba1165f2782cce2..4842b008b56014d90d7ef41448d1b18ab443ab47 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of reverse has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js
index 5ec194458b7f1ab113790c1b790d0e5a14182d39..c50b4df4678f908911461b8fd3baae775cf40c9a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of reverse has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js
  * @description Checking use hasOwnProperty, delete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js
index b94f2e12ec12b809426682d8f287006dbd28edae..697cd8efebb4110cb7fd568e320deeec781b805b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of reverse has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js
index 60c67817cf9676d7a3b894da1e476b9f2cad47de..0a90c188c50341579a77adee2b8ca2390eb84f4b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of reverse is 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js
  * @description reverse.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js
index 0e8bc7c8e072a78ce9b2680ab556f3d6fbe61577..cb1ddf4dcfd93808ff055ff1c7dd428b24562f67 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The reverse property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js
index 74e345ad0584a3f6421e69dfcba02babd0828042..af214f93a04ee46d28e205ad4edcf81d2df14d83 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The reverse property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js
  * @description Checking Array.prototype.reverse.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js
index d37ab512dbb296db5a2797c02f40afe16444d527..0fd08fc56b5b9f73d8887916259b142ad46e7924 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The reverse property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js
index df04ee97001c4d529d09bb524e878dc1729d00fc..b44ab8451f5371be851fbc88fa4891a70ae28e63 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js
@@ -5,7 +5,7 @@
  * If length equal zero, call the [[Put]] method of this object
  * with arguments "length" and 0 and return undefined
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js
  * @description Checking this algorithm
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js
index 35d2bdee1fbf538f9b4c73990dcd70d9b1abd7da..387255e37147610a08882650f9d5158d28ef5279 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js
@@ -5,7 +5,7 @@
  * The first element of the array is removed from the array and
  * returned
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js
  * @description Checking this use new Array() and []
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js
index 36467580ef559d35cf4a9f96c9c933607a25fa10..f5ee769f3f42cdc2c9d09d1ba78de61ec66c0bbd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js
@@ -5,7 +5,7 @@
  * The shift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js
  * @description If ToUint32(length) equal zero, call the [[Put]] method
  * of this object with arguments "length" and 0 and return undefined
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js
index 7b6340ab487b3c5bfdef55dd36c5efb83f2716ed..98dd6323c1a913b4bd720f313e6e27c360ed74bf 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js
@@ -5,7 +5,7 @@
  * The shift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js
  * @description If ToUint32(length) equal zero, call the [[Put]] method
  * of this object with arguments "length" and 0 and return undefined
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js
index c4dd4e213c1f792afc5645b82312d464a3dfa98c..a2f6381e79eb70ad42f7b46d30cee2ea01d453dd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js
@@ -5,7 +5,7 @@
  * The shift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js
  * @description The first element of the array is removed from the array and
  * returned
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js
index 97b831d8c9d0e1973ab3284951b87ff0b52a4c8e..3fa3d40a81365ec68cecbfbc5f6efd270777b9a0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js
@@ -5,7 +5,7 @@
  * The shift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T4.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js
  * @description The first element of the array is removed from the array and
  * returned
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js
index 8e9aad034b49ad108c01128fee3986a8dd011a29..51bff21c0f1da76bc89c129a0ff65634ad3f40f1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js
@@ -5,7 +5,7 @@
  * The shift function is intentionally generic.
  * It does not require that its this value be an Array object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T5.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js
  * @description Operator use ToNumber from length.
  * If Type(value) is Object, evaluate ToPrimitive(value, Number)
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js
index 5ee8eaf04dec7fa205553fef037d6d484769d117..030873f5367c8ddef8cc5364e8d4e535264f38fe 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A3_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js
  * @description length is arbitrarily
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js
index 4477f878e2a85b2b82c0331720d6346e845498c2..c3b37cd62ae87300bec1d7abde38e27021fdbf9d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A3_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js
  * @description length is arbitrarily
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js
index 8d34763997c3e15c563c07fbc68a9bbe4757e682..23243d7be45346baa3fb58325bb488e9ff724a01 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Check ToUint32(length) for non Array objects
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A3_T3.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js
  * @description length is arbitrarily
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js
index 216ad3c1e47d534381cb7623770b41c094bfa2f6..7a3fed69e0a4081d4efc862c68ad7b5d64ce799b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A4_T1.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js
index 5b938f5b1eea014f6464440c0648252c52455e67..e10ee72ec8e39b2ddb90870ce067d16d828ab7e9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * [[Get]], [[Delete]] from not an inherited property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A4_T2.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js
  * @description [[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js
index 400bb0fc005cef10b91c86d1ff4b6dad1337e112..d498bc5b1426927cf35558dd6b58e4dfccd672e8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of shift has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.1.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js
index 990d6080cfb89ed4d3b4ed4419f0dadd2f97ec24..8a8530b9ca806d256ecd52e67eb4d196c7c9c167 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js
@@ -4,7 +4,7 @@
 /**
  * The length property of shift has the attribute DontDelete
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.2.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js
  * @description Checking use hasOwnProperty, delete
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js
index b27ce21bf561b2d8ba6e57bc92ff5d50d14f610e..43c540992881a2e622a0ad9c6be5efea0cd263d8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js
@@ -4,7 +4,7 @@
 /**
  * The length property of shift has the attribute ReadOnly
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.3.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js
  * @description Checking if varying the length property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js
index 1d389df2297980350b130de4050b59198633a9fd..6e7f5197298a8dd9e3d23a1c3c5367b270f27ddd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of shift is 0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.4.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js
  * @description shift.length === 1
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js
index 10de513ee368e0632765bce043ffb91b01b9a3d9..b52477433de0579c23246927b434333cbf6dcf59 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js
@@ -4,7 +4,7 @@
 /**
  * The shift property of Array has the attribute DontEnum
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.5.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js
  * @description Checking use propertyIsEnumerable, for-in
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js
index ee74e652bcd1f3bd5f6eef0ac3271edfb77ad3b2..c1e4ce641aa964535a298a0a3780cc7544c7393a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js
@@ -4,7 +4,7 @@
 /**
  * The shift property of Array has not prototype property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.6.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js
  * @description Checking Array.prototype.shift.prototype
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js
index 7912786508d1dfc8417904f4f7f5706011ca85d9..24b8122a1ae46b3cc1332cfe50905474df43e330 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js
@@ -4,7 +4,7 @@
 /**
  * The shift property of Array can't be used as constructor
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.7.js
+ * @path ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js
  * @description If property does not implement the internal [[Construct]] method, throw a TypeError exception
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js
index be64f44a8caf7401f3f2e9da08321d88bc26e5dd..1ccbc5151bd190c4b5b2af194591e8a8ae5fd948 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of
  * the Array prototype object is the Object prototype object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T1.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js
  * @description Create new property of Function.prototype. When Array.prototype object has this property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js
index d5d97c3cd3f0f9a3885a51d682593c63df9e77fa..c24c92cfc3311a6a05587bec09ac05bf253098c9 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /**
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js
  * @description The Array prototype object is itself an array; its [[Class]] is "Array",
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js
index 7b5d34c8cdb12323b1ef63f9bed596cbd82ba00f..fe640adf1794f0197fcf215c0d9879d1ae7f27bd 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of
  * the Array prototype object is the Object prototype object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T3.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js
  * @description Checking use isPrototypeOf
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js
index 40717a18b9c4694a42ef86238477ef41be63cf93..164069326c1463d8c131c0bc6288e55c90c2c6e7 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the Array prototype object is set to "Array"
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.2_T1.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js
  * @description Checking use Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js
index 9ddb70c5bde4f90c390cece0e8d007fe24076d6b..41d9961faa0d3969610f5fdd038aac70a3476081 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Array prototype object has length property whose value is +0
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.3_T1.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js
  * @description Array.prototype.length === 0
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js
index 7c9f4ad72d5dd15d88df1268a31a2cb5f210778b..d8e5c49a6b0ec147d4ab83f7f2150133b7a840fc 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js
@@ -6,7 +6,7 @@
  * its own; however, it inherits the valueOf property from the valueOf
  * property from the Object prototype Object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A2.1_T1.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js
  * @description Checking use hasOwnProperty
  */
 
diff --git a/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js b/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js
index 365192fc90c2cfe4a7d4bf32492c78d809ee2394..0fb1ba003a0dd1ccd3fd922c21dc0a26996df31e 100644
--- a/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js
@@ -6,7 +6,7 @@
  * its own; however, it inherits the valueOf property from the valueOf
  * property from the Object prototype Object
  *
- * @path 15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A2.1_T2.js
+ * @path ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js
  * @description Change valueOf property of Object.prototype. When Array.prototype.valueOf also change
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js
index e12d8bc08650876696a09a74c7b1b3c90cdb2dad..109ffa0e0278dbe79800378aa98ad397fe17806e 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * If ToUint32(length) !== ToNumber(length), throw RangeError
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.1_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js
  * @description length in [4294967296, -1, 1.5]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js
index 4800aa300ab580a7ec57f7168c1aa68e4ec07465..1e88397491069bf6a5e2d3174fc8fca2ab931c3e 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js
@@ -4,7 +4,7 @@
 /**
  * If ToUint32(length) !== ToNumber(length), throw RangeError
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.1_T2.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js
  * @description length in [NaN, Infinity, -Infinity, undefined]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js
index 32482a314165842ff5104323bd822975aff4710a..c85204eef95abda347eec2333d04b18d6ee3c9a5 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js
@@ -7,7 +7,7 @@
  * if A itself has a property (not an inherited property) named ToString(k),
  * then delete that property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.2_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js
  * @description Change length of array
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js
index e6cb20a11600525f2f8b49f182519dfe0e4759ae..7051e96f0900d132c0ea48b64d2179e745d5e2b8 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js
@@ -7,7 +7,7 @@
  * if A itself has a property (not an inherited property) named ToString(k),
  * then delete that property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.2_T2.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js
  * @description Checking an inherited property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js
index 5ba1716e0dfdef057922232616808218f00f4f95..85dd3cc1be2e3ab68730c65d38223aba2c85429b 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js
@@ -7,7 +7,7 @@
  * if A itself has a property (not an inherited property) named ToString(k),
  * then delete that property
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.2_T3.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js
  * @description Checking an inherited property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js
index f578ed53289c465d5812a3fc95ad3d1f090ad84f..c771b97424c98294ad59fe030c812c130d15448f 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Set the value of property length of A to Uint32(length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.3_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js
  * @description length is object or primitve
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js
index 02ab7e7518b3fb67b071a4c66bab40841044a306..ad9b748452a39716b492b41cc98e5879cd591a73 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Set the value of property length of A to Uint32(length)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A1.3_T2.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js
  * @description Uint32 use ToNumber and ToPrimitve
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js
index 5c11117647a22b9bfaf8df264f8f7fdf5725a350..a1d805c34dd268ae342dde816d2ba869e125c995 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js
@@ -5,7 +5,7 @@
  * If P is not an array index, return
  * (Create a property with name P, set its value to V and give it empty attributes)
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A2.1_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js
  * @description P in [4294967295, -1, true]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js
index b9c0a8249c389951c52e4ffe0efa6de5625d1885..cbb9dbe61c1f589730a7ac6d665ac7ea2e3e14b8 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js
@@ -5,7 +5,7 @@
  * If ToUint32(P) is less than the value of
  * the length property of A, then return
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A2.2_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js
  * @description length === 100, P in [0, 98, 99]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js
index 292437be5309f2f3a9630bd917864184b36fee16..42e13f3924fcd263fba4bb94b213937473520aeb 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js
@@ -5,7 +5,7 @@
  * If ToUint32(P) is less than the value of
  * the length property of A, change (or set) length to ToUint32(P)+1
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.1_Put/S15.4.5.1_A2.3_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js
  * @description length = 100, P in [100, 199]
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js
index f43d472dc0ec046aae985ca986c5bb69068557cb..b34c630f18e276877bcbfbcab8102b8e8e3a8159 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js
@@ -6,7 +6,7 @@
  * always a nonnegative integer less than 2^32. The value of the length property is
  * numerically greater than the name of every property whose name is an array index
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A1_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js
  * @description Checking boundary points
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js
index 03af52aebfb372262e5dd7ecac6c0feeaa06506a..d6ecd91c53ca9f47d5f4a5268849fad698c8ffbc 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js
@@ -6,7 +6,7 @@
  * always a nonnegative integer less than 2^32. The value of the length property is
  * numerically greater than the name of every property whose name is an array index
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A1_T2.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js
  * @description P = "2^32 - 1" is not index array
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js
index 0cc9d41ffd61c6ba289d091af5d6a1d95372c1fd..5a892bfadc3acdc92df8f0da4f008735d0024380 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js
@@ -5,7 +5,7 @@
  * If a property is added whose name is an array index,
  * the length property is changed
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A2_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js
  * @description Checking length property
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js
index 633f9a9363048d1cd2d1521560b729c11d943cd4..acffcd289f263523c0c535ac915e8e5d98ee04de 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js
@@ -5,7 +5,7 @@
  * If the length property is changed, every property whose name
  * is an array index whose value is not smaller than the new length is automatically deleted
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A3_T1.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js
  * @description If new length greater than the name of every property whose name
  * is an array index
  */
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js
index 5790ca6cec6003986cd2f64275530880b59288c4..27b66f2dfb9e5a3167e74bc1588239906f290563 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js
@@ -5,7 +5,7 @@
  * If the length property is changed, every property whose name
  * is an array index whose value is not smaller than the new length is automatically deleted
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A3_T2.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js
  * @description If new length greater than the name of every property whose name
  * is an array index
  */
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js
index bfa1d718f078cf057b9667b0fe262e33c9811ad1..fc1c479b2d362d915e8ac53438588d36b5a58233 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js
@@ -5,7 +5,7 @@
  * If the length property is changed, every property whose name
  * is an array index whose value is not smaller than the new length is automatically deleted
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A3_T3.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js
  * @description [[Put]] (length, 4294967296)
  */
 
diff --git a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js
index 8858f1c0680544117f014ad38dfa2908d7d27c1f..124de64dce19de69c9cff1cbf86eb024fb26bc18 100644
--- a/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js
+++ b/test/suite/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js
@@ -5,7 +5,7 @@
  * If the length property is changed, every property whose name
  * is an array index whose value is not smaller than the new length is automatically deleted
  *
- * @path 15_Native/15.4_Array_Objects/15.4.5_Properties_of_Array_Instances/15.4.5.2_length/S15.4.5.2_A3_T4.js
+ * @path ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js
  * @description If new length greater than the name of every property whose name
  * is an array index
  */
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T1.js b/test/suite/ch15/15.4/S15.4_A1.1_T1.js
index 2bbc572c41a0d9fd88cb6b5d9f5c930cf4834ab8..d6873033b4abc1ec13f2090ed0c331bd67e5ad70 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T1.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T1.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T1.js
+ * @path ch15/15.4/S15.4_A1.1_T1.js
  * @description Checking for boolean primitive
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T10.js b/test/suite/ch15/15.4/S15.4_A1.1_T10.js
index 4f1c5aa0f84d0cca9cc0cce1d790b29c042586d9..079051c04c5fc964f6bc28d4a9f35015385b2594 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T10.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T10.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T10.js
+ * @path ch15/15.4/S15.4_A1.1_T10.js
  * @description Array index is power of two
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T2.js b/test/suite/ch15/15.4/S15.4_A1.1_T2.js
index 5e06c7863b14dab3cd3434450ff9938f8ac4c525..d3392a921223d61e6600ca47a86d48fc854aecac 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T2.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T2.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T2.js
+ * @path ch15/15.4/S15.4_A1.1_T2.js
  * @description Checking for number primitive
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T3.js b/test/suite/ch15/15.4/S15.4_A1.1_T3.js
index e80e087ab3bd53b781fd90481f4323f644d64708..e9b576d837879e72daa01f571fa30f2bdc4a279e 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T3.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T3.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T3.js
+ * @path ch15/15.4/S15.4_A1.1_T3.js
  * @description Checking for number primitive
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T4.js b/test/suite/ch15/15.4/S15.4_A1.1_T4.js
index 114686e6608d13bf0fa7ef307883c3dd0be8ec02..c0e937c22646027ddaa2bf92c29bce634da99a50 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T4.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T4.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T4.js
+ * @path ch15/15.4/S15.4_A1.1_T4.js
  * @description Checking for string primitive
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T5.js b/test/suite/ch15/15.4/S15.4_A1.1_T5.js
index ad86a5913486aa2a2d0761d173892a6ad0d308f6..e188d2235ce0f55ed1dc798fe370922fbabc3822 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T5.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T5.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T5.js
+ * @path ch15/15.4/S15.4_A1.1_T5.js
  * @description Checking for null and undefined
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T6.js b/test/suite/ch15/15.4/S15.4_A1.1_T6.js
index 2b8df9d8d508f43f9e434bb57f4af15846ac418c..058a059a3b6a6b65858783d2bec08f2503850f73 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T6.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T6.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T6.js
+ * @path ch15/15.4/S15.4_A1.1_T6.js
  * @description Checking for Boolean object
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T7.js b/test/suite/ch15/15.4/S15.4_A1.1_T7.js
index 42b6ee8813197ee1556dd5e5e43f0c927015db74..36582886d4d9e441aff5772062ed9a70d6f89a8f 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T7.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T7.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T7.js
+ * @path ch15/15.4/S15.4_A1.1_T7.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T8.js b/test/suite/ch15/15.4/S15.4_A1.1_T8.js
index db92da37d435f2b5dcb170af4ca245e373d6cba6..6777730d1b1db01fd07205f93b74979369ab5bc6 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T8.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T8.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T8.js
+ * @path ch15/15.4/S15.4_A1.1_T8.js
  * @description Checking for Number object
  */
 
diff --git a/test/suite/ch15/15.4/S15.4_A1.1_T9.js b/test/suite/ch15/15.4/S15.4_A1.1_T9.js
index fac2ac546e0b094d625c9f0fe13361a2f3379849..61e1b8eed583dfe7fd0b98ab87e01b5287010ac8 100644
--- a/test/suite/ch15/15.4/S15.4_A1.1_T9.js
+++ b/test/suite/ch15/15.4/S15.4_A1.1_T9.js
@@ -5,7 +5,7 @@
  * A property name P (in the form of a string value) is an array index
  * if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
  *
- * @path 15_Native/15.4_Array_Objects/S15.4_A1.1_T9.js
+ * @path ch15/15.4/S15.4_A1.1_T9.js
  * @description If Type(value) is Object, evaluate ToPrimitive(value, String)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js
index 800bf6e11503bd844070ebfdd0c551627fb79041..d9f82eac17ea62d2e18f60d8ba2957be731c88f9 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T1.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js
  * @description Call String(function(){}())
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js
index 975110c203e1951996b2021cd857eb71be512c53..a093b43265564ccf18bbaaa0d4890acaf3e2cbf6 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T10.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js
  * @description Call String(1) and String(-1)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js
index 36a6ca3861b2f51b0b0595842078a53a4edac045..5f3e116b7f9221166c9c2bb610ad0de71c24836a 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T11.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js
  * @description Call String(1/0) and String(-1/0), and call with +/-Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js
index d17b60d17bfb3dd267d4a2f5c476079a6b218833..8e47c235f31024b0669e5802cb45edc592f282e2 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T12.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js
  * @description Call String(1/"a"), String("b"* null) and String(Number.NaN)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js
index 02a59c908112ba0227a262260bec77dd52775eb8..32557ea226d7dc79067cf23c02c133a49d557077 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T13.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js
  * @description Call String(true) and String(false)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js
index e466eb4a7948b688800a96a932e96fc6eb558d71..f361a09269f2748ef7877465224e0083a819db22 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T14.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js
  * @description Call String(0) and String(-0)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js
index 73f56693193b1a176e87328177e369958c5c6efe..0dd28d74312ead0e32d5773438087d8daddb736e 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T15.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js
  * @description Call String(string_object)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js
index 708e3e44adf25b162b5eddbfbd42c0d3e163afd6..dff10bbf5ce4103381471d8863da0a97f4eb5bb6 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T16.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js
  * @description Call String() with .12345 and analogous numbers
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js
index b57eece00f38c464e27d2100a3281683b298b35f..7767f2b0b99973880c8f31916e33f50e277092c8 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T17.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js
  * @description Call String() with numbers that have more than 1 significant digit after point
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js
index 4a8b77ea63346a20b0a7012ee549c3e739e51a82..7305b692e1135a42f22bf291010511aa26a13c62 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T18.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js
  * @description Call String() with numbers that have more than 1 significant digit
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js
index e0546669b3abd87433e2f4e81f461f84fc8310a5..fff76aea8ca96fc91fe4ba92e47d0a6595c589ad 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T19.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js
  * @description Call String() with Array of numbers
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js
index fca3fbdc0a2e4798d1aa7af9b6496147109c61e1..e8b294dedd98ad930107f3368ec7f44143d894cd 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T2.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js
  * @description Call String(null)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js
index 3e2ba5ab1e94373515d56b05b992384d41ff9dfd..72db1f7797e8494bba087b19c17a299c4c1a42b0 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T3.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js
  * @description Call String(void 0)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js
index 44226a8e34d20b97e77ad1fdbc1be82b0e31aec2..b72214eaf8dbcc2add468d81347eb222fcf600a7 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T4.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js
  * @description Call String(undefined)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js
index e2a0199dec3220cb9a8235afb506e02f0d0e15cc..f801ea03a6247ffdd569c3ad44638255e17ff38c 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T5.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js
  * @description Call String(x), where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js
index b506176a6efc2741976fbea9393585b39f332f74..f753c374eb02099e79f5bed594ac2f888074bc77 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T6.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js
  * @description Checking by using eval, Call String(eval());
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js
index 8a8e25a27e3cd32180c0c183d8da96faa052e26b..2c1d0b526d199dac89bf7adcffc87f8d1ccfd946 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T7.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js
  * @description Call String({})
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js
index 1348f27b1f49d5aeb3c4e80bc15be932a505a92f..333d6d971e4db505f06305349cefec1e0d362612 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T8.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js
  * @description Call String(new Array)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js
index 93f3263defac3d92eb9d6c944d7d97e747994040..c1bebf7692118f6c2bd4575889d7028eacf97df4 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * When String is called as a function rather than as a constructor, it performs a type conversion
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A1_T9.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js
  * @description Call String(this)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js
index feab665ecacbd51b84f753d88c41827225136622..6e866d4107eefe99b1d61d97dea5054852cbd01b 100644
--- a/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * If value is not supplied, the empty string "" is returned
  *
- * @path 15_Native/15.5_String_Objects/15.5.1_The_String_Constructor_Called_as_a_Function/S15.5.1.1_A2_T1.js
+ * @path ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js
  * @description Call String()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js
index f46d741bada45449211fe487e2ae48f2d4d52354..ffb6f0899bda6208cdf2407d43c85b71c50934de 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T1.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js
  * @description Creating string object with expression "new String"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js
index f9cdaae4bfdb554fe0c729200c681e61cf3e677e..39144a8637bd47065e3fbfceb74bd639c45c8b35 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T10.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js
  * @description Creating string object with "new String(function object)" as the function object's prototype.toString property was changed
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js
index dffa156bd2459ce64e3836468626a9b6962f7d54..2e8dc240f94a3e4d62b09e3ec5b94b60ef0fda5e 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T11.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js
  * @description Creating string object with "new String(function object)" after changing function object's valueOf and toString properties
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js
index 6bc1ed08758baea2ccf1f4091540f4b9cec39f36..24a5e9ee27e23e0728c96b031958b24251acbb4e 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T12.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js
  * @description Creating string object with "new String(function object)", after changing the function object toString property, which causes exception throw
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js
index ad156284cf7de0b1e618ac85b57278f27e5f4f42..12297a0f9ee877d0dfb51f509c9446cd7def35b0 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T13.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js
  * @description Creating string object with "new String(function object)" after changing function object's valueOf property, which causes exception throw
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js
index 500d89ecbf4ea047ddcf821272562679b5689fcb..57e39eaa3e266c6c68d0e0f6f5393072d90f3770 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T16.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js
  * @description Creating string object with "new String()" initialized with .12345 and other numbers
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js
index 6f471661e45fe37cfd556d87def5c15003f08aac..d6a1fd2aa73f79893a9006579e8b010537fe707f 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T17.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js
  * @description Creating string object with "new String()" initialized with numbers that have more than 1 significant digit following the point
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js
index 18e514b2d75ed748db3727951faf7eb4b545e628..dbb1f445ba8699ef9cbff68340d8b47e612f177d 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T18.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js
  * @description Create string object with "new String()" initialized with numbers that have more than 1 significant digit
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js
index 64b8d50718c2ae945ff42202713e48492f849f55..8a6a2a8af5eca9f8f40255ac85d99622f0bd7dc1 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T19.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js
  * @description Creating string object with "new String()" initialized with Array of numbers
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js
index 617518f0b7d6f018e693806418600085a015dde3..e1f42859eef8918597968cf3cfcfff5cf1d3308b 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T2.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js
  * @description Creating string object with "new String()"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js
index a1a1646edf9b93f80e5232dc0122265d550fc123..0479539af38a9a9d60b5dad737d76d6036f3ed19 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T3.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js
  * @description Creating string object with "new String("")"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js
index 4b6bafd64ebf3a1ecc913df5381452e4e4063dd4..776c4ecac422e06abe0fa2aae66d3b844ebfa37c 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T4.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js
  * @description Create string object with "new String(1.0)"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js
index 1f31fd461032653a3d034356ddc956097a0cab02..08cebc9c0cb8b5873a5371d1e485d879444e352f 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T5.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js
  * @description Creating string object with "new String(NaN)"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js
index 56a469ff986385a578009196e8153516345a30eb..f185552b2435e58ce8ce1e597a482dd783b1a9d6 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T6.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js
  * @description Creating string object with "new String(false)"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js
index 7ddefadb3194b87f72255e77396066b07aa8fdbb..6393b30cb5c3b7261c22f7b266255921d13da546 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T7.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js
  * @description Creating string object with "new String({})"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js
index 893a649fcefe4f0d96b2174f4f05337b5d28a8d0..c5876c7d66bc8eda5717e038065db479d45c9546 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T8.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js
  * @description Creating string object with "new String(function(){})"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js
index 4b66c3eae7a4fe3b8267e115843fd2d0d949c121..f3139e45f0a14b5d033122d1a8c1227d49d1146d 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js
@@ -5,7 +5,7 @@
  * When "String" is called as part of a new expression, it is a constructor: it initialises the newly created object and
  * The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A1_T9.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js
  * @description Creating string object with "new String(function(){return [1,2,3]}())"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js
index fa896385c9d0b1e3d4b5f8d7adaf08d528d571db..2a6e024fbbb48b3e60def95da9ad155eea148b3d 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The [[Prototype]] property of the newly constructed object is set to the original String prototype object
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A2_T1.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js
  * @description Creating string object with "new String(string)" to check prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js
index ca0b35422eb1d36d710838a7cb4989f4b68acd84..038796723157e1d1d35f838ec50a31d876a61ff8 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The [[Prototype]] property of the newly constructed object is set to the original String prototype object
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A2_T2.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js
  * @description Creating string object with "new String(string)" adding custom property
  */
 
diff --git a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A3.js b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A3.js
index 80ef47ecec7369f7e3e1bc44abacfd03045e8793..189d30a647ae1eb583564231b7fc95d3196368f7 100644
--- a/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A3.js
+++ b/test/suite/ch15/15.5/15.5.2/S15.5.2.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * The [[Class]] property of the newly constructed object is set to "String"
  *
- * @path 15_Native/15.5_String_Objects/15.5.2_The_String_Constructor/S15.5.2.1_A3.js
+ * @path ch15/15.5/15.5.2/S15.5.2.1_A3.js
  * @description Creating string object with "new String(string)" and changing toString property to Object.prototype.toString
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A1.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A1.js
index d0455adb21e5b1df27d6e080f1bb34a42d5ed7b0..4540111570c8f982b66ccd9b1d1dc3e5d643e393 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A1.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * The String has property prototype
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.1_A1.js
+ * @path ch15/15.5/15.5.3/S15.5.3.1_A1.js
  * @description Checking String.hasOwnProperty('prototype')
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A2.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A2.js
index 0568911f9be6ff01d906a877a894d67e5f978e16..792603838c7b5915f50aa685f2b6a8ef586d75f6 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A2.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.1_A2.js
+ * @path ch15/15.5/15.5.3/S15.5.3.1_A2.js
  * @description Checking if enumerating the String.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A3.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A3.js
index 6aaac0a3e1fa8aedf786d9a97e9854e4f618a1ea..8f30173b9309a95097984e64f5f615414affba8b 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A3.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.1_A3.js
+ * @path ch15/15.5/15.5.3/S15.5.3.1_A3.js
  * @description Checking if deleting the String.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A4.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A4.js
index 822671d11c2a84fd793db3df5734db0ea7a6eaf1..165005d98dba2fdcdf862391cf0b051ba39f7431 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A4.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.1_A4.js
+ * @path ch15/15.5/15.5.3/S15.5.3.1_A4.js
  * @description Checking if varying the String.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A1.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A1.js
index 6ba1fa495c8140323c6e6909f00f22c3cb14dcc9..20346f4a93eb76872c848b9167acba3e94b527f6 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A1.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the fromCharCode function is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.2_A1.js
+ * @path ch15/15.5/15.5.3/S15.5.3.2_A1.js
  * @description Checking String.fromCharCode.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A2.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A2.js
index 1b1522eff3a93bc01e8cdfa2a81511aabbe91402..889136d04e3e06672d46ec010ec590f8b489cb81 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A2.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * String.fromCharCode () returns empty string
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.2_A2.js
+ * @path ch15/15.5/15.5.3/S15.5.3.2_A2.js
  * @description Call String.fromCharCode()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js
index 34585411fa4b33cef0f5d9151435575b74170d07..4afacb8a9a6998ff56711f8420546fea00f1b10e 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.2_A3_T1.js
+ * @path ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js
  * @description Call String.fromCharCode(65,66,66,65)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js
index a7a14bc38a55ad94796bf166d16569f4f43d4168..4018dabae07f8b6293b64fc2cbd33c0d1dfd086a 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.2_A3_T2.js
+ * @path ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js
  * @description Create function variable, that equal String.fromCharCode, delete original String.fromCharCode and use created variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A4.js b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A4.js
index c33de16b952fb493b77d7afcc7a65c04536729b6..3e3ea5f72c665c98b9469f6002f21d3cda3bc5a1 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A4.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3.2_A4.js
@@ -4,7 +4,7 @@
 /**
  * String.fromCharCode has not [[construct]] method
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3.2_A4.js
+ * @path ch15/15.5/15.5.3/S15.5.3.2_A4.js
  * @description Checking if creating "new String.fromCharCode" fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3_A1.js b/test/suite/ch15/15.5/15.5.3/S15.5.3_A1.js
index a322f459a435cf78775cd4a08ea30cdc288f8c83..5eaf364aff97c5cd5c9451e94a1281e6e0e36ea9 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3_A1.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * String has length property whose value is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3_A1.js
+ * @path ch15/15.5/15.5.3/S15.5.3_A1.js
  * @description Checking String.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T1.js b/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T1.js
index 4657fd0c432c853c6665ef7a96cbaaa0c3f88662..12a237ae72e606e3de9c3a52edb94b33d4a175d4 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the String constructor is the Function prototype object
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3_A2_T1.js
+ * @path ch15/15.5/15.5.3/S15.5.3_A2_T1.js
  * @description Checking Function.prototype.isPrototypeOf(String)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T2.js b/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T2.js
index ef70de27737da5f62d07ca3d96a3e5aa1b51a9b3..04f5d10bb555d84de77a0e11e4f2762fdb4ff533 100644
--- a/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.3/S15.5.3_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the String constructor is the Function prototype object
  *
- * @path 15_Native/15.5_String_Objects/15.5.3_Properties_of_the_String_Constructor/S15.5.3_A2_T2.js
+ * @path ch15/15.5/15.5.3/S15.5.3_A2_T2.js
  * @description Add custom property to Function.prototype and check it at String
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js
index 4b3fb08127ed1ed4ea1ba3adc1499121d2e6b0d0..12ed351f1dcb131a1f2f9b9a7ab46685682083f5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.match.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js
  * @description Checking if varying the String.prototype.match.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js
index 14fd5563c4f9a9030608564ad74927383da98d66..00a77b4545ce175cc214b2e0e82e1e05b0a6e679 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the match method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js
  * @description Checking String.prototype.match.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js
index c42dcb436fe61ae7261df9d81d4284c7b806b15d..03ce88418ff57a6ec899e89fa9056ea6ffbffb2a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js
  * @description Arguments is true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js
index 3bc594b247bc1ea6183a203b8d7ba126539bde00..652eac85b4404b42e332adfd6b53736a5628bf7d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js
  * @description Call match (regexp) function with object argument
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js
index df9237e47a3470c48992ec61509797d52d569bd2..6da4ccc6d68a597c060a4548dc52c3921927f4d4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js
  * @description Override toString function, toString throw exception, then call match (regexp) function with this object as argument
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js
index 9749572b28f0172f3c0900f2f9161a76a31d022f..dd30ec677f32f84455fd2a2e4d48dc4917aa3f11 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js
  * @description Override toString and valueOf functions, valueOf throw exception, then call match (regexp) function with this object as argument
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js
index fe840264128579b1b3918d14c966926a1c209239..dd5c41bde69561fc35e6472f186ce75fab88dddb 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js
  * @description Override toString and valueOf functions, then call match (regexp) function with this object as argument
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js
index 5706cf1b1f796f91e3fd073b4c40b9d54abc2884..71dc0ec3973b0e15f869f8a4a4516d1885590814 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js
  * @description Call match (regexp) function with RegExp object as argument from string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js
index 98495545dc6e7716f4af228389ddd6ed3efb465b..c586d46ca8ad526d53b438271037e20515cbd673 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js
  * @description Argument is function that return boolean, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
index 8ae78cbfcdc9018d58863e76ad30a4d4f4b344ae..96c30069b237c2d6894060c1b2c06153b16924e0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js
index 1df457bf46ff2c6ef000ff9331a2f85de97bfe22..9d0dc15cbe7c003f55d4c248092f83c800bbf583 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js
  * @description Call match (regexp) function without arguments of string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js
index 82698c3bb75640feee1777d9ec702375c21781b4..335857cde12ddd153a83c479aeab09fa1f951500 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js
  * @description Call match (regexp) function with null argument of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js
index 1fd50e9fedfc69cdfeabb271dc4a7a55bae1bd62..d7d1f45cdcfb0ccd0a394103da6031049fb0756b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js
  * @description Call match (regexp) function with x argument of new String object, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js
index 5d052437a94c123c64ece0ad536ead34306be8a4..399a988c36e52d0677a0938255e422874d1a4a45 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js
  * @description Call match (regexp) function with undefined argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js
index 9eb2eba18b0c8482d6c2e47cc020c28a7521a2ea..5876065c47dcb8fbcc5ce6a9c18a8c2b74696d37 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js
  * @description Call match (regexp) function with void 0 argument of string object;
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js
index 74ed94fd49fe4a72c83ef710ba0d6437f0ef8162..11e81534edbe584ef35bc60149a14ab8efbc0528 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js
  * @description Call match (regexp) function with function(){}() argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js
index 921a82c3ced8eb7d4a6fa62de6bfccdc1625c987..cad2cf0571a15de81840f1f06da0826f4f0ea5b7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js
  * @description Regular expression is 3
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js
index edc697de0b4c36009396dfb01e188bee7ae2e9b2..20657116deae361b944aced5bea37ec49c462126 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/. Last match is undefined.
  * And regular expression object have property lastIndex = tested_string.lastIndexOf("0")
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js
index cc36f9e24e59d4f55195f3578679b384b341a245..4ac24f9d547de0b7f095c84dac28b65463dad99d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/. Last match is undefined.
  * And regular expression object have property lastIndex = tested_string.lastIndexOf("0")+1
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js
index f36383e5275731cc73aa23b99745d72824e4d78b..c87fc900bc5528361168b83e2d672d5c516b450e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js
  * @description Regular expression is variable that have value /([\d]{5})([-\ ]?[\d]{4})?$/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js
index 67c2e887b27a9de73facfb44a2e2ca781440445e..6c081dc4a808ace898510111a2a76e90612e4015 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/g.
  * And regular expression object have property lastIndex = 0
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js
index 6ebe6c0cf55c0c131e26ee107affaf72c2e6b1ac..b3a64230def0b247863ba2ef1342b9461547e006 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/g.
  * And regular expression object have property lastIndex = tested_string.length
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js
index af352553dac02c4ffb016e23b4a6c9008d7a4a79..1de89816face8bcb3db099d481251d377d3b6755 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/.
  * And regular expression object have property lastIndex = tested_string.lastIndexOf("0")
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js
index 574f4742e3c8659ee886bc43dba76f144a4b6e89..b0288c84380e018204c2e9040c838d1c5f7faec4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T16.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/.
  * And regular expression object have property lastIndex = tested_string.lastIndexOf("0")+1
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js
index ef8f1135a2fb1559e50ebc404a7a64da1d33723b..fcc582867f2ee09af7a72dd7150613a4ac1af958 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T17.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js
  * @description Regular expression is /0./
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js
index 2c4d45d69b46363764486b658515a80712c76dcb..56b4b77e839f57b55cf42cb03270a21fac2b99dc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T18.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js
  * @description Regular expression is /0./.
  * And regular expression object have property lastIndex = 0
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js
index d819cabb35225d66dd2773bb52e6bf38eee62912..079ef838c63ad71e2c4abfd185a9b84d873254d1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js
  * @description Regular expression is /34/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js
index 3f704db4c2b88737b43f1164b4326b2094f120e9..8c0860ec8accce2828bb2355d0070c515cab0a40 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js
  * @description Regular expression is /\d{1}/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js
index 82ff7a290d4664e95776bb79b55b4174c8923bb6..bb3d613f152c407fd669f160f62a170cc4e15ec4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js
  * @description Regular expression is /\d{2}/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js
index d2cd9394f9937ed60582b045ef6f46e9edf4e76f..a454c79175bb6b4032ff6c34bd75eb254d43b0ae 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js
  * @description Regular expression is /\D{2}/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js
index f2209cfc1e12506f5e807f5d4445aa66e1286729..c6fb397c328d82f713317ee445cc7b0a58a0d7e5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/. Last match is void 0
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js
index 42ecca7ce053af74400d2fe40343ddec4a5dd2a1..9dbf84f109461706a6063608f8e6c3b32cd2b5bd 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js
index 31c9d259bc96ac8441768d59b65354055fb580b9..310063426dd835ca4a7bcd5be528ed9acdb54949 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/. Last match is undefined.
  * And regular expression object have property lastIndex = 0
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js
index 882e2b7f3129096ce2eb1faf4d9d6e306a6abd6c..17dd188a706ddd89233fd2abc933e9b8e7210414 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * match returns array as specified in 15.10.6.2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A2_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js
  * @description Regular expression is /([\d]{5})([-\ ]?[\d]{4})?$/. Last match is undefined.
  * And regular expression object have property lastIndex = tested_string.length
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js
index ae1dbec661a1d942c5725dfc0faf8ba9a8e93a04..bfcb23d207d68b72504d2b3379530f90c3a789d4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js
  * @description Checking String.prototype.match.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js
index dbecfd4c69f0bd896a4bcc6819f747694230d7b4..b63618783b7213a3b49da88d21decb48c708e0ec 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.match can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js
  * @description Checking if creating "String.prototype.match object" fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js
index dd39d37f9a5df9cf14db2bbf50414cea4ce26c92..733112233c6356227c4245844bb1e1f8f60255c9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.match.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js
  * @description Checking if enumerating the String.prototype.match.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js
index ab83159ebb84c7dd753111944baaf7863af03299..2f057d4b01acbdd7bae40762b60ce9386c4b3603 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.match.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.10_String.prototype.match/S15.5.4.10_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js
  * @description Checking if deleting the String.prototype.match.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js
index 5f8383db5b6967a1c9c058a18c558c3e6347f222..fd690fde5d2837e9cb1313541bd9526ffebd130c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.replace.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js
  * @description Checking if varying the String.prototype.replace.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js
index 4d15a0260b919a23c655634f4919c331bf6b21ad..9dfc6b0ab5f1a583d691931d3af9f9d951ae6ebc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the replace method is 2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js
  * @description Checking String.prototype.replace.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js
index aae5a548e1d59120d7cd6a8eebce74a13d6d7847..bc49e9f72b49f3f6646a58d180dd00ef267fce50 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js
@@ -4,7 +4,7 @@
 /**
  * Call replaceValue passing undefined as the this value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js
  * @description replaceValue tests that its this value is undefined
  * @onlyStrict
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js
index b16d01817cb08007b37cc5cc1ed65fd995bcf9ad..3d6dc48d8f8d8e427be4e2c02fced19a41c7cb29 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js
  * @description Arguments are true and 1, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js
index 00bd998268626f9b35861f076df4ad337b1d36e3..883af31052dbdd9661281e8dd8ab691729610a4b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js
  * @description Call replace (searchValue, replaceValue) function with object and function arguments of string. Object have overrided toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js
index 527c10fc585a4292972d4f833a7f7493150425b7..0916d41df0e541206569f0c377e7317c66a3bf79 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js
  * @description Call replace (searchValue, replaceValue) function with objects arguments of string object. Objects have overrided toString function, that throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js
index 0d066b4390edf3e615a0c7b0c2fefeead76a7c92..f4f109baff572a4195da92659a123f5990ed570d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js
  * @description Call replace (searchValue, replaceValue) function with objects arguments of String object.
  * First objects have overrided toString and valueOf functions, valueOf throw exception.
  * Second objects have overrided toString function, that throw exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js
index fdb004406b890824a3e60054065da3d22f789657..d42fcd52c6ae6c796dc0c01fe9f384a9f9f31bc4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js
  * @description Call replace (searchValue, replaceValue) function with objects arguments of string.
  * First objects have overrided toString and valueOf functions.
  * Second objects have overrided toString function, that throw exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js
index b9585ef3976bfb077bd54a20038e3f90f05a0cdb..f715c3a8c53bbe00529bde0d7b2276c7e768edf9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js
  * @description Instance is string, searchValue is regular expression
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js
index ba5eb45b9bd3a96b7eb402a521ac21ee6ef9412d..36dc58c8ef5bb53d0cbdeda513d81cd6ebb5767b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js
  * @description Instance is Object, searchValue is regular expression
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js
index 8b52617d8d57edc54502eb5337d9b441d923c1df..b1b818f10f4174b291dce1a6c2e032efd2fafdb6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T16.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js
  * @description Instance is Number, searchValue is regular expression
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js
index 37a8601cbe112dc591dfedf82da56d8d4b871332..954030870c0137ecb2d2535cea2b9f47ad4d0ceb 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T17.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js
  * @description Instance is String object, searchValue is regular expression
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js
index 7e105dbe248e772744abf3c22e85acb30bc700a1..05106a5e3136abcfa80fda7f769dc0852e08c165 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js
  * @description Argument is function that return boolean, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js
index 192d61ffe0f44a4205abe5ef3ca174ad91d1aeb0..db27d626cad5e2afe91b6ebeff957d363b01d0f6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js
  * @description Call replace (searchValue, replaceValue) function with null and function(a1,a2,a3){return a2+"";} arguments of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js
index 4222546ac620bd0d27d39d0df75ec55cc2d61e59..4529aca0139289a87406a9fafe797e7ef9c2950c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js
  * @description Call replace (searchValue, replaceValue) function with null and Function() arguments of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js
index 713cac26cbc9e3a13a75917b1df0ea8bee63a9a4..53e1035edd194480b01f308e4446222d7f9e49bf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js
  * @description Call replace (searchValue, replaceValue) function with x and Function("return arguments[1]+42;") arguments of new String object. x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js
index 1b47cd7d7daf953000834554905678825fe79a78..523fe251d11877480bcdf546714094b21a8dd963 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js
  * @description Call replace (searchValue, replaceValue) function with string and undefined arguments of String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js
index 2dbd5812ab2911ba28854693f46a5514b4695acc..0ec4f5112f3f0dccc3c6dc7d4caf65a77f78bf87 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js
  * @description Call replace (searchValue, replaceValue) function with regular expression and void 0 arguments of String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js
index 356cc53fed5ec7bfedfc362b3362ae3584b7eeae..04c32b5170b1c91c84c8d6769348df7512f6ca86 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace (searchValue, replaceValue)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js
  * @description Call replace (searchValue, replaceValue) function with functions arguments of new String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js
index bfcb3cd910b6ef230e7129c38bf4e4b22f23ac13..b6d706ce4b3f338b2d05ff281490e04b6f7ae257 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js
  * @description Don`t use $ in replaceValue, searchValue is regular expression /sh/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js
index 0185fc842df299ca24c419b24f4236cfbef85fbe..975150196bf3fbcb14effb783337125fe99d9976 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js
  * @description Use $' in replaceValue, searchValue is regular expression /sh/
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js
index d86f0f856a8d7efe3e93ffa11c48df4dc6313b84..e55216da05ba45550d6a8b00ff2b4dc1c8e304c1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js
  * @description Use $$ in replaceValue, searchValue is regular expression /sh/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js
index a9ea9c65eb55af750fff03c3868d6d618affa00c..7570c6a2cf351ba2fc8d8ec23792486ce4784804 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js
  * @description Use $& in replaceValue, searchValue is regular expression /sh/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js
index f857913009122a5de628e0eb577dd66fd9e5831f..eb1a58ac8f5b2e47b7074a6ccff53c16648ae837 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js
  * @description Use $` in replaceValue, searchValue is regular expression /sh/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js
index a29b559adba1a5a857040989c0cda8b77b309211..eb283fe7f9d9415e3a0492ef83ffd775533f8a40 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js
  * @description Use $' in replaceValue, searchValue is regular expression /sh/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js
index a33ae7cc009f027aa1d22ee1ed82e37c518d52ff..483eb10ee9c45538245a98bf871e4e5cbc3d9ac0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js
  * @description Don`t use $ in replaceValue, searchValue is regular expression /sh/
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js
index c25fd965faa44aca1870cb27952a5beb1a129c0e..2dadba861c030cabb90b02bec3cb86564775b45a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js
  * @description Use $$ in replaceValue, searchValue is regular expression /sh/
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js
index e4596deb71217688fabe0c7763da076455e03aa3..0ba635ec32e7821c93bf086df22c4971899d911e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js
  * @description Use $& in replaceValue, searchValue is regular expression /sh/
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js
index 296d6a4e73791bda6edaa8c7f343baa0d2117a7d..271ceb4915e94fd4f115eb1f345f2f89c962c0a2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js
@@ -5,7 +5,7 @@
  * The $ replacements are done left-to-right, and, once such are placement is performed, the new
  * replacement text is not subject to further replacements
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A2_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js
  * @description Use $` in replaceValue, searchValue is regular expression /sh/
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js
index 0f2875622277dd6b5abcb7d70209d38934af2fea..355a962b8f8727f2c165381a6581d7d761efd6ba 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /(uid=)(\d+)/ returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A3_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js
  * @description replaceValue is "$11" + 15
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js
index f833922372b5f51b7acd06b5b74fe6f0cf20f842..f03d3cccf6b9aa9aec46609b108f87993f27bb5f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /(uid=)(\d+)/ returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A3_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js
  * @description replaceValue is "$11" + '15'
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js
index 9a41a063b14f662889bbebb0d71c8aab02b6d114..e5da61e48cf110f43b3675e0378689167d8d7ce5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /(uid=)(\d+)/ returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A3_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js
  * @description replaceValue is "$11" + 'A15'
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js
index 4ffa1ee2134baca723ce5968d4116a208e5a4da7..989bb7f565e2a9473eeb3877309d1c77e967453f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /([a-z]+)([0-9]+)/ and replace function returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A4_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js
  * @description searchValue is /([a-z]+)([0-9]+)/
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js
index ad4eb44751a1cac8a6bd86bf782f065c7d1df1dd..956a7c0e1680f3daf1075cab797b99ca3aafe853 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /([a-z]+)([0-9]+)/ and replace function returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A4_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js
  * @description searchValue is /([a-z]+)([0-9]+)/g
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js
index 4245103fda13557bade903a8f57374448320d89d..8eea7fe4beaad86fc1061b5affd175231f106f6b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /([a-z]+)([0-9]+)/ and replace function returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A4_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js
  * @description searchValue is /([a-z]+)([0-9]+)/i
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js
index 6b39bfc308967d0d43de6dc7bc366985b62eb1a0..70b421037d2865b6c7e69af63779f68c8835b43c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js
@@ -4,7 +4,7 @@
 /**
  * replace with regexp /([a-z]+)([0-9]+)/ and replace function returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A4_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js
  * @description searchValue is /([a-z]+)([0-9]+)/ig
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js
index 373142fd55afed1839f95d86ce368d3c6a15e951..917b9a68fea6f4dc0530a5e22944fb1126acb3ed 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * Use replace with regexp as searchValue and use $ in replaceValue
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A5_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js
  * @description searchValue is  regexp /^(a+)\1*,\1+$/ and replaceValue is "$1"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js
index da8e97c90cccd728e4e6cbee8cf3c624f7250bba..dc1d5acd161d230fcd2c36a1a565698e66d058d1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js
  * @description Checking String.prototype.replace.prototype;
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js
index 52aee0a7ba26ceca298d980979fe45a1769136eb..17e90a55d4ffac80ea7fa5e54f3f1b67b650927b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.replace can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js
  * @description Checking if creating the String.prototype.replace object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js
index f49045ed2c43a13c53b6ef49fd633a218e32d709..692e4b0a22b5cdef455cb5f2463545656a13f62e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.replace.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js
  * @description Checking if enumerating the String.prototype.replace.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js
index d69e8ae8831a78315ecc401e00de5b03347dc9d1..d594e357da4f070106d02e881975c1e9830cffad 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.replace.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js
  * @description Checking if deleting the String.prototype.replace.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js
index 168e99b10ed9393a374133021dd721bc554902ad..cdfb5e6aed986ecd7383e4460ec37685ccea0d78 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) without arguments behaves like with argument "undefined"
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1.1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js
  * @description Call search() is the same search(undefined)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js
index 4d2775217df6271fb8df472dc516a08fa4c3249b..f7a5c751a132a98448e7a3265502ad68cb068b67 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.search.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js
  * @description Checking if varying the String.prototype.search.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js
index edb178ab518cf72ceb9ffedbc49ba014aef52d4a..ea0000ae23519dc5a2b607a57512c750b1f728c4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the search method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js
  * @description Checking String.prototype.search.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js
index a485a68338b8ee455ae063dc1f9ab71cf8b469bc..20b98c292ad25ecac2e5562e649ef979f94c145e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js
  * @description Argument is true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js
index 71e686cac8e5619505ac3840cdec1cadd812a227..f4ebbb3e9a325584a9634642352e09a6a9841818 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js
  * @description Argument is object, and instance is string.
  * Object with overrided toString function
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js
index fd01745d8ec45a679740345073177cb37ba522ed..73d9777e41f59863fc1e0369a7a089d419054d7f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js
  * @description Argument is object, and instance is string.
  * Object with overrided toString function, that throw exception
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js
index d15fb07473bae9f142aa2abcdae650a428a7fcdd..29f288aa88ab078dff52dc728be701c40ba5c735 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js
  * @description Argument is object, and instance is string.
  * Object with overrided toString and valueOf functions, valueOf throw exception
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js
index 574f2728c9d51a46cbc1b359995f043636016f1a..0eec2d1c25643a4a43ea614635e32bdae5be0c69 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js
  * @description Argument is object, and instance is string.
  * Object with overrided toString and valueOf functions
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js
index 99b383d4f424684c1e04608555945b1a2b742708..64168457ba655932017178d2ec46435e37278c41 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js
  * @description Instance is string, argument is regular expression
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js
index 22ee82e11c8fe965b5f107c59abe19b502ac4eaa..8653f5a942947cd06fa6add59cf72e69b64e8c96 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js
  * @description Argument is function call, and instance is Boolean
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js
index ed628e78bbf454c3ce7ac2e954757bafe2bd3d21..e2ef99bb5979c37d4f3015c7c0cc46f423ed7558 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js
  * @description Call search (regexp) without arguments
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js
index c70911da7dd709f636ac71defc48651a51def2b5..bde78afc7b44453da3a7b4d4e33a37b993724541 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js
  * @description Argument is null, and instance is function call, that return string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js
index e8e5464ecd4183483fcb65e5a666d8e6ef6debfd..6a2c5c8d6066fdd711631efa18b0117a9a51ffb9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js
  * @description Argument is x, and instance is new String, x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js
index f4a6faaf40d78ad0b868c90e4401a6f04f62b521..adcd598866062d85a6a6f1aa4ae9f671de2c9e0c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js
  * @description Argument is undefined, and instance is new String
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js
index 1e93120585a49c6b650201d2441e31cc6076dd51..da29abd7bff8f7660cb33e0efc5197504471eec3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js
  * @description Argument is void 0, and instance is String object with overrided toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js
index c24c0988831f3157eaf9f2882b00cf7a2d1c7f2e..2148c921a0e18b88afe9813fe601ebc3de24a7d5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js
  * @description Argument is function call, and instance is String object with overrided toString and valueOf functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js
index 369c01020da416273f2abf4f17f16e30dfad9391..5c8b295554c0f3ce31422a33ce33de4d51c2a3f3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js
  * @description Simple search substring inside string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js
index 82618f470d16fdca7f3707a3879e2d46d7c6efb4..0e6bea24e8094bad716c84d635eb78b817bd8af7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js
  * @description Checking case sensitive of search, argument is string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js
index ee2ab03ca4d98fe74d4132520ae92bb77af4540a..c60edaa47d9caa08c99309d7cab1244a0a47394a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js
  * @description Checking disabling of case sensitive of search, argument is RegExp
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js
index 436b6f453acb70e4bd1a22ce1a0d3acc6e538dae..5d441d68ef0d2428be34b9c3edbae30c70612d8f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js
  * @description Checking case sensitive of search, argument is RegExp with uppercase symbols
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js
index 5b86a7cfdd04e07c4e7044799e90b70ee12b24bf..7592416f55fdcb019eea0e8f1f32e8ca282f70bf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js
  * @description Checking case sensitive of search, argument is RegExp without uppercase symbols
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js
index 2d3608d0543905b6c963adbc08ed471778ae1362..340a555d28edc9ab6de26e7d0485f925f7879dff 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js
  * @description Searching the non-existent "notexist" substring
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js
index b1db646c2a2e83832d82685b7e85aec3cb73ddd9..505ef416dd5511a6b1ff37420227136e56104690 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) returns ...
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A2_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js
  * @description Simple search sentence inside string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js
index f7a144667ce1967c525f4801d2fdf1cf33160ba5..8ee2ccba9d63d68ea855516661a0aa77598f9715 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) ignores global properties of regexp
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A3_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js
  * @description Checking results of search regexp with and without global properties
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js
index 73a781c239ddb0b8faee1d5ac02a138ec4a42859..8b43a2afe45803dd62eb38693859893bdfce7b7d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search (regexp) ignores global properties of regexp
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A3_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js
  * @description Checking results of search regexp with and without global properties. Unicode symbols used
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js
index 46d7c769c78cb9ef408388208b969e3fcb7a75c3..908cabbca7ec7ceefea063c95243cf36fcf28ec8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js
  * @description Checking String.prototype.search.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js
index c98cce98c5d644f8393d8dbea61c54078e0514c8..0e8f90cf9a351c9049234ae4578816d7c2b25411 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.search can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js
  * @description Checking if creating the String.prototype.search object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js
index 54ecc8769defecf4971ef94c6ec435767336c6a0..a24219f083d277dd5491b0acdd2aead91330f289 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.search.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js
  * @description Checking if enumerating the String.prototype.search.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js
index 6c574bc4ac649e60e9b5dd4a307c88821a3261c2..832b3670f0cfb27bff429ac4fa7dd46fd2a428cf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.search.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.12_String.prototype.search/S15.5.4.12_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js
  * @description Checking if deleting the String.prototype.search.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js
index 0566a11d557245722befe6c5d2e16f009fa85166..f42a3428ec7d40730064a167ee587bf789f4d03e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.slice.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js
  * @description Checking if varying the String.prototype.slice.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js
index c4259ec89734ab510b38d9b032c409eb11876506..681f228c885746b5818192a9689944c714fde9bd 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the slice method is 2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js
  * @description Checking String.prototype.slice.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js
index 5f2aea35f43b9f20edc2803d9e62fb3eabcd1052..e3a528aea02b245e5011479bc7249031ada600a3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js
  * @description Arguments are false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js
index 8d58223e2b51f193fe0803c8dbd3095a6ded9077..de499f4cab22bfab899ab9e217ef3cd607a2fdc2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js
  * @description Arguments are object and function call, and instance is String, object have overrided valueOf function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js
index 3761a12726ac8064fa04a51539bee516c43b6ae0..aed12d5c74bbe0ce179bb0d78c93a12f452f4b22 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js
  * @description Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js
index 327866031355b1f34d8df455c2723cf0289a3710..3060c5336cd307ff88bcf1d70d6d3d1812a4ae05 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided valueOf function and toString function, that return exception.
  * Second object have overrided valueOf function, that return exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js
index 1cb04f968744742b0c10e791793ecaf37a14b5d2..6a89560d769c8acb38517d4670e5164f8875045f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided valueOf and toString functions.
  * Second object have overrided toString function, that return exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js
index b2f2e50d574c619fc34913592fae0ef2345ff1f3..b48a364441045803a5e8bd3f2e84eb6f9cfa82a1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js
  * @description Used one argument, that is function(){}(). Instance is string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js
index aa72db6beb42df6d32c097b21e4bc18e933889c0..d27cbb021d31e4d49035a32f25f7617c19e586f0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js
  * @description Call slice without arguments. Instance is Number with prototype.slice = String.prototype.slice
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js
index bda58aaf136dadbaee7e747d70b2852c713ff8ee..e312f36495ea48deec6201d43e3280d70af1e59f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js
  * @description Arguments are function call and x, and instance is Boolean. x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js
index 3641cbd90a7fc2a086948bd32b3e1c8141950068..8b147e97a5738b034154f18677e8cc22b62309e2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js
  * @description Arguments are null and number, and instance is function call, that returned string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js
index 0f9e244032ca8c894f703a5311aa831a3a8d1108..ddc8dce242dad07a844339933349202e695bf839 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js
  * @description Arguments are null and call other slice(start, end), and instance is function object, that have overrided valueOf and toString functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js
index e40929f5a8429b47e5fb60d7308255839fa93c9d..98f708f30d15cd77f293dc9d76bae0012fd16490 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js
  * @description Arguments are x and number, and instance is new String, x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js
index 8d3dec81b2e38b5a1ea149c4c02089e9bda15641..567fe0954924d252ed83e686dd24c3f1d44b8d83 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js
  * @description Arguments are symbol and undefined, and instance is String
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js
index 337ac0397545b5f288650c0a50f53fb4f1a3f7b8..25572c8df9c0444b44fe834819bb40c3c3281a00 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js
  * @description Arguments are negative number and void 0, and instance is String(object), object have overrided toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js
index af4ee2bbd3f833f5b010b4996966598609bbd4af..3202857b660e0b35b495080d50a99044d4ae6dec 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js
  * @description Arguments are undefined and object, and instance is String(object), object have overrided valueOf and toString functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js
index 2b072e3ab687061689453741c3c8e6baf15ef143..07a5f0a3037ecf1922e949b548502b123b25f205 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js
  * @description Checking type of slice()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js
index 8fddf669479eab781d6a714632aa14a35aadbb3e..b8b657d698ebd697111ee00d27d88f28507921f2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js
  * @description start is NaN, end is Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js
index 06a84b7603989b7402376a32d7c80810ec49bfa1..37bc9b6c8c54577eff41c29416ad4540c7d50911 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js
  * @description Call slice from empty String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js
index 9d1c6cf498f3280bb2fcdeaec0f23263ebccd1a8..a6749e9fc0cec85ac6b77f0bbb7e2c3acf0c2eee 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js
  * @description start is Infinity, end is NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js
index 7937bb3f002f4b2eb1612ef22c0ae225c5eca191..46bf31607b86ec92615d85eadcbca2e62d00b42b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js
  * @description start is Infinity, end is Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js
index 8b3a0a5b944a55bfd0ccecb28fdd3b7c0cc663c6..78aae2436f4f8382f86f553d4cc942542b5919a2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js
  * @description start is negative float number, end is 0
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js
index 4c7e8b6efa8cc3d782d91af1f88c7b2b8cb23b5f..fef18302c069788eab28bdb68d34a7b4cef73bb2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js
  * @description start is tested_string.length, end is tested_string.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js
index 52a287e1f4baba662bfa918c491bae822cb6c62e..22406a791d420e8bf61408c621af80113dad5313 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js
  * @description start is tested_string.length+1, end is 0
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js
index f4582083dad1c3a80495d2865cc70bdd4969df9e..96a95b82e12c680829ff0e0ac7912a011124270c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A2_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js
  * @description start is -Infinity, end is -Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js
index 48eb20fe9a0d2b70dd97ff1c15387f7d43c4fb2e..0615be24dbcd0afd6750e7e85ef2ee61264818f1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) can be applied to object instances
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A3_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js
  * @description Apply String.prototype.slice to Object instance
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js
index 2f965dced5ac3d6c989c45994e5505457d7339c9..0248989554c156b7970eeeb3c0a8ab760952ba95 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) can be applied to object instances
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A3_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js
  * @description Apply String.prototype.slice to Object instance, use other value for start and end values
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js
index 8cbc98d18878c3206d5eba0446fdb856b4dc3bc2..a21c069d3d812e67edb96d4e90475afe4d6cff58 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) can be applied to object instances
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A3_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js
  * @description Apply String.prototype.slice to Object instance, and call instance.slice(...).slice(...)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js
index 4e549f9a3ac168abb87211e27a45c115cea88696..e5588d6805c24e2387b194730494b4a415df11bf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice (start, end) can be applied to object instances
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A3_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js
  * @description Checknig if applying String.prototype.slice to Function object instance passes
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js
index 2b292bc34cfdff0f2ccc9fe959c55b997df37ae8..136a65c52e6851799ba7be84ad2b84b9dfc45fa1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js
  * @description Checking String.prototype.slice.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js
index 176e07aed40240c64cc458d2f0357f90945cfedc..51ffe1e20938c98367cc3d5cfe4b7971901e9998 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.slice can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js
  * @description Checking if creating the String.prototype.slice object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js
index 8e5ca578e9d8fd51a68464bebcd9068e198c1ef2..94075717308391bc806baeb99a2f235789c7d55c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.slice.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js
  * @description Checking if enumerating the String.prototype.slice.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js
index 4514ce4379af6f97a4d56b128c3a886da3b50ab5..c815772b22afeafe8a8dc5bda40713e4301c543f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.slice.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.13_String.prototype.slice/S15.5.4.13_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js
  * @description Checking if deleting the String.prototype.slice.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js
index 11a2db743cc48c7eff3d049d6e7d23223631aaca..e3edc7ff6a84d6c292824d9633d4137fc5a118f9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.split.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js
  * @description Checking if varying the String.prototype.split.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js
index c1a167296c57b460e10176de793b22b4eee65dd1..3a4762985c632851aadcce47630b18c592e9019f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the split method is 2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js
  * @description Checking String.prototype.split.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js
index d4286eb4c53dd4501bc73171e92a78e8e18b0c9f..e43860ce6699b03b657793fa4c73e9e331e8bb66 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js
  * @description Arguments are false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js
index 3dbb4c23481e469f8fa9711ac9e6160cf725754b..fbb18f0d97fa4dd38bf5e3a5af6e0c10dfbe2bc4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided toString function.
  * Second object have overrided valueOf function
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js
index 35297c63fafd00ad888eb628c32c1ac2f008fe37..cbe7816ddc80f0b74087c718e16a62127804255a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided toString function.
  * Second object have overrided valueOf function, that throw exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js
index 4c4b5a06913c18c5a2171ecdfeac587bf7944980..d5dc7fbbafd4331875576d2782e2fd6e4598fb83 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided toString function.
  * Second object have overrided valueOf function and toString function, that throw exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js
index 7302e60c09cf410fda6f3d2067ed5ebf463f9dbe..f9ef575f069969802b57eae213a92e6b468fe977 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided toString function.
  * Second object have overrided valueOf and toString functions
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js
index 983804b8917ccdf4050f5bc10f07cf4d52674b2e..cc6593660cb5fb89d63b362817f922f6b893308e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided toString function, that throw exception.
  * Second object have overrided valueOf function, that throw exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js
index 807e6fb3359ca026396a41a2d965b1478def42ed..7e2e74c4f8f8669b9d60da06c716aba8faaf2730 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided toString function and valueOf function, that throw exception.
  * Second object have overrided valueOf function, that throw exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js
index 0f90169c89f26ad51ca39122de07a49630a8fd92..9c58e0230ed0fa4afa1443eb4428935944c228f0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T16.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js
  * @description Argument is object, and instance is Number.
  * Object have overrided toString function, that return regexp
  */
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js
index 3c9aa4eb0b9a1fca8ec7ea2b6db12a06407325e2..f8a406dc161875aed3e645cbf7ef002ce7b93e22 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T17.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js
  * @description Argument is regexp, and instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js
index 5c2282c1352f167aa07e14a2f4427d964387271e..3063102dcbdb4235450f66067ccc4e9ee004e520 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T18.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js
index aa4d202685a1e604f7c26966df6341901a86438b..2a236cc00a99e6c36e9267f615ce1ed4a3e66fea 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js
  * @description Arguments are boolean expression, function call and null, and instance is Boolean
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js
index 75776f5594da2b544ad57f6e8f811956fa886e1e..a2fc8db36966395c4d180bc844de1749d07779a4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js
index fedff34c75c0217961c78b36685e724c2db385e3..0c5205cc51cf3fbef581bf2403b29019c7163f93 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js
  * @description Call split without arguments, and instance is empty string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js
index e6187f1b54ea315a1af3c4b94c64e1cfff67694f..d5a72fbaa32c52d63d54b14bf3440cb7f74d21ee 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js
  * @description Argument is null, and instance is function call that returned string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js
index 6c267052b234a56f80205257539874fa935abb1b..6fc4e3736e9ef834345cb706534745698a97051f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js
  * @description Argument is x, and instance is new String. x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js
index e5da72e3123431a679f04024458e336e3dfcd1c6..6c31b83a42f1b91be0fe0f91806342c622ca5ef9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js
  * @description Argument is undefined, and instance is String
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js
index b935cfc84e39b3eeeb2d6612757e53d2073e0d07..de8f71717ad9e7a1a7e8963a257b480ae10e8eaa 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js
  * @description Argument is void 0, and instance is String(object), object have overrided toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js
index 48e89a4c0617621246abfa00c0a244bdd4d99414..e1a28ff83db9a6acc63c588737adadcbebb33e91 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js
@@ -8,7 +8,7 @@
  * ii) if separator is not RegExp ToString(separator) performs and
  * iii) ToInteger(limit) performs
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js
  * @description Argument is function(){}(), and instance is String(object), object have overrided toString and valueOf functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js
index e98c58fa6e6a3f075c053953eca0709ce69366c7..3f2bfe61bf7ae30bdee433707c2fd19ac54ecf2f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js
  * @description Call split(","), instance is String("one,two,three,four,five")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js
index 3a2c29f0c66830e038263ed78502c4c1b968b393..54ab24f278f596197ee43ea674f60a1d947e67fe 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js
  * @description Call split(123), instance is "this123is123a123string123object"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js
index c3aa39fd3af93ec7947101d180f0e7bab9d0c8df..5dbe9631ce568b49338ca2e476bcad108f8327c2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js
  * @description Call split(":"), instance is String("one-1,two-2,four-4")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js
index 2c056781b57f8ab8232a0a430806422a81f40055..0cfa3c726a47c00630e6f42c2d8526745f7f2298 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js
  * @description Call split("r-42"), instance is String("one-1 two-2 four-4")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js
index 3006013123b845cb7520af68936fca213133a59c..773dfa402f7fec9dcf2ba576a070cafb518517df 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js
  * @description Call split("-4"), instance is String("one-1 two-2 four-4")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js
index 0355a6157692f1afa40116774b52215f30a17a54..bab266a41bff1fbb18b0c8b53ede277578c97c1a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js
  * @description Call split("on"), instance is String("one-1 two-2 four-4")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js
index 49d091fc1aeba322aff62f8f76ecd6ec0e5c1812..78186df29fcfc0fa0e06799365a68434e26ab6bc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js
  * @description Call split(""), instance is empty String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js
index 71193de28003ed44b0ba619ba08126a22648a9d2..7f038bb5dc13bf7bff2891ec26ae56e9ab1b226b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T16.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js
  * @description Call split(" "), instance is empty String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js
index 6328762d2fefff268b704c92885f65bdbf346ba0..12356022de515aca84de067a240139b34af4611d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T17.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js
  * @description Call split(""), instance is String(" ")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js
index 326e8afa3f724e04565e9c2e29282e4c4fdfbbde..eb6e4c3188b0d5b9eb30a808730039b84d37146b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T18.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js
  * @description Call split(" "), instance is String(" ")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js
index 329a5750333684bd7781457f218f0b1974dc0051..f1e2c7a38f904ddde5fa05b087be5e582fdad546 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T19.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js
  * @description Call split("x"), instance is empty string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js
index 722a740f9b796387e05b82e41113a46a46192689..5492712813790289072a39a85ab1ec64d52ebc35 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js
  * @description Call split(" "), instance is String("one two three four five")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js
index 9303239ebd79db220b7d91a4bf428fc98bb9d6b5..8bd69c4555404fd00a558b45e91077cbf7e8324a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T20.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js
  * @description Call split(new RegExp)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js
index dec132a8e43b06afd7e5827c854c277dfb4a8b75..b2011308dad4904e9be64ce760e153f80d8c6821 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T21.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js
  * @description Call split("ll"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js
index cccc199c9fa7d0fdce2417460b02d9e47695ec06..e6eca65fb5e4cb7a6dc68e6294f6521e3c78a9b6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T22.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js
  * @description Call split("l"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js
index b153ad64aef05015703b73017a0864e614beb860..152c353e00af79763c17d78878a3812fc3e411cd 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T23.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js
  * @description Call split("x"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js
index caf3670c106d8ec00d1944e294cce75f5ccf6012..a7043bbd939ff19b25a831c7fcacaa6197c12d31 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T24.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js
  * @description Call split("h"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js
index ebffd02beb973b111538f12754b52704124fbd14..65ee313aad68d443e1d21f6ec0729eb1beda1797 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T25.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js
  * @description Call split("o"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js
index 0064883f4793aad614e6fa7c4d3a9a331871da9c..760f7ff06062d07a5a4f08bb6d8f81959f02d0a1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T26.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js
  * @description Call split("hello"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js
index 3304c9479d59d75d3b8617007b0347bd5f7171cd..515d9fbc5f093eb7877e88436e7366bcf3e85c66 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T27.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js
  * @description Call split(undefined), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js
index c17afa8a256a325031c6b9f2a6489d69919c1855..84510d84c54653712c9b0d6ce4721712f84eedc4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T28.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js
  * @description Call split("hellothere"), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js
index dab3a2061656777d95cbe91f5964b0f601b6547a..1577a73cf9401c527b1c28591bddc1a4262501c9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T29.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js
  * @description Call split(1), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js
index 3d3eaae48262e3da263087bf0cc0a418f1fd7bbb..0dd458c65ae21663766055ee21248e518420830c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js
  * @description Call split(/ /,2), instance is String("one two three four five")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js
index 22965342858948e434f440a8f6334f8ab4410783..056648273aa65a52ad3de91f81d660c4677f2caa 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T30.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js
  * @description Call split(1,1), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js
index 7c161cc57921771fa1b3819a13d83027024be5e0..973791e583fc9f6b0c76a62834d51abe647fce36 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T31.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js
  * @description Call split(1,2), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js
index e01c2bdb7182504368a443148c826d7be46100c8..878668c95c23cbbc3572e6c1004f911916a1e0d8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T32.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js
  * @description Call split(1,0), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js
index b1af0fde0f0871cf4b005575bcbe06baa8209a1b..66f3040ad6f9c321c1e3873bcde4e19e62368084 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T33.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js
  * @description Call split(1,100), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js
index f755a159aff83fedb16d343c15755eb2f84e905b..bde2c8a9aba7236642310a224927b35a8449625f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T34.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js
  * @description Call split(1,void 0), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js
index a296c77da98b18b24173194130319e344dc12574..c6288390c7e8a922d0c2307a81bda23f1f6ddee7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T35.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js
  * @description Call split(1, Math.pow(2,32)-1), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js
index 828bff78464c23c9694de18389cd50751cfa3b00..66aa50338478bb3445ffd6d229f420051abd1632 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T36.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js
  * @description Call split(1,"boo"), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js
index 552b9983aaaba72446f903c10c5f472940e4cf7d..f4d27e16c14f38a48c4175ac9191a25278e4c058 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T37.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js
  * @description Call split(1,-Math.pow(2,32)+1), instance is Number
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js
index 6fec838eec222d7c083916814e4b27eb12cba175..e072227a3bafa3ecef7cb32c30dc06f87579547c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T38.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js
  * @description Call split("l",NaN), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js
index 8379cbec26c048daeaaa6a5d4306d0f0e899416d..86bd0b649e9ecfca0172786f70986125463e6020 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T39.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js
  * @description Call split("l",0), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js
index 03b77f97dba1f63613b9bac00fa485a17fa064be..7647c5239240a08889a7e249b321c3ed3466340e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js
  * @description Call split(""), instance is String("one two three")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js
index 27c8249360705f3c26a99e5922acbe1f29c74e57..cb70140ae8f8cfe10912e1612741ed60fa9bd334 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T40.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js
  * @description Call split("l",1), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js
index aaa151560c52ca2954a36908a2b2201eb3d0fc67..db8302f67d5541b474b1a3b0c9280b9af3c14fbf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T41.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js
  * @description Call split("l",2), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js
index 7fcfac0695082569dae1d1263fd8f6c8caf66d17..5f54840987f3903e72f52ffeed42dc9822e1daf0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T42.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js
  * @description Call split("l",3), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js
index 7e931d76962ba7b9ca5b8cec9ddc4e2325ef4403..2f541ed5ef9a8ee4e0c70eb6a613c3e36fc34460 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T43.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js
  * @description Call split("l",4), instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js
index de23211411dba019c140a9ce7eae939ff38b3780..1662c3b80f6154c88b92e32572de1f5360444199 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js
  * @description Call split(/,/), instance is String("one-1,two-2,four-4")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js
index 5ca2de9bfffa08919fcbee6775d8e72fe4f2fe9a..308586fb1b2891bf5d6edf0480e998175129400b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js
  * @description Call split(''), instance is String("one-1 two-2 four-4")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js
index bf10c9a844e7a5733f193af1843276e4396b77c9..cf20b6f5e16ccf51356f35de70c36967da81c5a8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js
  * @description Call split(void 0), instance is "thisundefinedisundefinedaundefinedstringundefinedobject"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js
index 31537a6dd9dc6cbe6baf375356a6c25be345488d..33c8d46732ae03ffbae58ae6ecd662ced85b4434 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js
  * @description Call split(null), instance is "thisnullisnullanullstringnullobject"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js
index d5ed263cf98f40dacb0f6f789bb361793dce0060..8f41d429290a51a005bb0ca58d318a160f46885a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js
@@ -7,7 +7,7 @@
  * separator; these occurrences are not part of any substring in the returned array, but serve to divide up
  * the string value. The value of separator may be a string of any length or it may be a RegExp object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A2_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js
  * @description Call split(true), instance is "thistrueistrueatruestringtrueobject"
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js
index a9bb1396e8b8ab19df7b3abc913591a54f7def89..86a3c2fb69ad837ff35a76440e005f2a343aaa7d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js
  * @description Instance is String("one,two,three,four,five")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js
index 32cf1a7018801db4f8989e259f995020b95888bd..7425bdee2a06f8095181db4728aeef2fc7c1ef72 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js
  * @description Instance is new String
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js
index ad0a624c72ecfae4bbedf4b9c6f82b6670483e6f..7de1ea58382639a0218b70f6cbcab5eb38b182f5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js
  * @description Instance is String(" ")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js
index dd86c5809b692ab598b6747ddb236cee7970034d..fb00633fe0a5733be94e5fcc1ae25d818ca4153a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js
  * @description Instance is Object()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js
index 4b499365713efc55aa4d78481d1acf525411fad6..0cc1b725fc9b737fbf73a02aa334d6dc84863e72 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js
  * @description Instance is function(){}
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js
index 2180aa036c9ab7bc4adb56a3fbae6cfbdb9e7fab..d91cb47c95152a9abae06c1314325795a4d4aca5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js
  * @description Instance is Number(NaN)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js
index 962d31124464e8060e70cf5ed8e5db60c045aef3..caa50b3d9a89e2d4729ebb2296a6d222aca054ab 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js
  * @description Instance is Number(-1234567890)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js
index de4c296ab592444cb44f71dc9831969e310c79d5..e4421f66eb8e0d8a4d48c45e4ba7ceea74e4f24c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js
  * @description Instance is Number(-1e21)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js
index 310f06c542f7ab8496cb997d5b047be49ef320cf..bc09dd500068bc33cab983e9c7e1776bf71704df 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js
  * @description Instance is Math
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js
index da19a09a52119b3cd92221de43ca9be8e845c741..94ba1f1e91ec9d779251831f3eef4aa98a1132ad 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js
  * @description Instance is Array(1,2,3,4,5)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js
index 18a8feb25757d6684c9d39857eb938bcb9c2eabc..a22f24ff9d9a10dd500f9b7c294d2e3f8d9ffeec 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js
@@ -6,7 +6,7 @@
  *  i) length equaled to 1,
  * ii) [[Get]](0) equaled to the result of converting this object to a string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A3_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js
  * @description Instance is Boolean
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js
index 04f145f5c13e0f3a2dfc11d964bde43cb1a13e1b..af74915a550928a6bf1caa04cf80508576479711 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js
  * @description Argument is regexp /l/, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js
index 2c6a246adc235d3636e067d61f7c3776f7ee6b90..4419ea3fedbbd05a498ea79b3f1902631b376e39 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js
  * @description Argument is new RegExp, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js
index c0a379cea8e83b704f20eeefd30c093104cdb722..e4d7f88f49d4b1e59bf27095915a61844bffe2d9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js
  * @description Arguments are new RegExp and 0, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js
index d6263d9507957b69a40712528b4773e02ae0cf13..68c519cfe5480e62dbec29174b84083d87a3e5b0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js
  * @description Arguments are new RegExp and 1, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js
index 27fc9077a1c9ff63f9fb08f5c56ceaf1b3d4121a..887b4b420cef81f6f2bd59fc7f5076f2c5f68d4e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js
  * @description Arguments are new RegExp and 2, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js
index 93f10e159d9ee1580842a8c51cfe4945d8b65c07..513db31ffb6125fce8335be68c0d8f7bafe70f43 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js
  * @description Arguments are new RegExp and 3, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js
index a3aaf81c34c32834e5586342d79c0ae6f4c81893..9811573ad520a2dfa6c8265606d02c6817789746 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js
  * @description Arguments are new RegExp and 4, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js
index 664e9dafac2dbf30cd71c85ff6a134b975928987..e3d3b948109be921ace1ec4abc78b8b9f1232eac 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T16.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js
  * @description Arguments are new RegExp and void 0, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js
index 082c2f3d3031b9849db666745dc815f678e36577..a6ec2a0cf573957a6d129fa4b1fa629bc02efbd9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T17.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js
  * @description Arguments are new RegExp and undefined, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js
index bf1ab0aee7bfe3b85d41b27c31c42e507b20d63e..d8e75a23aaaca109ad4b42358b7589d26322eacf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T18.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js
  * @description Arguments are new RegExp and "hi", and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js
index f5db8a9290ad70b89426aa55de47a22ca656f10e..ac88886155017edf06b638ae6a55258c4d351342 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T19.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js
  * @description Argument is regexp /\s/, and instance is String("a b c de f")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js
index a7f054ea5f5a738e072a6744cbbae33ea1a9465e..b628639e79b49917a9c0064ad98c0c07a5730cca 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js
  * @description Arguments are regexp /l/ and 0, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js
index 0dd8821d26ab0e7f186e8c238bb7f1e808979888..4a6a08fc168706b456b8f285815f907dd3a8f3e9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T20.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js
  * @description Arguments are regexp /\s/ and 3, and instance is String("a b c de f")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js
index f167b0c531ef2d67a9f53f50cb2267cd50d8a0f3..9a433a32382586dd5114c43ad63bd8ca566c1377 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T21.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js
  * @description Argument is regexp /\X/, and instance is String("a b c de f")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js
index 8713b8fe84a04ada728d2c2d4b7a9fb9b83b011e..23d71dce4c42e5b02fb257775be0c5cd834ff033 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T22.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js
  * @description Argument is regexp /\d+/, and instance is String("dfe23iu 34 =+65--")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js
index 89bf0d3f5f9a3ae539c8be81363f39a89729cf51..d68d6c2c934a6cb600e7998489a80b9fddd69d04 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T23.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js
  * @description Argument is regexp RegExp('\\d+'), and instance is String("dfe23iu 34 =+65--")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js
index 388b8530440e156f91cbd295003e1afba6e16354..1447f21b9423fe784c2312903a6d9b05a346ae12 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T24.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js
  * @description Argument is regexp /[a-z]/, and instance is String("abc")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js
index 0e7838661e90c0342cbcd6cab256e3d4f72b64e7..6ece183ab0c040365b47f3776c170092f94cd521 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T25.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js
  * @description Argument is RegExp('[a-z]'), and instance is String("abc")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js
index 10cb3dfaedddd5826ce1d1de0fabddb779b5ed06..5485bca24afeeb9969b5e4367838385dfbd9835f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js
  * @description Arguments are regexp /l/ and 1, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js
index 79c301fce93c3b198c1dad4ffba151c020edc706..0a3e2880372928e4f1bb983faa11bd6679183493 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js
  * @description Arguments are regexp /l/ and 2, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js
index 7cc5ba4d2a8eef0fa271679ad6260729ef67b4c8..42e9c4bc3c021b88257ecbe6fe05e62fa2c0362c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js
  * @description Arguments are regexp /l/ and 3, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js
index 9924c87ef90063d5d79e34cc87bd351aaa2aca4d..e476ccf7aa423071d05bec15b8156cbcfe2fc510 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js
  * @description Arguments are regexp /l/ and 4, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js
index 77dbf64bf26b4452a8a8000f94433bdaf080ec73..f3b86a40d4cf815816019f829db8f5fcfa3dc34b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js
  * @description Arguments are regexp /l/ and void 0, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js
index 02e5c18bf8d9c94ec5603ab3eba754a4b7cb21ee..5eaa9100ebebef874882f2ed574bc20d231bb8da 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js
  * @description Arguments are regexp /l/ and "hi", and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js
index 6e9fd26e241d51c73cb36abe23e42d6123edd56c..ce010aef3a8a854ae824b6b5a2c9cd446b44dd55 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js
@@ -6,7 +6,7 @@
  * been stored. If separator is a regular expression then
  * inside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A4_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js
  * @description Arguments are regexp /l/ and undefined, and instance is String("hello")
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js
index de45acecebd2dd1059dd4f860da3e96ecc8fa60f..ee3c4ff3a221e0ea191f45098e385629d51befa5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.split has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js
  * @description Checking String.prototype.split.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js
index 09147f961f6bac686304d9ed733a818ce18225d3..bcc7e4033acecfcdb9c907f0cc07b808463e651b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.split can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js
  * @description Checking if creating the String.prototype.split object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js
index d5340d7ec10ab09fd93f7d967f0398e20364e046..3cd8da66ab2acd60ac857157f96d999f3c310e2b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.split.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js
  * @description Checking if enumerating the String.prototype.split.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js
index 0fa1edd3ac8493cb6137d61083407942e434eaeb..6bd7ffb213cf9fadd50f08bd40daae1200b43d97 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.split.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.14_String.prototype.split/S15.5.4.14_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js
  * @description Checking if deleting the String.prototype.split.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js
index 8fd44698279660153b6c12923dff612453750af0..91c17b1ac6cc1bda6c45495c8f970adc3c81ec71 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.substring.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js
  * @description Checking if varying the String.prototype.substring.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js
index 9f08ddbccc8cc8d3210c443e77b45d1ac9db6e81..b7a8a57b13a19d48a7ea85711f3153b2ccf8fc2b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the substring method is 2
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js
  * @description Checking String.prototype.substring.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js
index b8ac610ef310df62ab3c7f2e99528b611a43b45f..8fb7701e772194ed3b1062931792dc7518879271 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js
  * @description Arguments are false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js
index 7e4ddd0f6d328d5c9734974d06e376fbfae7a9b4..63fe45ac0d699814433584fddde8f950023221b6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js
  * @description Arguments are object and function call, and instance is String, object have overrided valueOf function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js
index 7fe29e397d41a297478e8efb834d46f4a2783eee..dc2aebb6ba9306d916c5463c8a205dd650a5ba94 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js
  * @description Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js
index bbcb5ee5c01c2ee4317e8a59f3f4793a76a365e8..c45c3968a201cdf5b372e5ca2edb56e746c4efbe 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided valueOf function and toString function, that return exception.
  * Second object have overrided valueOf function, that return exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js
index c6ed5540b5398652b3824164b3478af845b1c6e9..62fd05eda3fe1aef4fcb8aafe61dae70e052ef0f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js
  * @description Arguments are objects, and instance is string.
  * First object have overrided valueOf and toString functions.
  * Second object have overrided toString function, that return exception
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js
index 6b90b76fb9e690df6bfb54d7c9ee222dcd1452d0..54e7e0495feec0718099204c43b11c566316b5d3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js
  * @description Used one argument, that is function(){}(). Instance is string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js
index 98550179ddcb34870f16b5e6097c2e3b9a52e932..22f9cf75a72e6d3b06d4ba00f86a68e1fcfa5590 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T15.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js
  * @description Call substring without arguments. Instance is Number with prototype.substring = String.prototype.substring
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js
index f488cc470d266bd2cb0d7164a86baf05d6acb563..a46d973a4e88f1a1f80c5fd47c48e6b27176f492 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js
  * @description Arguments are function call and x, and instance is Boolean. x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js
index d9948b07e05ca1afdeae5b87fa78eefc0d3163df..31205feb9afab9ea22a4de33f2004b20731b4bb1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js
  * @description Arguments are null and number, and instance is function call, that returned string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js
index 08de2a03b5b16352b5f0b4e44e38f9ad9afd9db1..097154be2ae572e31cfe3adb809747846cdd584e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js
  * @description Arguments are null and Function(), and instance is function object, that have overrided valueOf function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js
index f2a71201b8f7f44d6b6be88d72b515fb0647fd53..81a2c9593f90360c974e048591c3dcce508a289d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js
  * @description Arguments are x and number, and instance is new String, x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js
index d55f4b6dc74537e8405286126d59b005f4909178..252e704023bcc0b99f1900836fdcdf44bc82859f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js
  * @description Arguments are symbol and undefined, and instance is String
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js
index 72fe0a4cf657c3f681237461ca21f3685e36e76e..700202785c2e58aed9f2fa1a1bac687651ed5579 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js
  * @description Arguments are negative number and void 0, and instance is String(object), object have overrided toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js
index 4e9036de5ff9a2d4f0aecb86cb1af4c4d984c831..a9aafd294abc731d53abc18e2beba13a6479a9a1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js
  * @description Arguments are undefined and object, and instance is new String(object), object have overrided valueOf and toString functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js
index 91d26e5b31eccfeda336267db1058794d5992738..919639a8b9fdded2cd3cc8d492d2a1fa729b182d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js
  * @description Checking type of substring()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js
index af9ba30c7471904568b7437c1e0952803e3bf33a..7467a3a74cad365c9646095fd3bd298dd90f4f34 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js
  * @description start is 0, end is 8
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js
index 24d6d98fc9660666d578e551729d48b1550e6fcd..a639bf7b198cc7b36f9090b262f4c12b1a5d7545 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js
  * @description start is NaN, end is Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js
index ee00c181355019e5ed32f958c71b332c94fe3915..e6a911dfd8cd09abd2914906b7b740bb6e4c4cdd 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js
  * @description Call substring from empty String object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js
index 63fce911218c59bbc532186f29bb200349729e24..d79141d8ea1cdb1a3aafd86e706eaebffae22e4e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js
  * @description start is Infinity, end is NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js
index 7b33592c4c6e3bc061d7abbdd2de1cb31c2e2c41..cef78c101bb4ceb7728062b275f97c4724a78c6f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js
  * @description start is Infinity, end is Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js
index 7f4838086f3aca2ad2f28fa3443842fc6f76c8c4..1437c87ce4198ec057172e56b15a78a4889e70e9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js
  * @description start is negative float number, end is 0
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js
index 0c79889b902e337e7600c31cdb5056a6925a5f4d..140b4cc2a7394975b9f21c5d852f2d0768a3afd2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js
  * @description start is tested_string.length, end is tested_string.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js
index 033f2378e0d476bd367572a4f23f03181a4cce1b..9775b8fb2d1f2fa33659ba5f9e23d62598744b7c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js
  * @description start is tested_string.length+1, end is 0
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js
index a390a57674ecd5715df43c882e06dc6200abd5ee..b64f86b806c17b257c718cb5c25942c80a708b97 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring (start, end) returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A2_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js
  * @description start is -Infinity, end is -Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js
index d8dc3f0ad0a47f36e45f3a268b31ff69e0a5f7ff..ee504ea678a8f701c0c097ea73d9756476fa4540 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js
  * @description Apply String.prototype.substring to Array instance. Start is Infinity, end is -Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js
index 1bb47dcd85f23a854cb24a80c948b94252661676..01935b3f8e7a2e1a402e404f621762d0c97fb28f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js
  * @description Checknig if applying String.prototype.substring to Function object instance passes
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js
index 3b6901a896edf77ed01ae408c08447ffba0ce9ca..92615a2511d53943333f20abfde8a6e0245f9654 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js
  * @description Apply String.prototype.substring to Boolean instance. Start is new Array(), end is new Boolean(1)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js
index 3c0c1bb53e2594f5ffc99b7d524895cdfbdf8480..728eea95872a1a43a36020bf58d4e3ae77d3501a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js
  * @description Apply String.prototype.substring to Array instance. Start is 9, end is -Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js
index 46dba8ae44daf8903036939e57cd9c0fb77d7bce..814c1ad508ea407b6989608e1ebe7c0c6ac0b7ce 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js
  * @description Apply String.prototype.substring to Array instance. Start is true, end is false
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js
index d1de4825749cedbbba24df569520ed797f4d10c9..eb91e284f26814c16ce734bc0f06b97bcb22b0c3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js
  * @description Apply String.prototype.substring to Array instance. Start is '4', end is '5'
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js
index e19c76d7309f8724db7ef2d9d067e6e56435a2da..088bd137f95c960df0b177ead2332d532fb0c619 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js
  * @description Apply String.prototype.substring to Object instance. Start is 8, end is 0
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js
index 446bf8e934d95902f9057ebd815b97ba997dcc34..ac3d0d150e0479334d9352bbd94202860554668f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js
  * @description Apply String.prototype.substring to Object instance. Start is 8, end is length of object.toString
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js
index b27257932bd6e34f777dd865f3625090f29e1262..dfbdeacb99c4adddcc2f87b8133140def727073d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js
  * @description Apply String.prototype.substring to Object instance. Call instance.substring(...).substring(...)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js
index 295ec84b005e88c7c06662b2cc5673e7ba53ab0e..a20213314d87a73d1f4c55e1cf942149e25d67e0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js
  * @description Apply String.prototype.substring to Number instance. Start is Infinity, end is NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js
index 300e753010ebaa78b85454647791b67e517697f2..1d7aff7f175cb1cc1f33ef8cbf8ec03405b1ccfc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js
@@ -5,7 +5,7 @@
  * String.prototype.substring (start, end) can be applied to non String object instance and
  * returns a string value(not object)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A3_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js
  * @description Apply String.prototype.substring to Math instance. Start is Math.PI, end is -10
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js
index 41399ca1ec90f76fbf6921ba5eb850ff4bd415c6..fd7426628285243a93b72b3804f9eade02d8a43c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js
  * @description Checking String.prototype.substring.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js
index 06537f0f81aa06a281561d67fa6120ae4e7b0c98..fc7c4c502cb32cbdc88befefca7effcf87332895 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.substring can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js
  * @description Checking if creating the String.prototype.substring object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js
index 78f384abb97ac2206382e598ceca0c8ec02fe3b9..985519c11919bc3436ecc96b95cadeae7ae048cc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.substring.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js
  * @description Checking if enumerating the String.prototype.substring.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js
index a78278afdc817af131c20addff726ba1b8557d80..3c16906948115abcd34935eead7a2f4275600c07 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.substring.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.15_String.prototype.substring/S15.5.4.15_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js
  * @description Checking if deleting the String.prototype.substring.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js
index 2d102b5d892b98c5107aad9963da56e0fc687038..1f44aace0e83781f4994590917f9b196f9e5b1c4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLowerCase.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js
  * @description Checking if varying the String.prototype.toLowerCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js
index 17c0d489321fb0a6c44322fa9db43a35c01181f6..dfb885899675010f8b7c4ce0fce991a81424ebd7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toLowerCase method is 0
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js
  * @description Checking String.prototype.toLowerCase.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js
index 0e28d9924061270250459a70f9b936d9d3e2911f..203f7abedf2b998415523d0bdfeaf5041997e4ef 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js
  * @description Arguments is true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js
index dbf24467d702cd911645b3cbf1eb0d089319a75f..26b9fb973bf36ea9a381224cdf2799aa8ab34b41 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js
  * @description Call toLowerCase() function of object with overrode toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js
index 94b7d9e78ec92dc7e3d72b440415c4c4fd4394f0..ec622d8140ad812e40f3c78f4a7b60fb89741e3e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js
  * @description Override toString function, toString throw exception, then call toLowerCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js
index 41c1c70724fb4c7a12d02f734ccb8555b059d2df..4653f73fd5533ab231f821ff73b18915e5c7d078 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js
  * @description Override toString and valueOf functions, valueOf throw exception, then call toLowerCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js
index b9c40505a1346ddbcfb2c18033c375bb933251cb..2343921488f55039cf867cdc6033e3f807c147e5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js
  * @description Override toString and valueOf functions, then call toLowerCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js
index f952123baf762b8b82914235f2bcb8ec4fa367c7..9ac4399d3f256c3b535f78ff224675ccfac2c246 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js
  * @description Call toLowerCase() function for RegExp object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js
index 348b834677d724d8b05c1dc28dcfbe16630d9d54..47f82dac3b0c1ac5dc420049ff9e3587e49941d8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js
  * @description Instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js
index 0b351007152b9d38d2bcae6d69037d580504cd47..54139f5ddb01e246de01ac48f2b93d2f3fcdc184 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js
index 4b37faa27af4b36680b644401ca95561045f3570..90bfba98421d73377ab7df77869721f00258548e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js
  * @description Call toLowerCase() function without arguments of string and from empty string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js
index 3a27bb1655cda87d1f312a254f8a60f6a743fe23..5ce9cf4865f1ea450ff4b6d794cfb8c89b3103b2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js
  * @description Call toLowerCase() function for function call
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js
index 3468829b91cd2d3d3a8ebd90401eccdd1c3234fc..74c3849c31e1f11fac426038dda8d003a429e9a8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js
  * @description Call toLowerCase() function of Number.NEGATIVE_INFINITY
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js
index 5090b139db4431a7471f20afbcbaf7352fbc3737..e348fe4bf1e45ecb18e3be21827df2edc8a4e2df 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js
  * @description Call toLowerCase() function of NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js
index 07e8ff898e2e4fe2726767454e0ad2ed8d14821a..304e769471583db12a1d03adcd02d53863e5c634 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js
  * @description Call toLowerCase() function of Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js
index 4ef241460a90d19ae567ad729b1315ede93d5670..491617d2afca6e9b1d8e54b35aa4c6797ea333d2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js
  * @description Call toLowerCase() function of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js
index 7d569dea97fbef4c965bd03c2e03764fe492a27a..1c9eb5102566be45274ead383d0dd8972d9c0942 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase() return a string, but not a String object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js
  * @description Checking returned result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js
index 8bd8f2bad6b527e27f1cef92f4d7ef0b913ca02c..c041b10fd67d536e323cc15e5395425e2c10638c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js
  * @description Checking String.prototype.toLowerCase.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js
index aa2f64b7d4a9750273f94da4cb9155b0bde13d0c..263b4bc380be065e8cafba7625398a9e1b6c7f46 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLowerCase can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js
  * @description Checking if creating the String.prototype.toLowerCase object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js
index 16e31e084f14fefa20565906dadf403fe88db6ae..3c155cce3ac8044f5b300040122622f16328555a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLowerCase.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js
  * @description Checking if enumerating the String.prototype.toLowerCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js
index 98b380bad581f9256aafda0be7da2672bd791c5a..f559e4c29cc354e95f8a6e97b04884e9b2f69bf5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLowerCase.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js
  * @description Checking if deleting the String.prototype.toLowerCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js
index 6cba1d659d9876d26c94349fa47c611c360c9ede..a702ec2cec5fcb2c78bda856d8cf61f0219aa231 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLocaleLowerCase.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js
  * @description Checking if varying the String.prototype.toLocaleLowerCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js
index 26f31bc90c10cd319565976ddf577f3a96688e22..3fd223e90304531bd1c052259c4477d2b85deb08 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toLocaleLowerCase method is 0
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js
  * @description Checking String.prototype.toLocaleLowerCase.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js
index e299eff4171b57e47e618eb32843876dfbb71de2..84029609f2eadab032d1d56bb17fa4d07c41f1c7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js
  * @description Arguments is true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js
index 148216a6c5f8a38df3bbcc8e56c88e0eee7940bb..73445f1a15ab8ba76b71dd25d9b1819348d7f83b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js
  * @description Call toLocaleLowerCase() function of object with overrode toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js
index 552e2f1d0605b9a3de4589d66fd96b54fca8e694..6b99d977587b54cd1fbc50db9d8e0374f7875a51 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js
  * @description Override toString function, toString throw exception, then call toLocaleLowerCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js
index 24ac4ddb7296b86be82a41d641534d33e8783ee1..20cfc2a604e51d29f71f98c2d5339289fde0e49b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js
  * @description Override toString and valueOf functions, valueOf throw exception, then call toLocaleLowerCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js
index 79e9f10e547e994ca7a5a4d9a9bde775e1a67572..3a229454e82e490a58a025407f9e847aa8efd366 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js
  * @description Override toString and valueOf functions, then call toLocaleLowerCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js
index ce2c4783bfae2f687199721f3229ef1c55cb9f2b..8e474fbb2e673ff36d173935362c1aad0312ab2f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js
  * @description Call toLocaleLowerCase() function for RegExp object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js
index 885804ecec62c64734f987c9371320517b4eb7f1..125a18a77d017d30c12e9bdd7b18248120dc7d8d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js
  * @description Instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js
index ae1743fac035936776a23d3dd45a822e14d868a4..e74aa0758cd71192ce7a868a0437414c1f5a9d4b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js
index 8ebf7db2d82a485fcd37f0708dc841d69c2dab92..b229a10eebc5235533cf5d38363f07bd69152a28 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js
  * @description Call toLocaleLowerCase() function without arguments of string and from empty string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js
index 4790a6aa2abb19c94cf30c84ca10d53b2f79d2f2..ebf6c4f4149a522ba1fce21bef56890a34cce874 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js
  * @description Call toLocaleLowerCase() function for function call
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js
index 8a29391ba0feec1d95d14125777486106b0882ed..0f3a4999ed99acd30f0055b12dd3a2859ea35555 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js
  * @description Call toLocaleLowerCase() function of Number.NEGATIVE_INFINITY
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js
index 48ee22cc1412d44e76bb585d7ae7fc9a2cd3fb4d..c85cbc29759f934f0ec6297c5a0b73a58fe5b2cf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js
  * @description Call toLocaleLowerCase() function of NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js
index 8e1f0640ef053fadfcfe21cb774b1cfd31efc748..767b6f4af9bdc56f1c09eeb9a8e7786606f6fc93 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js
  * @description Call toLocaleLowerCase() function of Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js
index 31c711913136dc5e6de431613c5fab3ddaf5875f..c73249b6c93136c4837328f7fa626fec3551812d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js
  * @description Call toLocaleLowerCase() function of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js
index d0df5e4c6b77dce519db994d138fb31c17945914..012b0af9ff860c29d1cf0ee330b5721a28986956 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase() return a string, but not a String object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js
  * @description Checking returned result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js
index 9eecbd9c5b36039330066d4f16623c847cda35be..588d8b5cf4904aa76688f1bccd95c95a5a604dfc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js
  * @description Checking String.prototype.toLocaleLowerCase.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js
index a7496ee144b396bc03ef03233bebc25a4072eb26..7e7ad4d470a464de048630c71e546c8e4c693fd7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleLowerCase can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js
  * @description Checking if creating the String.prototype.toLocaleLowerCase object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js
index 6de5156c3977b3308b445f26d9f5b2cb775dcee8..f60e7d9e81d6d65363e2f2da98092de8000f4c82 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLocaleLowerCase.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js
  * @description Checking if enumerating the String.prototype.toLocaleLowerCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js
index 01bcbd5e4124ec6d83e1b627b25df315741e0f81..9033c64c5c1c28cb7b1076cada6450e87160fc6f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLocaleLowerCase.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js
  * @description Checking if deleting the String.prototype.toLocaleLowerCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js
index 95d6b5453c738dda0899d102f8f44cfad7ce10e3..98f3bdd847871bde5a3fc99fceaac803e699eb9a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toUpperCase.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js
  * @description Checking if varying the String.prototype.toUpperCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js
index 3dc06488dc6d5569f5831f71aa6e146a5e9acfc1..b6a2b2bf4aebda1299f6dbbe6ac978237fd257bf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toUpperCase method is 0
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js
  * @description Checking String.prototype.toUpperCase.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js
index fa58a8f19f304cde76421d42b8d7f126e757fc7f..c67e6f9cdf1c97b7f086aa9ecc1c4baeef0abffc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js
  * @description Arguments is true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js
index cd81398a9417004be2d8c4311adf932735ab5820..95eadfd0aba9b4ca1bb05b308738c2872e0277b3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js
  * @description Call toUpperCase() function of object with overrode toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js
index 6bd6bd18ce2f65b0dd790646bb3b78894c2e3b74..ebc278f9b07c781b777af03a5cdc7773a373f2ae 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js
  * @description Override toString function, toString throw exception, then call toUpperCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js
index 8dd367fe307234c0c139018ed7576ed7b75701e1..2ffd076dfc4a326651ec8b8fcbeebf37beec8f04 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js
  * @description Override toString and valueOf functions, valueOf throw exception, then call toUpperCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js
index 17e92a6e206455612ec4778cb61d0a4c85f22628..943aaf196bc7f17bb0940c354722ec5e8b545cba 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js
  * @description Override toString and valueOf functions, then call toUpperCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js
index 517e1f27f19e364e16be808f885b43f6a5a26b6b..b292c07e486d35c05ca66d06ef37f824e9976763 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js
  * @description Call toUpperCase() function of RegExp object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js
index 6cf6216af11f8d0c885dcff23d0e591286435a14..ab7f4a9371cae55ec938192411ef8f194c9bd548 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js
  * @description Instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js
index 94997d2dee4518c467dc57c8d0bf99e3fa2847b1..9718313aea2dc4afa6b9356e8006b067294bb6b3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js
index 3977cc6a9c1cb48e1514484669c07ad9b052f356..431961181e35fed935f814718ec21afc1919a3ef 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js
  * @description Call toUpperCase() function without arguments of string and from empty string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js
index 4606dd8922b47e12b8ec1fdbb13969566e148798..00befc9749b867bc80d441c34304d0ad337d6deb 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js
  * @description Call toUpperCase() function of function call
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js
index 580e75c8d75cfaa708c8eb13df6b6ffe9e721be6..5c48ce795621bce33afa681893f218b867d7b006 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js
  * @description Call toUpperCase() function of Number.NEGATIVE_INFINITY
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js
index cf98dce06f2a3325f6154685f93645ee56cb682f..045d7337132407378004a7f535c53be07694684e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js
  * @description Call toUpperCase() function of NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js
index 235dc2ad0d8556732326b4ab6972b3ef75124cb5..41f695e9871c4a6deaffbd78774e66988fd4275e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js
  * @description Call toUpperCase() function of Infinity;
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js
index c302c4ae450b8549b829ef166fbd83c5ac0a7ebb..bdf3e1f0d06ac1716cc8bc46b2ed4f8c62340a45 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js
  * @description Call toUpperCase() function of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js
index 85b13fb42f692d0602ff206b4e5006f3dc8876ef..2a3aee0e7d57e6bf09b0576e0f2e7cd9f3e02a22 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase() return a string, but not a String object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js
  * @description Checking returned result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js
index 0dc710965a6d439344e474bdf8c1b510a88bd501..23615439150bce003ff670e45738497fc874b738 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js
  * @description Checking String.prototype.toUpperCase.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js
index 55d7825d050d66965b0658da9333dc06587156e7..1f443008ad603436a18e3f976b034db1c3b8353a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toUpperCase can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js
  * @description Checking if creating the String.prototype.toUpperCase object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js
index 744d85eac824d54fe11be97cab25fe4f59eb1770..ffd0737e9ed54047a56a3af357041a019dea3984 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toUpperCase.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js
  * @description Checking if enumerating the String.prototype.toUpperCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js
index b3a629eec78226be82a583fd8525504e7f016bbc..575fddb02b4cf06674c301097b86b762e421346b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toUpperCase.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js
  * @description Checking if deleting the String.prototype.toUpperCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js
index 3a5be540e5a5dca39d7539f6c708f7bdc9906e94..8be67c2ccf53032ee53140fb9bed2fbb069d6670 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLocaleUpperCase.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js
  * @description Checking if varying the String.prototype.toLocaleUpperCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js
index c412edd1706cedc6b63c5cd90439c683a0a61ff4..5d00ec411f302afd9820cfb8612cdcb084acb595 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toLocaleUpperCase method is 0
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js
  * @description Checking String.prototype.toLocaleUpperCase.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js
index 6be963e7183fe490b198238168b74a5b622014c9..1a5c847eda841ab7d7f15c7838ef83e393611e89 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js
  * @description Arguments is true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js
index bab60df5227459f953019f4b2b08f8e9fb7d4f0a..20d2f9ec110ac79b3adb0f584d34c3d65d449ed0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js
  * @description Call toLocaleUpperCase() function of object with overrode toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js
index 99a1d1aed0b4e8b5f206dfe75beb55c9f4a1b7e6..2cb6d82e2e01cf178aadc6d9172b9d88110ce67b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js
  * @description Override toString function, toString throw exception, then call toLocaleUpperCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js
index b0dfdae8d32b7708a7c5a7142e02ddb0069be442..8f50b6ff7f474a8c7eab6769a6238089ec6d1d43 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js
  * @description Override toString and valueOf functions, valueOf throw exception, then call toLocaleUpperCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js
index d65084010bb774bfd47dc2b85897ccd156949573..ee407e2d59482072dc6bfc918be8e2cd28d4f81f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T13.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js
  * @description Override toString and valueOf functions, then call toLocaleUpperCase() function for this object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js
index 6dbdcfe98125db238e158283a567ade20afde0b4..62a343b5c568215d3d697607216062b3f0f104f7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T14.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js
  * @description Call toLocaleUpperCase() function for RegExp object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js
index c221bb5d3cef79f51b99e4ed560aa0dcf0a1a645..72acb65e31278bf8ac8ed8cb8416aba8a8b86b2a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js
  * @description Instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js
index 8816ed8505973e0ed3af0ec0409b44394ceab7b8..021fe7abda69b411377fb0ee62a8e459151e980c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js
index a3f811ce94728992fff440d4502b66ba593e7612..3f4280378dcd47eada9901cead34024d040d9a86 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js
  * @description Call toLocaleUpperCase() function without arguments of string and from empty string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js
index 9e4940187992b28b3498561a3768a0453750e375..1a341f4f08f52fe46514590bc0a0763691e1cf53 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js
  * @description Call toLocaleUpperCase() function of function call
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js
index 8231a2d80785107324abe943806e622fdf5001ca..a365a6305ea8327123a8d2c3019101d93b0205d9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js
  * @description Call toLocaleUpperCase() function of Number.NEGATIVE_INFINITY
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js
index ff8f076c53109618826e63e350bb2e96b377fbce..24789c2fdaa6b9f919a49f2c4eae4544a1ee496b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js
  * @description Call toLocaleUpperCase() function of NaN
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js
index df5eaf2d9ba60d0625aba7e9e0ace6bc79b79020..a1ab41573aa7441f269220b7691748fcef20b0d6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js
  * @description Call toLocaleUpperCase() function of Infinity
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js
index d72bf414aadcd0e87d0677e71b585a632d8ab4ee..39e3aef5a4060e359d44ddb7dfe3a0af693c5361 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js
  * @description Call toLocaleUpperCase() function of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js
index 9366e3b6fab4ecba87f48d45fdf9c1b71e94c821..210ec9b82ec21c75cd629688bec3efbafa5884d7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase() return a string, but not a String object
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js
  * @description Checking returned result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js
index e16927a7f9a3b435f8f284c489dd304407be5920..59a8fb70a60f0453e3bb148aca45b107f65b0871 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js
  * @description Checking String.prototype.toLocaleUpperCase.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js
index 096eee8d88083e1c5abe626618ad281f95154d93..d5ac01624f45e2b3dcd25672f68cea06fbb14cbd 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toLocaleUpperCase can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js
  * @description Checking if creating the String.prototype.toLocaleUpperCase object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js
index bf538e3f57a5f9b05efe9337f685639d98448d67..a2bea7095ff381b69048e703469846aab59b8f8b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLocaleUpperCase.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js
  * @description Checking if enumerating the String.prototype.toLocaleUpperCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js
index a06d8dffc94843a60d477c3d006783c0eb5149d4..05c09831e7c3d32bdf5479ca8cb1e8960e636988 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.toLocaleUpperCase.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js
  * @description Checking if deleting the String.prototype.toLocaleUpperCase.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js
index 0426eac62d1aeff9b79f44ebbbaff399d9d8ad8f..d0dce498d1e3171c5f797a4f2d39cddf99846a5f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt() can accept many arguments
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1.1.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js
index 3ba9b4cc2bbe829f1dcc7ad0dbef0216d3a06a13..f8295541b7673951bd85bcf762f2be842873631c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.charAt.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js
  * @description Checking if varying the String.prototype.charAt.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js
index d6285ef66e00db07fb91a875673177999fc43edd..2dc2f275e3b8c2efe168ee031b0710e04d327d54 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the charAt method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js
  * @description Checking String.prototype.charAt.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js
index 2b039fabeecefd68a086703e98169c1b0d079e6d..0d6472672e9f4d14fe7a1a4c01f2571e3113a814 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js
  * @description pos is false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js
index 5392654ceacecb589322f53587794d719603cf06..5f81135952dacabb1947bc95232f238a820deaa0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js
  * @description Call charAt() function with object argument
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js
index 901c38daa2e9067bc6d32392b3f5f3a4d5063dc8..d162e3961e226760655fb2fe030c7492de7b085f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js
  * @description pos is equation with false and true, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js
index 3cf706b396bf9b60bf43b7ea16aebf7676131795..e20809a4d6bcfeadc1e644a14e6d6f625f590af8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js
  * @description Call charAt() function without argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js
index dc9a4ac2b5917d7e27676a10b5577b4ff433ef7b..4ec3eb8e2f3001adb94d4d00f58441f99b696e46 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js
  * @description Call charAt() function with null argument of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js
index 63969724a5da89ca14e8b705ca8a07ce420d9eb3..02d4ffec4ec6bee3a6c2ab9753cfa3a75d5e54c6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js
  * @description Call charAt() function with x argument of new String object, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js
index 93ffb55698c02267d0714394db2959c3ec9ffca5..978a9d750f49903d2d7fb19ca424f23425d30010 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js
  * @description Call charAt() function with undefined argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js
index a65942cfad585f55ae5c0c4204804bae5fd4261e..e70523eb4db7d38ee5701ac818f34b00fda89d61 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js
  * @description Call charAt() function with void 0 argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js
index a7c6b90acfd244fb41c518d4fbecace8bcda1fb0..8ad6dd31499bccddf99429ecf02ced44efda3c7e 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js
  * @description Call charAt() function with function(){}() argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js
index 6aaa2a8e49bccb5e87096e18cf9d979fc1e4f1d7..1752c563b68d2011a909ba55bace5176c476a053 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * When String.prototype.charAt(pos) calls if ToInteger(pos) less than 0 the empty string returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A2.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js
  * @description Call charAt(pos) with negative pos
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js
index 45382b4cfa6179f2c50e55fa1590b30ac98d3519..c41c5e1f4e2a8889df50acfe1d7da6ba6a55f906 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * When String.prototype.charAt(pos) calls if ToInteger(pos) not less than ToString(this value) the empty string returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A3.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js
  * @description pos is bigger of string length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js
index 3b808fd14162589720ec71c5c8fb73e55db1f4e4..c361749ace9f0e995c52fafca3d71418f342fadf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A4_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js
  * @description Compare results of x.charAt(pos) and x.substring(pos, pos+1)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js
index 41263a47d22fca54e13b27cf66aa42937a8199e6..8b4b7441c3bf6f98d2c8b76b1c20c1133a3cd5b3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A4_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js
  * @description Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is smaller of zero
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js
index 2c099353f2fd3deef39daee767a60221ae0d68c1..ca9a1369d23878956636d6063ca386cac1b07c79 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js
@@ -4,7 +4,7 @@
 /**
  * If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A4_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js
  * @description Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is bigger string length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js
index 1c044ecfbcc230a3e813a28aecaf049ceca60474..778e5ea218508c47720c31a94bc4df5d64d8544d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * When String.prototype.charAt(pos) calls first calls ToString, giving it the this value as its argument
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A5.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js
  * @description Change toString function, it trow exception, and call charAt()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js
index 696b2affbbe35abd6e06aed758f24a13f4ceb122..570f90a1273373509bfcd2f43b9cb2453e8936d3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js
  * @description Checking String.prototype.charAt.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js
index b33ad77402171c0d8718cdc99c10ea201eee198a..94494102aa2586d64a47b6781502e4912c0a4aaa 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charAt can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js
  * @description Checking if creating the String.prototype.charAt object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js
index 310de0958d8213943686c9c6b220e9c72e3a3520..00a617631604a93fec8b2961b42e529316da8c13 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.charAt.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js
  * @description Checking if enumerating the String.prototype.charAt.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js
index d57635bffe34abbe5441987bd84b6d0af21475f0..d810d56e0c5525c2cdd2b17f12188f98c372b3f0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.charAt.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.4_String.prototype.charAt/S15.5.4.4_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js
  * @description Checking if deleting the String.prototype.charAt.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js
index 760e3f1d8bd2507da93435fe32d4dcb59ad27e8f..d296397c91db80052c012dedb2d343e6d7936915 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt() can accept many arguments
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1.1.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js
  * @description Checking by using eval
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js
index 77f15654bd3f4fde7a3c5ff8ebead130f2c20319..c6d1a559feff1df524faaf436e455c45da955798 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.charCodeAt.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js
  * @description Checking if varying the String.prototype.charCodeAt.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js
index d11c22f5980075fa499eddc89864e4bdd8cbc379..2a39c6bee3d62977bd4048e9cfcba9dd1b811f88 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the charCodeAt method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js
  * @description Checking String.prototype.charCodeAt.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js
index 68a50f5f6a895681796dbb6df5db99d5d1674fca..3a639267a83b2e180440f9254f56fdf4fc637561 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js
  * @description pos is false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js
index 34950cb4a66e89dc0f6573c2c7fbad90648ad52f..048869d3600f473f2c29265d7ee64fa0bf972a11 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js
  * @description Call charCodeAt() function with object argument
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js
index 80bb6fde239025611fad3258b35cb9db868d100e..c4e3f2ad441349990ee9c0ac8fec24a9f2084f8d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js
  * @description pos is equation with false and true, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js
index 5369ee6d33b890ff13788ed11033e685df3ba64e..04aed9862d3c955dbe693541475100567608e73b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js
  * @description Call charCodeAt() function without argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js
index 184e1f58decce7c320f6b96426cd72d7fc832fca..6f0c0aaa43400d81fd07f73524847c30ae52705d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js
  * @description Call charCodeAt() function with null argument of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js
index 32cd8f333981bf9da2bbd1a681e99bc635e4c8ca..8f54a0d008709232ecc928911c81f1ad113a2174 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js
  * @description Call charCodeAt() function with x argument of new String object, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js
index 00e14671c31aaae2be1c4615b1cb695844a4f4b5..c3c521cdb6b3709a6125ed28181119e08c5a83cc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js
  * @description Call charCodeAt() function with undefined argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js
index ec35572224039837b22598d26b9936947f1ad73d..9e3d7398859cd10f1ee072c9541f0aff7adcac03 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js
  * @description Call charCodeAt() function with void 0 argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js
index 4bf8c75ce21c1319bb946e14c033694069850fa5..4c9b24fafa728fde114264079547b612844757c7 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt(pos)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js
  * @description Call charCodeAt() function with function(){}() argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js
index ef71db05c5f0cc9322553c810da9b50e1e4a92d7..39e833fd7da2107797bd2885066374f51a4c6d58 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * When String.prototype.charCodeAt(pos) calls if ToInteger(pos) less than 0 the NaN returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A2.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js
  * @description Call charCodeAt(pos) with negative pos
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js
index 0a6f82c3e31811df27de66c5589797c7a470f95e..a5d6a8fe40a7045fa1157202d89048606560aaa1 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * When String.prototype.charCodeAt(pos) calls if ToInteger(pos) not less than ToString(this value) the NaN returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A3.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js
  * @description pos is bigger of string length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js
index 61564e2d91989e2f1995694311d00913f4bfa6b3..884d6322dfd9d0157f366620d03f942c0f50a1a4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js
@@ -4,7 +4,7 @@
 /**
  * When String.prototype.charCodeAt(pos) calls first calls ToString, giving it the this value as its argument
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A4.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js
  * @description Change toString function, it trow exception, and call charCodeAt()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js
index 597a270d469a1fa4c250c83cdd33fa17ddf4539d..dc78648b2f99a0de2282eddc8293c1d07f1152bf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js
  * @description Checking String.prototype.charCodeAt.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js
index 5489238f19ca5d5cdb0355c2e7da1692d165e735..ea51cd5b3df4b165d00e08d6f3c53e7014e2e53a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.charCodeAt can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js
  * @description Checking if creating the String.prototype.charCodeAt object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js
index e08a252c03511ab7f59cbb5d8d83b819b496e37f..ed4c5bd03ed82a446e0cf0291da2ca094ed36af3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.charCodeAt.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js
  * @description Checking if enumerating the String.prototype.charCodeAt.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js
index 073f41180127a12c514cc1dd0f00dc632e941bf9..f561d17951495c6c1570f30322b8499b7d91ba6a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.charCodeAt.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js
  * @description Checking if deleting the String.prototype.charCodeAt.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js
index 3907d1cdcaa0d0d53c110f2174c16160692f7b43..aa6112d32fb400a333004174cd1eec1575f785c8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.concat.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js
  * @description Checking if varying the String.prototype.concat.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js
index 18a681d533828d31ce95315315797a92f76e7db0..d0a4b44012db45929a49884761570432ed774776 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the concat method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js
  * @description Checking String.prototype.concat.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js
index 02e32eecfd2feca6928ac7291b3cacadcc2599ac..bb6d8f785881dfe6bb6a8c8b4150a67f8e70606a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js
  * @description Arguments are false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js
index d564a661e94b9c4862a2d8a63fa0bb2072a9b095..e0c7a56edd1c00a6eae23cb464096718c3dfa420 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js
  * @description Call concat([,[...]]) function with object arguments
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js
index 24477cd04d25977dbfeff9000bbc8f8ce427ad81..bc5b6f965952c658180a43f044e3ccbbf3e2ce59 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js
  * @description Arguments are equation with false and true, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js
index a3f9591059a5c50a453cb74add25c9e5297b2610..6f2d37b1b724540c9d0c96380911460365550deb 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js
  * @description Call concat([,[...]]) function without argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js
index aa6626ff30c9c3cb89903dbc806851ffa4298c0a..31fa8ba2baafc5eeab6f7f5fb3bd7fd3f00a6994 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js
  * @description Call concat([,[...]]) function with null argument of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js
index a6c1934631b3d5d826cefea5cb5304f2b65cbbcd..fbe70c6ab5178e0d88b1de88e61fdfbbdcc5bb00 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js
  * @description Call concat([,[...]]) function with x argument of new String object, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js
index 94a964fe868b3eb3e88e1d35467cf6703e97df2d..9d6f30e0141fbe2a5cf8a9b2508ab6c6727b83a8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js
  * @description Call concat([,[...]]) function with undefined argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js
index 461011f57239f37943fb8652532d52e3738b89de..96b70340549aba670a4b40f886f49d2f5f3aefcf 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js
  * @description Call concat([,[...]]) function with void 0 argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js
index d432574bac245dba32358b27afe101d61ca2e705..ecde3e026ce5140fa4fffe596eabcf14ad1b95d4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]])
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js
  * @description Call concat([,[...]]) function with function(){}() argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js
index 2b734b8dd462904053a7232000aa7d66b2c55e8c..da3c062416ba08c94f5af581729171a4a5a405fe 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]]) can accept at least 128
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A2.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js
  * @description Call concat([,[...]]) function with 128 arguments
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js
index b9c22d4608ac2a5218b3b15e67f4c2db39600f12..7f61e7520ff09ca734e0549ed14af937814f52df 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat([,[...]]) can't change the instance to be applied
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A3.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js
  * @description Checking if varying the instance that is applied fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js
index 2e32d06a8073a4e20f5719b77409dec1afebb86d..d1d2034522708d35003ed3dcc6995d14828456f3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A4_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js
  * @description Override toString function
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js
index 77fd64b3d23a1a655792bafdd8b84aeb059bca01..db3dc169c1b4f47f2da4bcecc9969ca2429a7134 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js
@@ -4,7 +4,7 @@
 /**
  * when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A4_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js
  * @description Override toString function onto function, that throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js
index 27681632c1d23715cdaed56fabfe26b41e7f3a0e..23a4bcdb9fbf2e27402bcde56699df0cc421de78 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js
  * @description Checking String.prototype.concat.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js
index 9b1f78ff0ffab53ea30431551c84f0c6df801e0f..e27f8a039383b4d5c9dc8b2b540599326ac39167 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.concat can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js
  * @description Checking if creating the String.prototype.concat object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js
index f5df3cde80dedef280d1d3d7d245a40a3ef5264a..48db4fe12c8ff57f0809f6a5445fc1daee3147af 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.concat.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js
  * @description Checking if enumerating the String.prototype.concat.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js
index c1ed624a5b06625542fe6ed8b5f6c831e1a86544..38b44152068c7948fcf708296f46c972e5d72ea4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.concat.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.6_String.prototype.concat/S15.5.4.6_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js
  * @description Checking if deleting the String.prototype.concat.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js
index 6ddf01cf12640a1592b464dfac34a2cf07c6f357..97fa3828d5d31fe0c4e206576289bb797116cc9f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.indexOf.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js
  * @description Checking if varying the String.prototype.indexOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js
index 0ef2111a36cde1b49ba7485ca185def11608449c..7531afe144f1df2be2e13534e640d39e8a31055b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the indexOf method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js
  * @description Checking String.prototype.indexOf.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js
index 188495a060a7d31d80ba0226096d40eb40f6c624..fdfd829ac5ca4a278914e9bf53922966334de81c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js
  * @description Arguments are false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js
index 063289207b35f41c9ca4d5fab5e4c6016cfcd6ad..d43e2b48c33f55fd73f36db88d1f98cb769b7eed 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js
  * @description Call indexOf(searchString, position) function with object arguments
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js
index 334308e5828f2a5786a55d8d33d6811c31b99df4..f952ceb2329ea5d55c9060f310c569cbebd6d56b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js
  * @description Instance is Date(0) object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js
index 11607c2fa6c2801229fc7662cfd99d9c078f7125..f6bbcde90986dfdab2ee71803cc8fced20bf0881 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js
  * @description Argument is string, and instance is array of strings
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js
index 8f45d2432cafb59a3306c7295270a4d8612b9e5b..0e4fc8da51a9d3f3ace3e9649011a6825b424bc4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js
  * @description Arguments are boolean equation, function and null, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js
index 6d7fd77b76ec4c01264ed618e264c5abd422102c..1339dda270dd3a9a0541f502a1cc2e042aeb8346 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js
  * @description Call indexOf(searchString, position) function without arguments of string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js
index b12e32cf86fdeefa14681cf6b3126fe882fb75d4..b397ff38583ebc64f3d4ab9af924adb11dd28ad3 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js
  * @description Call indexOf(searchString, position) function with null argument of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js
index 2acf6b2e339b5e5401ca1598cde0fc7159447cc9..97c926bba654654ecf9bda5ba52fa4c14f0ff0ec 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js
  * @description Call indexOf(searchString, position) function with x argument of new String object, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js
index 193216b82430074e02dfda859f0dd836e4aee042..4b18ea23f19a0801837223ebf2e59053b380303b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js
  * @description Call indexOf(searchString, position) function with undefined argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js
index a7e7ee3bf2d922c06a42eff61822d096e36dc0b8..14219aa0d6af3e17f53aa222cae91bb008c38c53 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js
  * @description Call indexOf(searchString, position) function with void 0 argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js
index 3f6983a36d7b4dcb8835f411af7ac12e013d1a99..c13d6c4dee602269afb05f7d8da884e0c3e3b1d0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js
  * @description Call indexOf(searchString, position) function with function(){}() argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js
index d7badccf25f6bfa64134829520bec59e07a110d7..e7f880dd75bedfa7eb9e7354c9db023dadb70e35 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * When length of searchString less than length of ToString(this) -1 returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A2_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js
  * @description Call "abcd".indexOf("abcdab") and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js
index 4ec8250476996ea466514105601b0b045a74ebb5..65087c437a7d242d6f5047af06d5a1fc5d9e55ec 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * When length of searchString less than length of ToString(this) -1 returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A2_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js
  * @description Call "abcd".indexOf("abcdab",0) and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js
index dcf1b4e7cdcad8ef504e4a5f126bc2fe5a7268d6..8420f3402cac359cc67bccd3345b645251c664b9 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js
@@ -4,7 +4,7 @@
 /**
  * When length of searchString less than length of ToString(this) -1 returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A2_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js
  * @description Call "abcd".indexOf("abcdab",99) and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js
index 0541162f36ab8b159877365d2633020c685345d3..28c766db793e5271f6fc1dc628b1c6cff1da70ab 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js
@@ -4,7 +4,7 @@
 /**
  * When length of searchString less than length of ToString(this) -1 returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A2_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js
  * @description Call "abcd".indexOf("abcdab",NaN) and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js
index e84cd9e8b991708a800223a08e470f9673b022f7..5264ebdc0106f5840bb4cb68400de6186188d40d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A3_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js
  * @description Call "$$abcdabcd".indexOf("ab",NaN) and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js
index 4738dc353fdea90390a1299a1a3fb902b4b41cf3..4820875d3db8bce0b48a7b9d55eba0c54d9d8ae4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A3_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js
  * @description Call "$$abcdabcd".indexOf("ab",eval("\"-99\"")) and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js
index 179e51d062f1aa089dfd92a54f393409ed19ce4c..bccc2e6b3023b2a8b10e975f51065356cdd52204 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A3_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js
  * @description Call "$$abcdabcd".indexOf("ab",function(){return -Infinity;}()) and check result
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js
index 50308c062ca0ce2244861eaf5a5f84817fb87b32..d47dfdf7da7df2bcf8d07d4cf0f97281786ee146 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js
@@ -5,7 +5,7 @@
  * when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A4_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js
  * @description Override toString and valueOf functions, valueOf throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js
index dbe04464e9408cc924f636efb6191dc312a2ecd7..0960e05f389600d2af89ab9cc19c56e6af9040e6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js
@@ -5,7 +5,7 @@
  * when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A4_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js
  * @description Override toString and valueOf functions, second toString throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js
index adbb865df797dc698a665e40a588070e76d908f6..978293a6f2079743d2bd39c2650c746561cea503 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js
@@ -5,7 +5,7 @@
  * when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A4_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js
  * @description Override toString and valueOf functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js
index 9ee2091a2e1cadb0d379e28f86fd8cdbf0489478..3783f73c6b424cac9c3c22af13a6ff0d24bb8d8d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js
@@ -5,7 +5,7 @@
  * when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A4_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js
  * @description Override toString and valueOf functions, and they throw exceptions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js
index 4f7d6abe1a4b6738eb2aecf73a5faadba7c11e1a..1bd6fcb86c00db1721dd4fa0ffe6de96bd74d676 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js
@@ -5,7 +5,7 @@
  * when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A4_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js
  * @description Override toString and valueOf functions, first and second valueOf throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js
index 63721463d5904ab30c2821bac6d8a58df6bca835..a71670742be313d788949def4b6200a4ff40105f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf works properly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A5_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js
  * @description Search one symbol from begin of string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js
index d7a097f549ca602f98ca3837c1ad88c127f34107..bb51702152562d848d8628bc4150a410cb16bfc6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf works properly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A5_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js
  * @description Search one symbol from it`s position in the string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js
index 12832c45476477f5aa5a148fd8032b85898e8ae3..63ac59304301d3a8d424fc9345fec9e10df49abb 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf works properly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A5_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js
  * @description Search one symbol from it`s position+1 in the string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js
index 27d25169d10716e175359d02d0f07231f6d86c70..acb405bd56aed4bfb2492763b08315b6a27c55a4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf works properly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A5_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js
  * @description Search substring from begin of string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js
index c7a698110f64c2d55cce710ce5db43451496aa6c..4882bd16c91d977e62e0924a45e5d409f8ff7f38 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf works properly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A5_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js
  * @description Search substring from it`s position in the string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js
index 28438c148d1badc5e2d0e67301f1f3aa9b6f79f5..46ee650e83a17db45ff7be8ceb1b01f9f7cdaaf2 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf works properly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A5_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js
  * @description Search substring from it`s position+1 in the string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js
index 1f2761456e7757ecd9a14b70039bdf9854923f57..b7b2773feefcaf32d4bd318286829acdc0911829 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js
  * @description Checking String.prototype.indexOf.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js
index 6e97dc726510d3fdf6f8c7069d7e4fd244b40462..e9fda93c994132e436b3fb7de1c8ed69286d1d0f 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.indexOf can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js
  * @description Checking if creating the String.prototype.indexOf object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js
index 687dcc9df0b803f567f52b45c1ddfd96948509e0..99a509ed3b0bbc3d65f9e3f6f5d987d7b80f3f27 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.indexOf.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js
  * @description Checking if enumerating the String.prototype.indexOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js
index 229e5f84e5f8a24aeb76ad7b3d543d6ec87b7820..61f6913449a0871039b66aa39c203630a4310673 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.indexOf.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js
  * @description Checking if deleting the String.prototype.indexOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js
index a3670865758a89092928b52c9158aaadcb873865..8d512c175b850fd8de28a55bd7a6a4155d223576 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.lastIndexOf.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js
  * @description Checking if varying the String.prototype.lastIndexOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js
index 380bc2d198fe0375ce29f7f14e7e2f8e1c8fa74c..63bbf17287148e3734c7b59ee5c25942356980cb 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the lastIndexOf method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js
  * @description Checking String.prototype.lastIndexOf.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js
index 0348f2aeef5f8a7a1a9788ba6d7ae7825177ffac..490bbeedbdba7f17d6f6abcd23701045e99b2eb5 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js
  * @description Arguments are false and true, and instance is object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js
index a0525db965b0d7b9cbedd0157d5efbf518b7a772..54ce2d778c17fa63b4b525a4f7c456a99bbe2704 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T10.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js
  * @description Call lastIndexOf(searchString, position) function with object arguments
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T11.js
index f7ec9dcf7f24ce26ccd26e395c13a7831355273f..59034ff8ad506c6c8317fdf8a2782bb78e74cd7d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T11.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T11.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T11.js
  * @description Instance is Date(0) object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js
index a6dd1d2498be81becabaa18db6dbe3199480afd5..5b7750d7128843b91b9126f941b457f3a19acfe0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T12.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js
  * @description Argument is string, and instance is array of strings
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js
index 4c0c9867a927ccb8554b5bd2cd86988b57bf6710..bda402f77dc69f259bfc078415e360d843935378 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js
  * @description Arguments are boolean equation, function and null, and instance is Boolean object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js
index 56f7aa62a0c2a15ae76c92712f9675fcad988e7b..954db0d241c8cf51522ff7ad3d5a37f4485cb09a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js
  * @description Call lastIndexOf(searchString, position) function without arguments of string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js
index 9a32895f66c1acd8910df41e5f2035c22164c52c..5cfab859ca462b104e0ed3db5e970e740482221c 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js
  * @description Call lastIndexOf(searchString, position) function with null argument of function object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js
index c7388be4bcc9ac25d7342bfe664639412305e5bf..43b0243f499c90c605127eeacd32b164fbab7b78 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T6.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js
  * @description Call lastIndexOf(searchString, position) function with x argument of new String object, where x is undefined variable
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js
index e15fe3e319689320e800f217b142d49cb436a2f7..5699bdfdbb77414acb95028731797681989a441b 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T7.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js
  * @description Call lastIndexOf(searchString, position) function with undefined argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js
index 94588e4f55120a5703084ed4a3e6ddc9130d5804..a13e7c4616e7caed3cdf561e157cb7c9688e02dd 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T8.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js
  * @description Call lastIndexOf(searchString, position) function with void 0 argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js
index fb3b5c54ad4166811f0fdf7a3f86a033755dca65..2d971ac682fa5f9385544a097dc5a35db9b24e50 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf(searchString, position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T9.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js
  * @description Call lastIndexOf(searchString, position) function with function(){}() argument of string object
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js
index b76b26ef461d42b7cf82550cc10a7922c734105a..54a783ac0ae8e8fc89d660e9a38a7d871cb7ba09 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js
@@ -5,7 +5,7 @@
  * when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A4_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js
  * @description Override toString and valueOf functions, valueOf throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js
index 9703ce3c4407e2b0b341e71b64d2340bb22d7b00..6c50f3b7395991decffd3f30df10031851bb5bdc 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js
@@ -5,7 +5,7 @@
  * when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A4_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js
  * @description Override toString and valueOf functions, second toString throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js
index 81d08fac1844f95cc988b715766cddd51698af4e..59d0efe87a268f25191adfa4c2a05b4460471134 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js
@@ -5,7 +5,7 @@
  * when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A4_T3.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js
  * @description Override toString and valueOf functions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js
index 8e2b56810b1da7ea1766aa55f4f4a80a398c961a..83d2414b0c170f392816bb7a7ecd3b8e8e82d4d4 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js
@@ -5,7 +5,7 @@
  * when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A4_T4.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js
  * @description Override toString and valueOf functions, and they throw exceptions
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js
index ca841a3b14ac75bd157215d82ad8321ede0996f3..cf34fa1dc2c6b51de1a0ff62970783a6ad49d996 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js
@@ -5,7 +5,7 @@
  * when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.
  * Then Call ToString(searchString) and Call ToNumber(position)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A4_T5.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js
  * @description Override toString and valueOf functions, first and second valueOf throw exception
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js
index de801d78e3e045e32afe9a5930f0e4ccc0003d10..ce738c7254d123a743d53051a7336d0094218b53 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js
  * @description Checking String.prototype.lastIndexOf.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js
index d0b997c0bddcd0dd29d046907f5dd61cefea08b4..3f83ddd9a55048142db89d7768276c198522421d 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.lastIndexOf can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js
  * @description Checking if creating the String.prototype.lastIndexOf object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js
index bffa030e3a0999818417a6ef0ecf7d406c4303c5..13020652031bb9526313b216281ae2dfb9fc37fa 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.lastIndexOf.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js
  * @description Checking if enumerating the String.prototype.lastIndexOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js
index b13b182f0c2b28117d7435c295eea5c5ead52d80..de01ba9f72aab57642bedf770652402a325a7d1a 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.lastIndexOf.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js
  * @description Checking if deleting the String.prototype.lastIndexOf.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js
index 6cf45f7c5a82651a5585adff72585dd511d5ed17..e2ced33f666b2070d5f85a664b758971779c7b95 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.localeCompare.length property has the attribute ReadOnly
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A10.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js
  * @description Checking if varying the String.prototype.localeCompare.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js
index 6ba603e04263659c5c9fdc62f829e2a72608c827..7af91d484f23688d5ce85db3fd6577e7062104f0 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the localeCompare method is 1
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A11.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js
  * @description Checking String.prototype.localeCompare.length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js
index 732510ade1133c012033c423b847969aaf516291..5bab3d3183d979e2a7464a672d7224b745c650df 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.localeCompare(that)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A1_T1.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js
  * @description This string is symbol and arguments are symbols
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js
index 714eab36f9da2f9ca170fee07f54a9c8abb89a1b..1b4c561b190c2a8ccbf69d9e28e0da8fe93308c6 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.localeCompare(that)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A1_T2.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js
  * @description Call string_1.localeCompare(string_2) is equal -string_2.localeCompare(string_1)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js
index 29d243be0f99671e11c9fb1353051ef88f25b6c2..fb01cb1218204c55e48b57c0ce49635791a87113 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.localeCompare has not prototype property
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A6.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js
  * @description Checking String.prototype.localeCompare.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js
index 68c3b924281ed19854812ee82a51accf869ae990..349c8b655b818079a4e1595b6dfd0ac8e69dcdb8 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.localeCompare can't be used as constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A7.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js
  * @description Checking if creating the String.prototype.localeCompare object fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js
index 64b73c13fea70bddceea17b6b7688d311d0a8fc9..4d25c0a1c029524506e1cf90dff1686d3cbb4e55 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.localeCompare.length property has the attribute DontEnum
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A8.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js
  * @description Checking if enumerating the String.prototype.localeCompare.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js
index 4e7fe8d4e6a7bf8f3b36cb9ecefe737cde0f1a44..41f76f7ab0a82b8097ffac91399aebefc1d16649 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js
@@ -4,7 +4,7 @@
 /**
  * The String.prototype.localeCompare.length property has the attribute DontDelete
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A9.js
+ * @path ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js
  * @description Checking if deleting the String.prototype.localeCompare.length property fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js
index 115f44fe2f3ba0b69f1e8d00640293b1ac35e5b8..5a7b583ab390b7c901b5a8f272a92fda79804720 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of String.prototype.constructor is the built-in String constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.1_A1_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js
  * @description Checking String.prototype.constructor
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js
index bf35bc50d9c8e779e30fbf2eb414557594c13fcf..c4e2b175cf4a8ecd1467c4029478c0edf1242503 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The initial value of String.prototype.constructor is the built-in String constructor
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.1_A1_T2.js
+ * @path ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js
  * @description Create new String.prototype.constructor object and check it
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js
index 69bc001d8f4ebc2b8e49bfd8a26d5f49fb813b46..66934a4acd273b86600ede1ce5e3e9659f96ac27 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toString() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A1_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js
  * @description Create new String(number) and check it`s method toString()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js
index 622c81ccf38fd694f89f6f07f3f922871a0d3826..b8c88ac62bb5129a6dcb25be75c21eca9e8e6668 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toString() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A1_T2.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js
  * @description Create new String(boolean) and check it`s method toString()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js
index 02cadeea806f357c86a1154b5f53009520ee33da..0099e68c7481dd2d2318d3ac4e72575924963aa7 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toString() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A1_T3.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js
  * @description Create new String(string) and check it`s method toString()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js
index 1529f1550483ef91d52776705a10fec0d4faaea0..ce76b13ece7bda4f3cd9bd72666f7fb7109f212d 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toString() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A1_T4.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js
  * @description Create new String(function(){}()) and check it`s method toString()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js
index b8a38694cbbcf4ac6b14e674ba8c98e638c12d54..07385a3ec7f44d4e75419cd0414539a9349f9fb1 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A2_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js
  * @description Checking if creating variable String.prototype.toString fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js
index 8527c18f734789cf8ce90463e43f9e89f735606d..fee77c5f2c896a6482de3f39415d5df134e8d1b4 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A2_T2.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js
  * @description Checking if creating the object String.prototype.toString fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js
index 1c8bb9caf68d5c8f6946999be1a0dcc2b712dd98..5d95ca6cba5ec75b7e1bbd74896186f830b36ca5 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toString() is equal String.prototype.valueOf()
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A3_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js
  * @description Create new String() with various arguments and compare returned results of toString() and valueOf()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js
index d1250376c3cd6d6e461597e688be65d75e43fcce..6a0ca09ad87ad7aaa5999428152164c222570bd9 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.toString have length property and it is equal 0
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.2_A4_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js
  * @description Checking String.prototype.toString.length property
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js
index 0294489a48d5d50808676fa7cf9fb222e46b3067..94c2e9738a671129052f23cff3d289440b54956c 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.valueOf() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.3_A1_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js
  * @description Create String object as new String(1) and check it`s valueOf()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js
index fed4046a8d1d31fac547a80b20685765538d944b..8ce7a26ce961cf656dcb15a065c59250bf16b91c 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.valueOf() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.3_A1_T2.js
+ * @path ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js
  * @description Create String object as new String(true) and check it`s valueOf()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js
index c05b2adde1bd57c361e485a59322c41467ecf1b4..974ee4347259022df82b932e930cea839b948322 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.valueOf() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.3_A1_T3.js
+ * @path ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js
  * @description Create String object as new String(string) and check it`s valueOf()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js
index be9060ea5fce00aad9c0b94d50dcfd3e85402b99..ec4b40103345c862d8f9f3b6784dce76da2e6f74 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js
@@ -4,7 +4,7 @@
 /**
  * String.prototype.valueOf() returns this string value
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.3_A1_T4.js
+ * @path ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js
  * @description Create String object as new String(function(){}()) and check it`s valueOf()
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js
index a90baa89d6b586302dd0f815e9c51a1f65017e13..daefea4847ff87db557dc170e0b146235794c99d 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js
@@ -5,7 +5,7 @@
  * The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.
  * Therefore, it cannot be transferred to other kinds of objects for use as a method
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.3_A2_T1.js
+ * @path ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js
  * @description Checking if creating variable String.prototype.valueOf fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js
index ce5b167fc287e910bee73ec67d1bd7969ed2f996..e411d04a78512d9b4cefccda1571cc094d48399c 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js
@@ -5,7 +5,7 @@
  * The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.
  * Therefore, it cannot be transferred to other kinds of objects for use as a method
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4.3_A2_T2.js
+ * @path ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js
  * @description Checking if creating the object String.prototype.valueOf fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4_A1.js b/test/suite/ch15/15.5/15.5.4/S15.5.4_A1.js
index 80b2ea5254eff4f3078a7df25d25eafa8cb262cb..a7a22899e5954d36a7a165074907a2c8d9376835 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4_A1.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * The String prototype object is itself a String object (its [[Class]] is "String")
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4_A1.js
+ * @path ch15/15.5/15.5.4/S15.5.4_A1.js
  * @description first we delete String.prototype.toString cause it overrides Object prototype toString.
  * Object.prototype.toString returns [object+[[class]]+]
  */
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4_A2.js b/test/suite/ch15/15.5/15.5.4/S15.5.4_A2.js
index 500f28eed5702432c8347301b316f1076ca32ca5..06ec5145995fdac09bdaa2c79da2f3fd60c2ce4e 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4_A2.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * The String prototype object is itself a String object whose value is an empty string
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4_A2.js
+ * @path ch15/15.5/15.5.4/S15.5.4_A2.js
  * @description Checking String.prototype
  */
 
diff --git a/test/suite/ch15/15.5/15.5.4/S15.5.4_A3.js b/test/suite/ch15/15.5/15.5.4/S15.5.4_A3.js
index f20b6716e3550be2f3089852401875f0faff6ade..1f8df3820f2d1467ea63ce815f06857a857d2d46 100644
--- a/test/suite/ch15/15.5/15.5.4/S15.5.4_A3.js
+++ b/test/suite/ch15/15.5/15.5.4/S15.5.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * The value of the internal [[Prototype]] property of the String prototype object is the Object prototype object (15.2.3.1)
  *
- * @path 15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/S15.5.4_A3.js
+ * @path ch15/15.5/15.5.4/S15.5.4_A3.js
  * @description Checking Object.prototype.isPrototypeOf(String.prototype)
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A1.js b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A1.js
index d8f2e8df8038970676233a98f60e13a0ecc1dc6a..90cf55b6f306c5437cb411afb1f68c2f779c252b 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A1.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * length property contains the number of characters in the String value represented by this String object
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5.1_A1.js
+ * @path ch15/15.5/15.5.5/S15.5.5.1_A1.js
  * @description Create strings and check its length
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A2.js b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A2.js
index 8dcb7a0f9b4183cd2a674fd8b4b5411403516190..3de19c4753b1b4f1a59e0fa82addd28eb979a6f0 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A2.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * length property has the attributes {DontEnum}
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5.1_A2.js
+ * @path ch15/15.5/15.5.5/S15.5.5.1_A2.js
  * @description Checking if enumerating the length property of String fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A3.js b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A3.js
index cb91a362258dd1c48d437c9bc877af8febe0731b..79daa3c66e50e1992973a0850e439d8bd07b59f5 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A3.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * length property has the attributes {DontDelete}
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5.1_A3.js
+ * @path ch15/15.5/15.5.5/S15.5.5.1_A3.js
  * @description Checking if deleting the length property of String fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A4.js b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A4.js
index 7a0a5cc6df499667b346c1df1928c0271e6c8429..ccc5253ad7b27a35372bfc193ee834cbe5fda5a4 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A4.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * length property has the attributes {ReadOnly}
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5.1_A4.js
+ * @path ch15/15.5/15.5.5/S15.5.5.1_A4.js
  * @description Checking if varying the length property of String fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A5.js b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A5.js
index dfc63287cbc98ec827ac24d60fdb64cbc6b383a9..d5cc38bd9c1ef6cb99a20cb70c8b07ea23550387 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A5.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5.1_A5.js
@@ -4,7 +4,7 @@
 /**
  * Once a String object is created, the length property is unchanging
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5.1_A5.js
+ * @path ch15/15.5/15.5.5/S15.5.5.1_A5.js
  * @description Change valueOf and toString of String object and check length property
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T1.js b/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T1.js
index a1f4be0088df9f324e67b436a4eadcabac0a30d0..33aaacb49f9f1f60bb9aeddf2bb39c1df7c58d65 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T1.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * String instance has not [[call]] property
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5_A1_T1.js
+ * @path ch15/15.5/15.5.5/S15.5.5_A1_T1.js
  * @description Create new String and try call it
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T2.js b/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T2.js
index d8e23518521be2b337b9d0e7897b558d11aa5757..6396fadb8eaaf6a244d73d619578590e40f38a96 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T2.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * String instance has not [[call]] property
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5_A1_T2.js
+ * @path ch15/15.5/15.5.5/S15.5.5_A1_T2.js
  * @description Checking if creating new "String("a|b")()" fails
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T1.js b/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T1.js
index 8c3018cc3f307dc3937ce9bb729bf8c291416568..dea7b8d37f1d92a6c591e99e2e5f019a9f369782 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T1.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * String instance has not [[construct]] property
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5_A2_T1.js
+ * @path ch15/15.5/15.5.5/S15.5.5_A2_T1.js
  * @description Create new string object and try new created_string
  */
 
diff --git a/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T2.js b/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T2.js
index 2f964901296b98ebab56788f8744e6c1875aab45..fb2595662c736c93631c2df9817fe2bae91b27cb 100644
--- a/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T2.js
+++ b/test/suite/ch15/15.5/15.5.5/S15.5.5_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * String instance has not [[construct]] property
  *
- * @path 15_Native/15.5_String_Objects/15.5.5_Properties_of_String_Instances/S15.5.5_A2_T2.js
+ * @path ch15/15.5/15.5.5/S15.5.5_A2_T2.js
  * @description Checking if creating "new String" fails
  */
 
diff --git a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js
index 35241c3f1ac8982aa7e409be52d891ff1a8f1e0b..6dae5ce9dd36a4f420c195574fbdc9d42c307163 100644
--- a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js
+++ b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js
@@ -5,7 +5,7 @@
  * Returns a boolean value (not a Boolean object) computed by
  * ToBoolean(value)
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T1.js
+ * @path ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js
  * @description Used values 1, new String("1"), new Object(1) and called without argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js
index e71b3f0bfb11310c7b8a3909e20ec5979c117cac..21593718ccaf35e9fb0432e261581f82fb92acd3 100644
--- a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js
+++ b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js
@@ -5,7 +5,7 @@
  * Returns a boolean value (not a Boolean object) computed by
  * ToBoolean(value)
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T2.js
+ * @path ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js
  * @description Used various number values as argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js
index d73cb56eda7c59ef4c00890d068e4c2cd907cdfb..2e943849efe3bf186bd0a2b1139e545b2a5e040a 100644
--- a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js
+++ b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js
@@ -5,7 +5,7 @@
  * Returns a boolean value (not a Boolean object) computed by
  * ToBoolean(value)
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T3.js
+ * @path ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js
  * @description Used various string values as argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js
index a550c535a1dbfb8b8b3f1869a589389f22dc2992..bef38a5cb57ffecb5815e1226106e2fcff09329e 100644
--- a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js
+++ b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js
@@ -5,7 +5,7 @@
  * Returns a boolean value (not a Boolean object) computed by
  * ToBoolean(value)
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T4.js
+ * @path ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js
  * @description Used various undefined values and null as argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js
index 35a84603cbae0935a165ae9aa9658a09ba3f8e46..015ef1f72ae6ed566ffe1663de329fe886360853 100644
--- a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js
+++ b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js
@@ -5,7 +5,7 @@
  * Returns a boolean value (not a Boolean object) computed by
  * ToBoolean(value)
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T5.js
+ * @path ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js
  * @description Used various assigning values to any variable as argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A2.js b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A2.js
index d096fefb1ead5e5082171a34fa7ec1c00fd1eedc..b27d14f4b73b55aaf35993fda66d97ca8e46380a 100644
--- a/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A2.js
+++ b/test/suite/ch15/15.6/15.6.1/S15.6.1.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * Boolean() returns false
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A2.js
+ * @path ch15/15.6/15.6.1/S15.6.1.1_A2.js
  * @description Call Boolean() and check result
  */
 
diff --git a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A1.js b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A1.js
index 5700382774cbc3ab0d913c28387b80f495d58aa5..e7dc655bf106b6dff5ec4c07ac1394a5e0462e9d 100644
--- a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A1.js
+++ b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A1.js
@@ -5,7 +5,7 @@
  * When Boolean is called as part of a new expression it is
  * a constructor: it initialises the newly created object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A1.js
+ * @path ch15/15.6/15.6.2/S15.6.2.1_A1.js
  * @description Checking type of the newly created object and it value
  */
 
diff --git a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A2.js b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A2.js
index dc26169385f12ed7d0726d7b99b148687ec9e9e0..1d5c38097c5cc7f03e4b8de2bdff694d85958d19 100644
--- a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A2.js
+++ b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A2.js
@@ -6,7 +6,7 @@
  * is set to the original Boolean prototype object, the one that is the
  * initial value of Boolean.prototype
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A2.js
+ * @path ch15/15.6/15.6.2/S15.6.2.1_A2.js
  * @description Checking prototype property of the newly created object
  */
 
diff --git a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A3.js b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A3.js
index a2196fcb41247663f94a1cf1f9af5d974b4ba855..0f34d486d3f382ac9f8d3e38eaac1c3513760a82 100644
--- a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A3.js
+++ b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A3.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * is set to ToBoolean(value)
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A3.js
+ * @path ch15/15.6/15.6.2/S15.6.2.1_A3.js
  * @description Checking value of the newly created object
  */
 
diff --git a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A4.js b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A4.js
index e60625d3fc6567d1300966f9996a0979b1025837..34f32b9eba0ebf85a883225ade961e69e65e551b 100644
--- a/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A4.js
+++ b/test/suite/ch15/15.6/15.6.2/S15.6.2.1_A4.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Boolean"
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A4.js
+ * @path ch15/15.6/15.6.2/S15.6.2.1_A4.js
  * @description For testing toString function is used
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js
index 6cb93d219791294d2136ba0cb7710266f4b37477..dc02388d8bdd01af8891e7fafc516039df72aa68 100644
--- a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js
+++ b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js
@@ -5,7 +5,7 @@
  * The initial value of Boolean.prototype is the Boolean
  * prototype object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A1.js
+ * @path ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js
  * @description Checking Boolean.prototype property
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js
index 685205709ef738ed6627afb6d9419ac1db65b82e..5a18d22accc31a162d0b8517188b205a0994c48b 100644
--- a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js
+++ b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * Boolean.prototype has the attribute ReadOnly
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A2.js
+ * @path ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js
  * @description Checking if varying the Boolean.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js
index 1a944708c8e814f0980c21d2b26ccbfcbfb7d136..7b9c126697a4e93aa9c4942b611badfec4b3c634 100644
--- a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js
+++ b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * Boolean.prototype has the attribute DontDelete
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A3.js
+ * @path ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js
  * @description Checking if deleting the Boolean.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js
index a82ae1338f58077feeeab391f5fcfa47720c7ad6..e4d13be3db1dbcadb6ecb8b2e91e4821ea4b3658 100644
--- a/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js
+++ b/test/suite/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * Boolean.prototype has the attribute DontEnum
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A4.js
+ * @path ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js
  * @description Checking if enumerating the Boolean.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/S15.6.3_A1.js b/test/suite/ch15/15.6/15.6.3/S15.6.3_A1.js
index 7d7bf67be83d7a803af7fc3ec07bf1d1661a0dcf..9ec6428d8d4fb1e131b0a4e700bda7ca5e57bda0 100644
--- a/test/suite/ch15/15.6/15.6.3/S15.6.3_A1.js
+++ b/test/suite/ch15/15.6/15.6.3/S15.6.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Boolean constructor has the property "prototype"
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A1.js
+ * @path ch15/15.6/15.6.3/S15.6.3_A1.js
  * @description Checking existence of the property "prototype"
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/S15.6.3_A2.js b/test/suite/ch15/15.6/15.6.3/S15.6.3_A2.js
index 75ab1e8563ea444ccbfad49cf6a77a3348633dfa..edf988cd86874a17431c00346e729bd38b1aafac 100644
--- a/test/suite/ch15/15.6/15.6.3/S15.6.3_A2.js
+++ b/test/suite/ch15/15.6/15.6.3/S15.6.3_A2.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Boolean
  * constructor is the Function prototype object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A2.js
+ * @path ch15/15.6/15.6.3/S15.6.3_A2.js
  * @description Checking prototype of the Boolean constructor
  */
 
diff --git a/test/suite/ch15/15.6/15.6.3/S15.6.3_A3.js b/test/suite/ch15/15.6/15.6.3/S15.6.3_A3.js
index dce0779d68cd810dc2b16c74ca440ece89ab21fc..7f926f384b09f8f14e2836648a750731a90f9dc8 100644
--- a/test/suite/ch15/15.6/15.6.3/S15.6.3_A3.js
+++ b/test/suite/ch15/15.6/15.6.3/S15.6.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * Boolean constructor has length property whose value is 1
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A3.js
+ * @path ch15/15.6/15.6.3/S15.6.3_A3.js
  * @description Checking Boolean.length property
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.1_A1.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.1_A1.js
index fb4b7a6ae7502e51215b036f81ef2e38c1323aec..8b8615920884f760f94c19755c186007acdfb78a 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.1_A1.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.1_A1.js
@@ -5,7 +5,7 @@
  * The initial value of Boolean.prototype.constructor is the
  * built-in Boolean constructor
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.1_A1.js
+ * @path ch15/15.6/15.6.4/S15.6.4.1_A1.js
  * @description Compare Boolean.prototype.constructor with Boolean
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js
index ff2456374c1db9d63ab8f41eb308d98941b62596..f21a1c484a2d68d7c1091e450f0ca1fa69ed8c14 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js
@@ -6,7 +6,7 @@
  * is returned, otherwise, this boolean value must be false, and the string
  * "false" is returned
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T1.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js
  * @description no arguments
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js
index a772fd62f743768f403afc6a9a7c725e10f533a7..8f172dfc554ee0e34f61c9df155e40638c2f80b6 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js
@@ -6,7 +6,7 @@
  * is returned, otherwise, this boolean value must be false, and the string
  * "false" is returned
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T2.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js
  * @description with some argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js
index 7ec41fee6722a786d4a13905585c0f18fc00ce2e..120544dac980e329e99d179b6ff84f511c3f6fa3 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T1.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js
  * @description transferring to the String objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js
index eccc1a1dada2ae3eae3ff7d67948c49bde827a47..c19ed8b0542cb76ec2bf084140d66e19d415796a 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T2.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js
  * @description transferring to the Number objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js
index 82da7bb5aedaedf541ba385e160df0a4a0c36c49..ea99aa276a33458da844c2b33d2ae65a4a111e35 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T3.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js
  * @description transferring to the Date objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js
index 769c217eeb7c9c425c6e82521edd0bb003221a47..f79b981eaf9a173e72ecf7456e53e55da167d460 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T4.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js
  * @description transferring to the Object objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js
index 25d5b51cece4781948aef4cea96786d98b59e467..877b5847b04eb21be1abb61c8cad2cfb37458497 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T5.js
+ * @path ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js
  * @description transferring to the other objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js
index 2e433cd85c3b8aa6b8bfc2612689b948a3f86d23..64d80c1692e14c26ae866a040b07f57945b68d34 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * Boolean.prototype.valueOf() returns this boolean value
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T1.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js
  * @description no arguments
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js
index a1ed12ca206b66d98f32e15989994305aa66ceff..1277467b8e97b31bae9cd4ca6f6b31e94719135c 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * Boolean.prototype.valueOf() returns this boolean value
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T2.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js
  * @description calling with argument
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js
index 222b091a8bd2b21c2e35b76e8df68a4578276e37..962b420bb6b21ceb52be6caad9a4f8f321d1da31 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T1.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js
  * @description transferring to the String objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js
index c347bbd581c4e88d78ea1a40a890c48d55c2446a..34b102599432f4d2323cbb62c03b5bdab90a6417 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T2.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js
  * @description transferring to the Number objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js
index 21df303626c8a8e9ca93eccbc36f8e5f16e3eb67..44579bdcc4cca5003b8c3158c558795e10a2a598 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T3.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js
  * @description transferring to the Date objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js
index 6ec2d30ee5ae04635a6aaec1e8679108bbfdd5f3..535287f93cf8a0ea5b479fedbbe1fee76fbdf132 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T4.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js
  * @description transferring to the Object objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js
index b65f7b286ea3e7b126390bbeda65a471923c3608..ef3c07c39d6ecbc752bc491ffbe9832fef1f6579 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Boolean object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T5.js
+ * @path ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js
  * @description transferring to the other objects
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4_A1.js b/test/suite/ch15/15.6/15.6.4/S15.6.4_A1.js
index bc3fc425973cfa79a07adf2e83ad5030f03aee28..eb030d87696d6c877dfbfedce5c88829948510bf 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4_A1.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4_A1.js
@@ -5,7 +5,7 @@
  * The Boolean prototype object is itself a Boolean object
  * (its [[Class]] is "Boolean") whose value is false
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A1.js
+ * @path ch15/15.6/15.6.4/S15.6.4_A1.js
  * @description Checking type and value of Boolean.prototype
  */
 
diff --git a/test/suite/ch15/15.6/15.6.4/S15.6.4_A2.js b/test/suite/ch15/15.6/15.6.4/S15.6.4_A2.js
index ac1681df7c0c9c3e856b26c8df5e3249be548edc..d7c8c429f33251e9b2de6ed2154c63818c5029f4 100644
--- a/test/suite/ch15/15.6/15.6.4/S15.6.4_A2.js
+++ b/test/suite/ch15/15.6/15.6.4/S15.6.4_A2.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Boolean
  * prototype object is the Object prototype object
  *
- * @path 15_Native/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A2.js
+ * @path ch15/15.6/15.6.4/S15.6.4_A2.js
  * @description Checking Object.prototype.isPrototypeOf(Boolean.prototype)
  */
 
diff --git a/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A1.js b/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A1.js
index 361d08e8e294129be3f9c7f8fe4dda5751d3327a..01658e53f2e44a4940b27bf212ec897466cfa549 100644
--- a/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A1.js
+++ b/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * Number([value]) returns a number value (not a Number object) computed by ToNumber(value) if value was supplied
  *
- * @path 15_Native/15.7_Number_Objects/15.7.1_The_Number_Constructor_Called_as_a_Function/S15.7.1.1_A1.js
+ * @path ch15/15.7/15.7.1/S15.7.1.1_A1.js
  * @description Used values "10", 10, new String("10"), new Object(10) and "abc"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A2.js b/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A2.js
index de070a25f770056838b19d0fa60c52376562b94b..2c0f3e05edc2926eb11c8f8a108207fb28b0b17c 100644
--- a/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A2.js
+++ b/test/suite/ch15/15.7/15.7.1/S15.7.1.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * Number() returns +0
  *
- * @path 15_Native/15.7_Number_Objects/15.7.1_The_Number_Constructor_Called_as_a_Function/S15.7.1.1_A2.js
+ * @path ch15/15.7/15.7.1/S15.7.1.1_A2.js
  * @description Call Number() and check result
  */
 
diff --git a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A1.js b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A1.js
index 711ef3273a87145d6baa08993321e223c5c76a80..fef5538a31433175981ebe1b5e5b2b53ba61ee60 100644
--- a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A1.js
+++ b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A1.js
@@ -5,7 +5,7 @@
  * When Number is called as part of a new expression it is
  * a constructor: it initialises the newly created object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.2_The_Number_Constructor/S15.7.2.1_A1.js
+ * @path ch15/15.7/15.7.2/S15.7.2.1_A1.js
  * @description Checking type of the newly created object and it value
  */
 
diff --git a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A2.js b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A2.js
index e81ebd40daa1d1ce94fbd2fcf60e539973d78cf2..e5c73a3b84469c4de184f30e9240dae860bc149e 100644
--- a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A2.js
+++ b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A2.js
@@ -6,7 +6,7 @@
  * is set to the original Number prototype object, the one that is the
  * initial value of Number.prototype
  *
- * @path 15_Native/15.7_Number_Objects/15.7.2_The_Number_Constructor/S15.7.2.1_A2.js
+ * @path ch15/15.7/15.7.2/S15.7.2.1_A2.js
  * @description Checking prototype property of the newly created objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A3.js b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A3.js
index 74aefbbd2958e0e978531bb5c04e5e17e45448ec..685e88cb54b5697b919ef608e3cb5011a2f93c11 100644
--- a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A3.js
+++ b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A3.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * is set to ToNumber(value) if value was supplied, else to +0
  *
- * @path 15_Native/15.7_Number_Objects/15.7.2_The_Number_Constructor/S15.7.2.1_A3.js
+ * @path ch15/15.7/15.7.2/S15.7.2.1_A3.js
  * @description Checking value of the newly created object
  */
 
diff --git a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A4.js b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A4.js
index 423fa35825efc57ffe1d1efef223f5952b620940..f060047b1c166809db19b3944ad85ea451ebecec 100644
--- a/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A4.js
+++ b/test/suite/ch15/15.7/15.7.2/S15.7.2.1_A4.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Number"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.2_The_Number_Constructor/S15.7.2.1_A4.js
+ * @path ch15/15.7/15.7.2/S15.7.2.1_A4.js
  * @description For testing toString function is used
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js
index e627051b03c9dc6d4e95bf6f6465403644eb8758..a33041998f36c4e6eca304a58f0d0bfdd5f82515 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Number property "prototype" has { DontEnum, DontDelete, ReadOnly } attributes
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.1_Number.prototype/S15.7.3.1_A1_T1.js
+ * @path ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js
  * @description Checking if varying the Number.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js
index 95e6fafe2beeafb16faed6e61a7ee834237a1a74..2916cbe49ddb09cb4f932386bb51d7b4d56b7836 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Number property "prototype" has { DontEnum, DontDelete, ReadOnly } attributes
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.1_Number.prototype/S15.7.3.1_A1_T2.js
+ * @path ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js
  * @description Checking if deleting the Number.prototype property fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js
index 8e36b06fbf797c9ccdad652ec59f1ea0c1b45441..3246804d7f00569f0c94860326bcd95ffefd1d23 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Number property "prototype" has { DontEnum, DontDelete, ReadOnly } attributes
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.1_Number.prototype/S15.7.3.1_A1_T3.js
+ * @path ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js
  * @description Checking if enumerating the Number.prototype property fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js
index 7500388c75f18b04038a7ed9dfb305eb4b846bb4..a2acd1076021e1cc627e4f92abe285e770072a57 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * Number.prototype is itself Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.1_Number.prototype/S15.7.3.1_A2_T1.js
+ * @path ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js
  * @description Checking type of Number.prototype property - test based on
  * deleting Number.prototype.toString
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js
index c43bb42c78f2c2fcb1a2b1763ee128543d3be167..89477243f215c55c01130dc568ef642fbd7fb36d 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js
@@ -4,7 +4,7 @@
 /**
  * Number.prototype is itself Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.1_Number.prototype/S15.7.3.1_A2_T2.js
+ * @path ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js
  * @description Checking type of Number.prototype property - test based on
  * overwriting of Number.prototype.toString
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js
index c888c831323149f221325c5674bfcc51cb796904..8e9d040663a8ac32b5a2b2da83a2f5baef992e49 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * Number.prototype value is +0
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.1_Number.prototype/S15.7.3.1_A3.js
+ * @path ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js
  * @description Checking value of Number.prototype property
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js
index 0c29b89f3e0d1665f63f7a76cafe0dd573b21c50..fe2dbedda14500d19242732afe144a270c69382b 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * Number.MAX_VALUE is approximately 1.7976931348623157e308
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.2_Number.MAX_VALUE/S15.7.3.2_A1.js
+ * @path ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js
  * @description Checking Number.MAX_VALUE value
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js
index 74f6b14ead4b8ad58a26cdea7bf3b8603bcc6dfd..fff38d959e91f73e931c66dfe803b9e19bdbfef2 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * Number.MAX_VALUE is ReadOnly
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.2_Number.MAX_VALUE/S15.7.3.2_A2.js
+ * @path ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js
  * @description Checking if varying Number.MAX_VALUE fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js
index e553f2f3d8447bd8b341a6f65b3d6072cc203df5..8e67d807264e3e8bba2903160e1779dafad0211a 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * Number.MAX_VALUE is DontDelete
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.2_Number.MAX_VALUE/S15.7.3.2_A3.js
+ * @path ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js
  * @description Checking if deleting Number.MAX_VALUE fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js
index 069b710d43cc69498551f3ba4c77af5496d898cc..e821e473b6bd35307a20a57d8e798da93be8c689 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js
@@ -4,7 +4,7 @@
 /**
  * Number.MAX_VALUE has the attribute DontEnum
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.2_Number.MAX_VALUE/S15.7.3.2_A4.js
+ * @path ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js
  * @description Checking if enumerating Number.MAX_VALUE fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js
index bea3d981951cbd25193ad303ad395fc4c8f2ef9d..055986060aaf796fb35e3d7ba68ff9038d36da0c 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * Number.MIN_VALUE is approximately 5e-324
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.3_Number.MIN_VALUE/S15.7.3.3_A1.js
+ * @path ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js
  * @description Checking Number.MIN_VALUE value
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js
index 3552c65d2496d54610012387f8b73bf7c44b908a..52bb7abf5e3a7b9c0613e2b8160dd59bcdc00204 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * Number.MIN_VALUE is ReadOnly
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.3_Number.MIN_VALUE/S15.7.3.3_A2.js
+ * @path ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js
  * @description Checking if varying Number.MIN_VALUE fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js
index a8aa81e1a1002b6ee164117618c347bef3876d8c..71ab7260f86c5d0c442e27fcf76bfbee7fc0dd2c 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * Number.MIN_VALUE is DontDelete
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.3_Number.MIN_VALUE/S15.7.3.3_A3.js
+ * @path ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js
  * @description Checking if deleting Number.MIN_VALUE fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js
index f34979e3b9550abfc026f6913c9d5b53dae70766..9efd91a3a7ebc8fcc447f21c29c4ef956e2cd3a3 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js
@@ -4,7 +4,7 @@
 /**
  * Number.MIN_VALUE has the attribute DontEnum
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.3_Number.MIN_VALUE/S15.7.3.3_A4.js
+ * @path ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js
  * @description Checking if enumerating Number.MIN_VALUE fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js
index cf8c55d1961eb13ae702c437599c108eb9d53eab..57e011335fcc936db1f11b6bb67cda7e404d64a7 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * Number.NaN is Not-a-Number
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.4_Number.NaN/S15.7.3.4_A1.js
+ * @path ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js
  * @description Checking isNaN(Number.NaN)
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js
index 1bcaf24dd56a7adc3244a9a80708262f35d66d28..f682f4822da618e5e1b342ad7b29d67f858e4516 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * Number.NaN is ReadOnly
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.4_Number.NaN/S15.7.3.4_A2.js
+ * @path ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js
  * @description Checking if varying Number.NaN fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js
index 07cdd70d6f2098b2130f570e66a9b99de5b8a5cb..4a6e03dcf8b7ea0f72741f8ec50d9e6a1b9e0e8b 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * Number.NaN is DontDelete
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.4_Number.NaN/S15.7.3.4_A3.js
+ * @path ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js
  * @description Checking if deleting Number.NaN fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js
index f9bcdb57d64a94fb9d21549d93c6be07f9563666..06af8d28a5ab6e0c8cece0b39c3f8c74b4c7bab0 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * Number.NaN has the attribute DontEnum
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.4_Number.NaN/S15.7.3.4_A4.js
+ * @path ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js
  * @description Checking if enumerating Number.NaN fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js
index 871216dff2de36cef6fda72c964fbf6ce0850d87..145e447b97e42dc07704f50d3a1fe92642053acc 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * Number.NEGATIVE_INFINITY is -Infinity
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.5_Number.NEGATIVE_INFINITY/S15.7.3.5_A1.js
+ * @path ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js
  * @description Checking sign and finiteness of Number.NEGATIVE_INFINITY
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js
index 37e70dd1ec06bea71ef7902eb29984fe54b62fc5..78a8102e2bec54e7536eaaa84fb3223c225d0aac 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * Number.NEGATIVE_INFINITY is ReadOnly
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.5_Number.NEGATIVE_INFINITY/S15.7.3.5_A2.js
+ * @path ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js
  * @description Checking if varying Number.NEGATIVE_INFINITY fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js
index 73e7dcbae2648b9f76eb5f5dbdb09aea2225905f..7b1c693531d86ba735be752c8740104b68f3e1bb 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * Number.NEGATIVE_INFINITY is DontDelete
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.5_Number.NEGATIVE_INFINITY/S15.7.3.5_A3.js
+ * @path ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js
  * @description Checking if deleting Number.NEGATIVE_INFINITY fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js
index 53bfd310bec9798de0ac369ed0e48974163169ca..f2620409b172070fa74bb64b7b105d8131f97daa 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js
@@ -4,7 +4,7 @@
 /**
  * Number.NEGATIVE_INFINITY has the attribute DontEnum
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.5_Number.NEGATIVE_INFINITY/S15.7.3.5_A4.js
+ * @path ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js
  * @description Checking if enumerating Number.NEGATIVE_INFINITY fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js
index e3af4e2773332cba993b85b24a054afe07e8200f..2e925aba2cef08c1595d6dd3bf6be75e28d8b6de 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * Number.POSITIVE_INFINITY is +Infinity
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.6_Number.POSITIVE_INFINITY/S15.7.3.6_A1.js
+ * @path ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js
  * @description Checking sign and finiteness of Number.POSITIVE_INFINITY
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js
index 640f3e61c980386f0e3750cad326212a0ec61388..e027149787e171ebcc72fa9110e859a725ac4a99 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js
@@ -4,7 +4,7 @@
 /**
  * Number.POSITIVE_INFINITY is ReadOnly
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.6_Number.POSITIVE_INFINITY/S15.7.3.6_A2.js
+ * @path ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js
  * @description Checking if varying Number.POSITIVE_INFINITY fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js
index c2de04f011ad20c8dd6a4e0ac5e675180bad6921..c2ac39b6defd97380d980a440c796f874bf9299e 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js
@@ -4,7 +4,7 @@
 /**
  * Number.POSITIVE_INFINITY is DontDelete
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.6_Number.POSITIVE_INFINITY/S15.7.3.6_A3.js
+ * @path ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js
  * @description Checking if deleting Number.POSITIVE_INFINITY fails
  * @noStrict
  */
diff --git a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js
index 70a12cef6194c1fed7f699a4fde99723f828bef3..9698a86eaa5195a6b8a4d1ac43b25b74b74a6427 100644
--- a/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js
+++ b/test/suite/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js
@@ -4,7 +4,7 @@
 /**
  * Number.POSITIVE_INFINITY has the attribute DontEnum
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/15.7.3.6_Number.POSITIVE_INFINITY/S15.7.3.6_A4.js
+ * @path ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js
  * @description Checking if enumerating Number.POSITIVE_INFINITY fails
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A1.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A1.js
index e122860c35b8ee176593e17011d6936c36dac844..cb7687c492b64af830cf76ceeec2b7badf551625 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A1.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Number constructor has the property "prototype"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A1.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A1.js
  * @description Checking existence of the property "prototype"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A2.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A2.js
index 208dddf6cea13a74c005a53b8df6ece9a23c4e59..74e50c6e51ddd3a11616717159c77c14ebb7c1f3 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A2.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * The Number constructor has the property "MAX_VALUE"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A2.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A2.js
  * @description Checking existence of the property "MAX_VALUE"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A3.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A3.js
index 79c58e169ccdffdce96e5dc6f92eb1b85c9791f3..70c456a3b5a71659eeac321e5cdbc8ef0b5fc749 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A3.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * The Number constructor has the property "MIN_VALUE"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A3.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A3.js
  * @description Checking existence of the property "MIN_VALUE"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A4.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A4.js
index 0189b0735185b01f856b330440f8719f549cccd0..ff12e13bf8a88870c229dfcf907ad289c2b2b7cb 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A4.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A4.js
@@ -4,7 +4,7 @@
 /**
  * The Number constructor has the property "NaN"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A4.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A4.js
  * @description Checking existence of the property "NaN"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A5.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A5.js
index db326f7f5e81f7de6b61256557ead9e323221eb1..b5ed3997aefbc584b566bf9c4f48a1dec5e47a6c 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A5.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A5.js
@@ -4,7 +4,7 @@
 /**
  * The Number constructor has the property "NEGATIVE_INFINITY"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A5.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A5.js
  * @description Checking existence of the property "NEGATIVE_INFINITY"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A6.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A6.js
index 6372634d78a70d44c4d198a37fa14f02d056e2eb..fc9a3a7a6d984909b457269f27496f255f92e578 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A6.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A6.js
@@ -4,7 +4,7 @@
 /**
  * The Number constructor has the property "POSITIVE_INFINITY"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A6.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A6.js
  * @description Checking existence of the property "POSITIVE_INFINITY"
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A7.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A7.js
index e5ac3339be49e8fc92aabacb73b5686278d18cfe..c8573fecaf2653e1525a457afdd0ed76dc971b60 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A7.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A7.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Number
  * constructor is the Function prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A7.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A7.js
  * @description Checking Function.prototype.isPrototypeOf(Number)
  */
 
diff --git a/test/suite/ch15/15.7/15.7.3/S15.7.3_A8.js b/test/suite/ch15/15.7/15.7.3/S15.7.3_A8.js
index b62f523e968f17c67d8ce17b6c8786eb4ce0371d..45f79ab61831870ce95cb03db610be31347c32f9 100644
--- a/test/suite/ch15/15.7/15.7.3/S15.7.3_A8.js
+++ b/test/suite/ch15/15.7/15.7.3/S15.7.3_A8.js
@@ -4,7 +4,7 @@
 /**
  * Number constructor has length property whose value is 1
  *
- * @path 15_Native/15.7_Number_Objects/15.7.3_Properties_of_Number_Constructor/S15.7.3_A8.js
+ * @path ch15/15.7/15.7.3/S15.7.3_A8.js
  * @description Checking Number.length property
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js b/test/suite/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js
index f944070050514148c6e4b7c4a648c7bb39167789..d93a6f25e40d088fb309c9ae5b9e690f215da8cb 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js
@@ -5,7 +5,7 @@
  * The initial value of Number.prototype.constructor is the
  * built-in Number constructor
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.1_Number.prototype.constructor/S15.7.4.1_A1.js
+ * @path ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js
  * @description Compare Number.prototype.constructor with Number
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js
index 975dd8fb7acb9f67eb3d39858559a5a6f9250d00..9b7d35ba0be289451684f25a8b9706e9a7788a57 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js
@@ -6,7 +6,7 @@
  * number value is given as an argument to the ToString operator.
  * the resulting string value is returned
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A1_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js
  * @description undefined radix
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js
index 3d44b30f2982a11ff62541c3d0db81f99ae34503..f066634108ae862932e4fd06aa92cd90533b13c1 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js
@@ -6,7 +6,7 @@
  * number value is given as an argument to the ToString operator.
  * the resulting string value is returned
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A1_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js
  * @description radix is 10
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js
index 5b7bbb75921bffc2e67086489fd979c7b04d7ee1..53a05b8f74c03e13378d38f8042d616b974f4487 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js
@@ -6,7 +6,7 @@
  * number value is given as an argument to the ToString operator.
  * the resulting string value is returned
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A1_T03.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js
  * @description radix is undefined value
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js
index c47a19b85c9c07f5bfcd8a3715b0019122044b78..d4529f5ab27d9664c4daf6ded74c4da2408a273b 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js
  * @description radix is 2
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js
index 61b12c1bc9e0e96191f7ae0406a188991f773031..d2f762c9395d099b67d2cfa8bcb1ab1767b660cb 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js
  * @description radix is 3
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js
index ae95a9d574584c364b46e300556fe16a0b2bce24..d922d5155f1f521d682ecc25458ad4f8f39783b5 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T03.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js
  * @description radix is 4
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js
index 4e2f3fc62382392bb74c3e428fbde3dd7eec7111..61bd6f4633d5085f69c0b598ea318d079c1b1ca9 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T04.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js
  * @description radix is 5
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js
index 3d58b84f5be961cf4da1044bba1784547ca24520..4155f4b91c31b748c4d705a2d621d5302ddb5c5b 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T05.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js
  * @description radix is 6
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js
index 826739f2c835d6c6380d3d226cc01801df86113e..fcb3273d8c100d48f135cc0172d41c59a553f876 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T06.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js
  * @description radix is 7
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js
index b461e5f0ee0914985fc58c59e265381f026067d8..6e518975c28133c7736e117fce5f41a4d1e94f43 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T07.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js
  * @description radix is 8
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js
index 1cb4cf0106f35a6d12025bea359ec18868e42de0..629807511472379a18c9910f812f5dc5b535716d 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T08.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js
  * @description radix is 9
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js
index 83b818092501533c593bc95972eaa78c3036ec1f..50c465bc66309e437eeb5ea56dcee9c50c9711a0 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T09.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js
  * @description radix is 11
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js
index 13991d446eef7a2edaa8ada16bda2b6966672d6b..7369f25df95baf5d0634e656740140728787beeb 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T10.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js
  * @description radix is 12
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js
index 618bcb3238394a2e39def7cf6a3d8213d150afaa..c1b8e8efe821df51b191f85caaf22c7db82c4fc0 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T11.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js
  * @description radix is 13
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js
index 403621ce19bc6323b01860dac900e43108275b83..eca23c38e64e391ca2e004e3b29ce57c7833de5b 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T12.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js
  * @description radix is 14
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js
index a26486f73cec84ebfeff057746ee7c8baa916804..0ab87ca81a697afe57dd3c77abe08d45c58bc139 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T13.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js
  * @description radix is 15
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js
index 24481e9501f77519da8d2abb3ae42740efae8a7e..77b074644e20484f9fc57cdbfa81bb05eba73b45 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T14.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js
  * @description radix is 16
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js
index ba04bf3e6f8ad15c10e2a5a5a2c55aa2ad440c16..a08d488ba45937698aa88d862ccd558bb811f4da 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T15.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js
  * @description radix is 17
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js
index 9ec9667df8f58c4d4ef87f5688f4463b5f2c9656..5dc5069498fdcacead31f552f1131ce27c4c83c2 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T16.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js
  * @description radix is 18
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js
index b6a01235ec86c7f836b969cc9f6e3a033ffc9655..526b0f6e38180d8833f615af19c7315c67caf618 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T17.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js
  * @description radix is 19
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js
index 9e29bfbd0ba76f5878e0f90083e82282a828e397..7a021ec3864dd7a7d59e802d2fb1d6e64769b15d 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T18.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js
  * @description radix is 20
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js
index 718fabc8caa6a8325130aae6968c44cef88000d1..7e28d6e30325f7e7b3ccfd4a47f57ca24f6abdab 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T19.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js
  * @description radix is 21
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js
index 089c5816adf0cc1381a4f0794008935385dd4987..04585ea88b987535680b904c921f01ccacdd9c9b 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T20.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js
  * @description radix is 22
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js
index 2fa286583c188cdfc3fa428616db7571e365377a..9dfe4528cf4e60c1b62d4a9bb28e98202ff286b9 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T21.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js
  * @description radix is 23
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js
index ef093e807c1c96df2d63f6b892310a8dc0205a8a..a417593828b1e8738769c7190e9bd356b8b8e19d 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T22.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js
  * @description radix is 24
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js
index 9dcaffd348f520b2aa6487ff32059afefa980eb6..456dbc19428a34300abc2f3bdc7befe3cdc67024 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T23.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js
  * @description radix is 25
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js
index 623e332c00755cea717881f15beec988c8a8990b..85605a10855af48419d604614d94cab42f187f7e 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T24.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js
  * @description radix is 26
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js
index 83bca36465368fbf00bb252d7b8b924ded7a6db1..35c9f31ed7f8857a67659921a7a5129590275862 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T25.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js
  * @description radix is 27
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js
index 5ce61a546327d7532da59805618e75f2bcc2e240..819bbacd512cfe622a6eac74b1b46a4a388d84ed 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T26.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js
  * @description radix is 28
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js
index ab43b99cfb1e13e87f771634daa933cd0d8af55a..3e1b1105eba4ff4b9df026a40ae921ad64dbe7ee 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T27.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js
  * @description radix is 29
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js
index 39657d823da0717228cba82f7950541cf5a9745e..99e7d5d880f86033a9b842ea493615e466abaf8f 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T28.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js
  * @description radix is 30
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js
index 1b49d3bb7ef25ab87554dee56b8153673eafd64c..7b96fcb6265b53bc409adcd176512dea3c5afa26 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T29.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js
  * @description radix is 31
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js
index da379456bfffff8371d44bf7b2259e15bf2dfe8d..b6f8ea59fddbc79fa0407de10ad617bc88fa65cc 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T30.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js
  * @description radix is 32
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js
index 9f51d1c512ef26acd8795bc8216f93f5a3be3514..f8bff8418a76b98967bb719aea57c5f5249c9e8b 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T31.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js
  * @description radix is 33
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js
index eb0e884ef2d0ed9b721dbccd3ee12747fd20d997..ac8063e546aa230edc2ef73d982d96662efdb2ab 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T32.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js
  * @description radix is 34
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js
index c64e587c363abe5fd4e660f91ba970504acd0b1d..031b29860886d6bf41d9ea706791b01ac30ba3bb 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T33.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js
  * @description radix is 35
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js
index f2fb450a33b02b8644776dc02da3a82ea6f6f3d4..64e646432cdcda4f3852812a81508b24f44664e2 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js
@@ -5,7 +5,7 @@
  * toString: If radix is an integer from 2 to 36, but not 10,
  * the result is a string, the choice of which is implementation-dependent
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A2_T34.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js
  * @description radix is 36
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js
index 8284df16bf60e228405833cf0c19733fe3150218..80c38b0d58a79926facac86799d86752c02b456a 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js
@@ -4,7 +4,7 @@
 /**
  * toString: radix should be an integer between 2 and 36
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A3_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js
  * @description radix is 1
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js
index de4a7404df92added3c4c54930484aecdea93c1c..6063aa8d7cfa5bb5cb449ae4462a48d61ac289a7 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js
@@ -4,7 +4,7 @@
 /**
  * toString: radix should be an integer between 2 and 36
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A3_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js
  * @description radix is 37
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js
index 489ee032450f4583435ab4c24398e8ac00034c43..176b5614a0dfc04507f80155eafbfc1722935818 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js
@@ -4,7 +4,7 @@
 /**
  * toString: radix should be an integer between 2 and 36
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A3_T03.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js
  * @description radix is null value
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js
index d6f066408aa6d58b89fbe6e61eff5ff83542347a..2d3c4450bc782b09e917eb78f5a47adbf984e578 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js
@@ -4,7 +4,7 @@
 /**
  * toString: radix should be an integer between 2 and 36
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A3_T04.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js
  * @description radix is 0
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js
index d961097f3df1ab4628f9f805f263f4c1f190895c..6ec64e5df28bcf4515144c7e0c7b96f6ff412164 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A4_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js
  * @description transferring to the String objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js
index 81f4e6ec350c9f0a2a21608f390c35c9e54af9dd..37e66f09d19cf4fd8f380118228730f65d42b247 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A4_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js
  * @description transferring to the Boolean objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js
index 6f21d65a1c1685dbcbfa56f23793cd43f65ae502..078161d1c04862278e71afa3ddf4e4aa8232d8f2 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A4_T03.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js
  * @description transferring to the Date objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js
index ea34ffdbd7494b76c079b011d5f6367639354e92..516bf803d81addcf7d8907e0db3ea7556a638ade 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A4_T04.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js
  * @description transferring to the Object objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js
index 87bc2e02bd45c46fe4400cf5e207a33de0600f48..d6e5a5e9c37e0b628de30bfd43efc1cf87054e0b 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.2_Number.prototype.toString/S15.7.4.2_A4_T05.js
+ * @path ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js
  * @description transferring to the other objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js
index accad6aa360cdf8079c58b9133f2c3042c57074d..70ff9881af7b0baa9ed568ad27b5ab2f9f5682bc 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js
@@ -4,7 +4,7 @@
 /**
  * Number.prototype.valueOf() returns this number value
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A1_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js
  * @description Call without argument
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js
index 8d521beb956595aeb75ee12ce2e26baba23f1b3d..65be18bbe6be6e48d3fbfcb14a7b7ad2b408059f 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js
@@ -4,7 +4,7 @@
 /**
  * Number.prototype.valueOf() returns this number value
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A1_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js
  * @description calling with argument
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js
index 003a90132189284b5219470a6214421e1f431c2a..1b3ab07f8e4d358b872dc36edac9e67ccecb27e4 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A2_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js
  * @description transferring to the String objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js
index 4857290f5d5e267876094a7fcaa3a548b71b6efb..e5e6e812dc69cdee263443c17cd11194c19c0ff5 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A2_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js
  * @description transferring to the Boolean objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js
index 22db6774257ce1b1ce906c991bfa15c536e86779..33647a1300cd727a88c3f7d58bab42714bba6ab9 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A2_T03.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js
  * @description transferring to the Date objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js
index 32ad7597a800c18200648999f5f879e998b573c6..ba2692b26174ee852b6c32e1be4391fe631dd1af 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A2_T04.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js
  * @description transferring to the Object objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js
index 332151f7c5543cdb6cc1cdf26fbc75733f741ccf..aafc4e9dca2d79f9a111336ee6042d239e907197 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js
@@ -6,7 +6,7 @@
  * to other kinds of objects for use as a method and there is should be
  * a TypeError exception if its this value is not a Number object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.4_Number.prototype.valueOf/S15.7.4.4_A2_T05.js
+ * @path ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js
  * @description transferring to the other objects
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js
index 14a4e89f688aa585223a84663293a238057b2053..8459ab708bfa98c5fa25d9c34e2ab9a6d9388246 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js
@@ -5,7 +5,7 @@
  * Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits
  * is undefined, this step produces the value 0)
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.5_Number.prototype.toFixed/S15.7.4.5_A1.1_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js
  * @description calling on Number prototype object
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js
index 708bc54c9d21149bb75be8ae320a8c1d75be507f..163f32746e2cb6278b4ec3c81832d7897b1cbd1a 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js
@@ -5,7 +5,7 @@
  * Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits
  * is undefined, this step produces the value 0)
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.5_Number.prototype.toFixed/S15.7.4.5_A1.1_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js
  * @description calling on Number object
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js
index 7f3deb324b5bf40a905add5457775d2bcb35ea48..595e213af9a40b9113674a3532f6a976dfab390a 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js
@@ -4,7 +4,7 @@
 /**
  * Step 4: If this number value is NaN, return the string "NaN"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.5_Number.prototype.toFixed/S15.7.4.5_A1.3_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js
  * @description NaN is computed by new Number("string")
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js
index 3929ad7ab138162ddfc27a55f05e25519ed59ccc..48a44dd49c7bd4e9905d3bec8acc9de3971f970f 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js
@@ -4,7 +4,7 @@
 /**
  * Step 4: If this number value is NaN, return the string "NaN"
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.5_Number.prototype.toFixed/S15.7.4.5_A1.3_T02.js
+ * @path ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js
  * @description direct usage of NaN
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js
index 42378bc18cf29f5f371386c36aa11ee24f30da0b..b949ba46b73d9b8a63715d81f0d5ca8973158cf0 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js
@@ -4,7 +4,7 @@
 /**
  * Step 9: If x >= 10^21, let m = ToString(x)
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.5_Number.prototype.toFixed/S15.7.4.5_A1.4_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js
  * @description x is 10^21
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js
index 7109db7102d0f21c671e1cc9c9fd0559eaba9479..5b42eddc704eb37d76811ebdb31e0f21bf322a5a 100644
--- a/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js
+++ b/test/suite/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the toFixed method is 1
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/15.7.4.5_Number.prototype.toFixed/S15.7.4.5_A2_T01.js
+ * @path ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js
  * @description Checking Number prototype itself
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A1.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A1.js
index 2aa072ff90a6c65b2f63be47cf512d066c2367e5..0944bde05616fd22484f0ffa186fd7c134707d6b 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A1.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A1.js
@@ -5,7 +5,7 @@
  * The Number prototype object is itself a Number object
  * (its [[Class]] is "Number") whose value is +0
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A1.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A1.js
  * @description Checking type and value of Number.prototype property
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A2.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A2.js
index 55ee7ab9e6107d82dcaad8f7eade052365bd7e8d..522f79aa12949c09aa78b90b9277686421b4034d 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A2.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A2.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Number
  * prototype object is the Object prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A2.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A2.js
  * @description Checking Object.prototype.isPrototypeOf(Number.prototype)
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.1.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.1.js
index 27dfab64fe30566672ec4b52ae87b7ff1b1126e7..67d9ba10dfaff6022b241e7d2c90f8640e6fc933 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.1.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.1.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property constructor
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.1.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.1.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.2.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.2.js
index 7cb6de3b09f65f3566ea87440a3e04fbb711cc54..9f4b3856bad5ca3d9c15e7c81ed9265c6b921f00 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.2.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.2.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property toString
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.2.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.2.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.3.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.3.js
index 6be933b08f337b1b54d1cbbc5a3bacd278d7186a..f34849d56fd80fc00cb0e3ad38091ccae095cc01 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.3.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.3.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property toLocaleString
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.3.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.3.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.4.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.4.js
index 240d9a437efa7a751e65c1adb1e0c652ded18c20..7dcd08cb082785483d4168f25228b19bb0dfc07b 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.4.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.4.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property valueOf
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.4.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.4.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.5.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.5.js
index aed393c86213a9f6fb4359b0b332715e4c366ddc..0a889e11c58092428e1f6a8a86a378d076601ed4 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.5.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.5.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property toFixed
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.5.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.5.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.6.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.6.js
index 75f4090c678a598349a948e15e7d0ef17908c193..06e87826f035638ba5b5581e6b81436b04b4b9be 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.6.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.6.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property toExponential
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.6.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.6.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.7.js b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.7.js
index f4ce7d44ce94e56f159b3292b9347f44564d42f4..8bd611dbc0b6f208db0d9f48bfd5cb4ac40f4a0d 100644
--- a/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.7.js
+++ b/test/suite/ch15/15.7/15.7.4/S15.7.4_A3.7.js
@@ -4,7 +4,7 @@
 /**
  * The Number prototype object has the property toPrecision
  *
- * @path 15_Native/15.7_Number_Objects/15.7.4_Properties_of_the_Number_Prototype_Object/S15.7.4_A3.7.js
+ * @path ch15/15.7/15.7.4/S15.7.4_A3.7.js
  * @description The test uses hasOwnProperty() method
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T01.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T01.js
index c487a473bb30a0abf77d68933a4321c956fd4855..924bae0a1687b93c7fd7c310755c1227ae1e6ebf 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T01.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T01.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T01.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T01.js
  * @description Checking property constructor
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T02.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T02.js
index 65225187260e4dfb48665d8a821804913b03086f..e024a18017c8c642c932f95ef6ae06df1bca2168 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T02.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T02.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T02.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T02.js
  * @description Checking property toString
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T03.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T03.js
index 4e94b737bcf0ad1b63cc0dd368e5a6253a17b809..ccf17d88379cf4995b092c2eda1c56002fe43c7f 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T03.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T03.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T03.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T03.js
  * @description Checking property toLocaleString
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T04.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T04.js
index 6d15aa79cf00a62d664255bf31361ecbb5954746..88967d9925f70e38828a2def3efae44abd96d5ba 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T04.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T04.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T04.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T04.js
  * @description Checking property valueOf
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T05.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T05.js
index e4372d6d57b61868dbd657f043a1598d2a45630c..7a32219d0875eb9408e6b570606ca53a4f913cf3 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T05.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T05.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T05.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T05.js
  * @description Checking property toFixed
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T06.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T06.js
index 4ee7ff3d988b86e1f90d1d1b2e6c06af94777f2b..41bfbff61d0184e6a883df780acbc331c5bd4526 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T06.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T06.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T06.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T06.js
  * @description Checking property toExponential
  */
 
diff --git a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T07.js b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T07.js
index 3513ab18f6c14573172f31290e9378aa2483ae6b..22700c5c05c7604abe8ed74a6b6a788e0130561b 100644
--- a/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T07.js
+++ b/test/suite/ch15/15.7/15.7.5/S15.7.5_A1_T07.js
@@ -5,7 +5,7 @@
  * Number instances have no special properties beyond those
  * inherited from the Number prototype object
  *
- * @path 15_Native/15.7_Number_Objects/15.7.5_Properties_of_Number_Instances/S15.7.5_A1_T07.js
+ * @path ch15/15.7/15.7.5/S15.7.5_A1_T07.js
  * @description Checking property toPrecision
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js
index d51ce651bb465cd2ef3716a1b3077b06af8f95c7..a117d9f59bbde9af39c2b538692640bd620698d8 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.E is approximately 2.7182818284590452354
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js
  * @description Comparing Math.E with 2.7182818284590452354
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js
index 6018eb4e6b45abe38c72ce9dced64643c2c303a2..3a2364793c4cb34ab895447534b3369ab4a36ea5 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property E of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js
  * @description Checking if Math.E property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js
index 0a5b251d6ba4ba8201dfcd21ebd2238fb9600946..e83fd280902d5ed4d2aacd246388e377ec9e306b 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property E of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js
  * @description Checking if Math.E property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js
index 4c86ac70cb736c876dc035cb7924b9c46b8b9f82..0db827bd1bac897670e6bd4d4b78691799ac806d 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property E of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.1_E/S15.8.1.1_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js
  * @description Checking if Math.E property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js
index 5253d095eb1ab7c22961699dbf28da8b50dc6129..95dd0039f837b7e7fa5103700ce5d1e8ee46717a 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.LN10 is approximately 2.302585092994046
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.2_LN10/S15.8.1.2_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js
  * @description Comparing Math.LN10 with 2.302585092994046
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js
index 83cc362bfedb9f19c52dd6b8d4df43f9f7845e84..78a5571f99a8883e38779a2510bce8b123a2cb9a 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LN10 of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.2_LN10/S15.8.1.2_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js
  * @description Checking if Math.LN10 property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js
index 1e2f8b8aa766ebd26f5a90a926fcdae3b484d23b..72b2af50a34544fea86b1f8e85dba2d055c6c6c9 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LN10 of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.2_LN10/S15.8.1.2_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js
  * @description Checking if Math.LN10 property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js
index 0e7c6b5c2c4188329b670bdae731f46de1b11ffe..c3b35c1e9a247936bb6b05be1fcb277d53c79c81 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LN10 of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.2_LN10/S15.8.1.2_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js
  * @description Checking if Math.LN10 property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js
index debe05ba73bdf8173920eed4b479906b77aa676b..abbe41435f1a838d5e6ecc3565909c148b7fa311 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.LN2 is approximately 0.6931471805599453
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.3_LN2/S15.8.1.3_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js
  * @description Comparing Math.LN2 with 0.6931471805599453
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js
index 927494ac03727d46b399cf7876e6f595357b66aa..79fd3aa3abed334b3014cc8673eb831aef4a1db4 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LN2 of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.3_LN2/S15.8.1.3_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js
  * @description Checking if Math.LN2 property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js
index cdf8cd01bae028ea59c83132dfc4ef7c1f889989..8f603a38aa37e565fbe122753286c5e4b411e672 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LN2 of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.3_LN2/S15.8.1.3_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js
  * @description Checking if Math.LN2 property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js
index c541851e44db6d3800dd7769c3b326d4bd16043a..04fd6e2ae7a7402ac88d0d5da3c9f83851de56fc 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LN2 of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.3_LN2/S15.8.1.3_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js
  * @description Checking if Math.LN2 property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js
index 21856930dd0bdeac6db7a6a599a6b7876c6b97e0..46f1c564f7b42ee098ac50b0d2dd4840f0c7cea7 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.LOG2E is approximately 1.4426950408889634
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.4_LOG2E/S15.8.1.4_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js
  * @description Comparing Math.LOG2E with 1.4426950408889634
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js
index 071e438f8f31b53e46dc00bd6881274ab10406dd..d6f5850e4f65873975c5bef2286e87fa5ddd2afb 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LOG2E of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.4_LOG2E/S15.8.1.4_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js
  * @description Checking if Math.LOG2E property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js
index b20ff2e3eca788778961ec4a2bde0462874a1855..5a591c0bf9e08cb79483acbfac5677154e81f7e7 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LOG2E of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.4_LOG2E/S15.8.1.4_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js
  * @description Checking if Math.LOG2E property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js
index 295fdef88ae9b140cffe6640ae591c54764dad9a..b709f1476acf3062c10959af83ceac8a59474452 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LOG2E of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.4_LOG2E/S15.8.1.4_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js
  * @description Checking if Math.LOG2E property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js
index db4e34186bf7238432a32c890edfd3672d5ed268..44d3d1deb4da0c4989099e19703e9117e3cd2db5 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.LOG10E is approximately 0.4342944819032518
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.5_LOG10E/S15.8.1.5_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js
  * @description Comparing Math.LOG10E with 0.4342944819032518
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js
index 766e7775dac29e88859f786b1ad56c5521884fd7..6b9ea3fbc71f48bea5f26647d24f2e9a5252e3c2 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LOG10E of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.5_LOG10E/S15.8.1.5_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js
  * @description Checking if Math.LOG10E property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js
index f7a3a968bec1e7ce0203caf859ac39580dd14956..02c6230a1962b49a32329f791d7b35348359a08d 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LOG10E of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.5_LOG10E/S15.8.1.5_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js
  * @description Checking if Math.LOG10E property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js
index 1bbe2ea007b07f8c069eaffb66116c0700217b0b..5eedffafe164bfe39e55312c360529fdbc36da69 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property LOG10E of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.5_LOG10E/S15.8.1.5_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js
  * @description Checking if Math.LOG10E property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js
index 30c1edbeb34cf9f01bfad5c54466f333bf3be812..50acce0f0307e23415300533b36e3e4f0705b7c9 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.PI is approximately 3.1415926535897932
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.6_PI/S15.8.1.6_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js
  * @description Comparing Math.PI with 3.1415926535897932
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js
index 68c64d69c59004da331a4e4d2944fbd31f1dbca4..b6a2666462f715126c28ab2c752e7fc7ab7fe96b 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property PI of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.6_PI/S15.8.1.6_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js
  * @description Checking if Math.PI property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js
index 27077d0734df083e9c65ebd6f1c330f51696ef19..cded51a38f742a3615bead66528ce7ffdd35612a 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property PI of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.6_PI/S15.8.1.6_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js
  * @description Checking if Math.PI property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js
index 057deda1b71890771b08223e2deee1f9f8504655..96fc4fd81298a77e50e321882d14e22a70cb7354 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property PI of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.6_PI/S15.8.1.6_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js
  * @description Checking if Math.PI property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js
index f3d1967be8d4b9a9aee42189c45d96aa339ff4da..23c8e37a8fa87ee0c91dbc787f0bf319b52e582b 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.SQRT1_2 is approximately 0.7071067811865476
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.7_SQRT1_2/S15.8.1.7_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js
  * @description Comparing Math.SQRT1_2 with 0.7071067811865476
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js
index f989642aabaf786fe77c5df6ff56a156e0cba37a..6d619d021c0c87cf8d67319146755c8264dfa813 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property SQRT1_2 of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.7_SQRT1_2/S15.8.1.7_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js
  * @description Checking if Math.SQRT1_2 property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js
index 319ec7a98ef481abbff1d6eb23847a9aaf4f4694..3042c87b4fb5aff80ba972aa0c9ce44662c7df3d 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property SQRT1_2 of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.7_SQRT1_2/S15.8.1.7_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js
  * @description Checking if Math.SQRT1_2 property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js
index 9a97f24cf72a8ad7f314db637c2654661ba08efe..ec4a44bbe001464c0a6a8af36f9a78f16b7a3185 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property SQRT1_2 of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.7_SQRT1_2/S15.8.1.7_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js
  * @description Checking if Math.SQRT1_2 property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js
index 7e5235a0fc011bbe3ad11e5023eb215181f66312..72a47f5d960f17918d024ff87cef1435ca79d895 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.SQRT2 is approximately 1.4142135623730951
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.8_SQRT2/S15.8.1.8_A1.js
+ * @path ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js
  * @description Comparing Math.SQRT2 with 1.4142135623730951
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js
index f9ef143833cdb3d3b455b8f492104c37fa4f15bf..0671860284865b360a115488e1e85f2fded7fcf2 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js
@@ -4,7 +4,7 @@
 /**
  * Value Property SQRT2 of the Math Object has the attribute DontEnum
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.8_SQRT2/S15.8.1.8_A2.js
+ * @path ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js
  * @description Checking if Math.SQRT2 property has the attribute DontEnum
  */
 
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js
index 3710ca2f210861592cb7b31d67c3333ad46979a0..baa8a037550f775bcff7d0257fbe36e6f557a1cc 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js
@@ -4,7 +4,7 @@
 /**
  * Value Property SQRT2 of the Math Object has the attribute DontDelete
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.8_SQRT2/S15.8.1.8_A3.js
+ * @path ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js
  * @description Checking if Math.SQRT2 property has the attribute DontDelete
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js
index 3ed6e0385868c72cd030747d237e8ac33c58fd5d..4a7aec57969444cdd384597fb2c910f29bc51983 100644
--- a/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js
+++ b/test/suite/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js
@@ -4,7 +4,7 @@
 /**
  * Value Property SQRT2 of the Math Object has the attribute ReadOnly
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.1_Value_Properties_of_the_Math_Object/15.8.1.8_SQRT2/S15.8.1.8_A4.js
+ * @path ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js
  * @description Checking if Math.SQRT2 property has the attribute ReadOnly
  * @noStrict
  */
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js
index 3c10e9a9cffa320b3f421c39255d17390981cb48..d828fae96e73a7cad7416aa91c92366ab6794d5d 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.abs(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.1_abs/S15.8.2.1_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js
  * @description Checking if Math.abs(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js
index 5045b15ff762eeb43941f0e3634d8a559fe5c8b0..a3430077091be21eb6a5d947a9b3059229349760 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.abs(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.1_abs/S15.8.2.1_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js
  * @description Checking if Math.abs(-0) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js
index 1ad2d4153683337c78b20fdfec7d6c0e460a8c38..b30afca1bf102be1fcbe5f2c71628a2de28e5e22 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.abs(x) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.1_abs/S15.8.2.1_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js
  * @description Checking if Math.abs(-Infinity) equals to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js
index c751e1ec523496473347e1d74b4ea919e9e5d40d..46143c2a054fe7439e3cf5c2038ca07a5ef1ae76 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.log(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.10_log/S15.8.2.10_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js
  * @description Checking if Math.log(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js
index 2c708d44b53df30325cb1ff4dac5cc4ebfe47823..494a73b669784fca17a760e544dde3ec84d711fa 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is less than 0, Math.log(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.10_log/S15.8.2.10_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js
  * @description Checking if Math.log(x) is NaN, where x is less than 0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js
index 7f9135c3a3f72a7cd6a7d73df2fe5662d3ce8e20..426090c8faedf66bde7f695747ba4973c1361597 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0 or -0, Math.log(x) is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.10_log/S15.8.2.10_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js
  * @description Checking if Math.log(+0) and Math.log(-0) equals to -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js
index ef0f1c21c5a003d3b7dd6560f67015c79c6e4c90..af4e9c311e07f5a532694ccc38ab3e156945a051 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is 1, Math.log(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.10_log/S15.8.2.10_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js
  * @description Checking if Math.log(1) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js
index a1136de62d70a5db967c2d66379e1fa9812529dc..05cd7db47de96649bf812f40bf96c3a64797a60a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.log(x) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.10_log/S15.8.2.10_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js
  * @description Checking if Math.log(+Infinity) equals to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js
index 00120b55cacadccb1a3a8ba0db81045edabc01ee..15f7abd7d1d85a49a8d4a52061f87e846d3291f2 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js
@@ -4,7 +4,7 @@
 /**
  * Math.log, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.10_log/S15.8.2.10_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js
  * @description Checking if Math.log is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js
index df611ff8d6cad3d61ad619db34fcd28b46b23d77..741d35728bb96da299f90bd17ca700cbec01d4a1 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js
@@ -4,7 +4,7 @@
 /**
  * If no arguments are given, Math.max() is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.11_max/S15.8.2.11_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js
  * @description Checking if Math.max() equals to -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js
index 5dbc1f19c5e05c70372f1332d57d615813e34cee..512e6054456a6a4f5e772600bd9ac5dba61b4c5d 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js
@@ -4,7 +4,7 @@
 /**
  * If any value is NaN, the result of Math.max is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.11_max/S15.8.2.11_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js
  * @description The script tests Math.max giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js
index cef5a7375bdcee85c13c2acab34ef5eb63a94475..906d9bf57f750f5759010b1ee19ff0d957324781 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js
@@ -4,7 +4,7 @@
 /**
  * +0 is considered to be larger than -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.11_max/S15.8.2.11_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js
  * @description Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js
index 1ded5e0e73dc06bbe48ee6d8d9703cda0ece8119..f6729a2ff5dc44a186c83104205e71ca3673b185 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the Math.max method is 2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.11_max/S15.8.2.11_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js
  * @description Checking if Math.max.length property is defined and equals to 2
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js
index 77f745c804d90f8724d7f5568c7204f1e6d05bea..94f87343b4729005aa433105cb3b7e48d8ba8532 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js
@@ -4,7 +4,7 @@
 /**
  * If no arguments are given, Math.min() is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.12_min/S15.8.2.12_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js
  * @description Checking if Math.min() equals to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js
index 2c4f54bd67b475244faa32d5d068ceb214684cd4..362958bd39987e3b67e65a0a060449f4100d5e82 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js
@@ -4,7 +4,7 @@
 /**
  * If any value is NaN, the result of Math.min is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.12_min/S15.8.2.12_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js
  * @description The script tests Math.min giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js
index 00afb3ec9872e17a90fa3451aba409d73267d02a..01150d8c2fb432391485ff3d249bca6b0707d774 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js
@@ -4,7 +4,7 @@
 /**
  * +0 is considered to be larger than -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.12_min/S15.8.2.12_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js
  * @description Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js
index 670b20f5f1efcd14b345aea241b30218b1bf3ed5..d563445b5adf169063afd38e6c8a835be5927b17 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js
@@ -4,7 +4,7 @@
 /**
  * The length property of the Math.min method is 2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.12_min/S15.8.2.12_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js
  * @description Checking if Math.min.length property is defined and equals to 2
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js
index 7fbacfc331524638bc9ce82d7517a9b1a1221b77..3e60d5bd74b6acbbbf2f67e9046a034a1cf2203b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js
@@ -4,7 +4,7 @@
 /**
  * If y is NaN, Math.pow(x,y) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js
  * @description Checking if Math.pow(x,y) is NaN, where y is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js
index 9b9a45a6004a798f9f2fe12c33749c82035b6a72..4276690564a7342e0f169a1b08ca0abd8d1453d3 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js
@@ -4,7 +4,7 @@
 /**
  * If abs(x)<1 and y is -Infinity, Math.pow(x,y) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A10.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js
  * @description Checking if Math.pow(x,y) equals to +Infinity, where abs(x)<1 and y is -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js
index b9bb16fa7c68a5043cb4afa8e3eef0a6130c667e..0b2b93b32df3ef08d81c971418c1b6c599c7c436 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity and y>0, Math.pow(x,y) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A11.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js
  * @description Checking if Math.pow(x,y) equals to +Infinity, where x is +Infinity and y>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js
index bde32488dfe5c43f3c448138e3532b4f66e77907..8fa5c81dfb015ebe02b1d6b12e4a84d1b60aee3f 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity and y<0, Math.pow(x,y) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A12.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js
  * @description Checking if Math.pow(x,y) equals to +0, where x is +Infinity and y<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js
index 437bdb782ff737807baae120ce7f1916b2ddb580..03813cf514652798217e4b045a8c8a76f1179c3e 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity and y>0 and y is an odd integer, Math.pow(x,y) is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A13.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js
  * @description Checking if Math.pow(x,y) equals to -Infinity, where x is -Infinity and y>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js
index bd1a97a6d6fc7d76ada5b8aa63278202320b6660..705a519a1139c19ca3778d159c1611ae9683fb7b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity and y>0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A14.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js
  * @description Checking if Math.pow(x,y) equals to +Infinity, where x is -Infinity and y>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js
index 0959ac97a1fb2877f4567d0984df944fe7a72287..5611285c854158ba72fcc6faf67a3765a3cb625c 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity and y<0 and y is an odd integer, Math.pow(x,y) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A15.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js
  * @description Checking if Math.pow(x,y) equals to -0, where x is -Infinity and y<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js
index 6696904b2adfdb164db00080174fe13d1ca4396e..48d92a9179df4c635b6a98cd9a5e4614b610ba0a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity and y<0 and y is NOT an odd integer, Math.pow(x,y) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A16.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js
  * @description Checking if Math.pow(x,y) equals to +0, where x is -Infinity and y<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js
index 41b609a8fdedcae0304615fa00647197acbf9020..4826b3fb91918f4290f26265493441e3f49a643f 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0 and y>0, Math.pow(x,y) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A17.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js
  * @description Checking if Math.pow(x,y) equals to +0, where x is +0 and y>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js
index 58c2fdc31dddbe3f56d608f3681a0a3e9c42e6dc..186ef2be79cbdae8cfce32737827ee81a2f06a02 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0 and y<0, Math.pow(x,y) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A18.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js
  * @description Checking if Math.pow(x,y) equals to +Infinity, where x is +0 and y<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js
index b91472a28558fd7f2ba95a17896ae831f8277e02..793223661f0308c8fe037ead1f6dfcde6d287119 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0 and y>0 and y is an odd integer, Math.pow(x,y) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A19.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js
  * @description Checking if Math.pow(x,y) equals to -0, where x is -0 and y>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js
index 5aa7e9a445377c53266434ca944efa5c625f3e4a..653651a24ccaf02aaf9a48282237affdaa4b5a0b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js
@@ -4,7 +4,7 @@
 /**
  * If y is +0, Math.pow(x,y) is 1, even if x is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js
  * @description Checking if Math.pow(x,y) equals to 1, where y is +0 and x is number or NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js
index 9391c1038f4408c965e5832a045fb06345549ba2..730d1dec3c3a37ec4fc93fbc81314f767cb186a7 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0 and y>0 and y is NOT an odd integer, Math.pow(x,y) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A20.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js
  * @description Checking if Math.pow(x,y) equals to +0, where x is -0 and y>0 and y is NOT an odd integer
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js
index 30a930d38eef68e9d139729bb33d1c3859c25b84..556c46dd6551e206a006aed80c8f769ab5660efa 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0 and y<0 and y is an odd integer, Math.pow(x,y) is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A21.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js
  * @description Checking if Math.pow(x,y) equals to -Infinity, where x is -0 and y is an odd integer
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js
index 2835842565a4d6db1ad2c6f70b5aaae3547ea371..fb1eb0771e1343a28454086ccd2e46a469900942 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0 and y<0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A22.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js
  * @description Checking if Math.pow(x,y) equals to +Infinity, where x is -0 and y<0 and y is NOT an odd integer
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js
index d405dccd6ac79135f467ebe2c7adc582bfdf0180..3ff4ef3a9bb9bff4bca9edc4ac5f2d20b914438d 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js
@@ -4,7 +4,7 @@
 /**
  * If x<0 and x is finite and y is finite and y is not an integer, Math.pow(x,y) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A23.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js
  * @description Checking if Math.pow(x,y) is NaN, where x<0 and x is finite and y is finite and y is not an integer
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js
index 62b75c83c4deefbe471cf0ba0dea0ba260d0b967..4ffd6b4e66d3661c393d6874ca8dbd4bc4969660 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js
@@ -4,7 +4,7 @@
 /**
  * Math.pow, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A24.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js
  * @description Checking if Math.pow(argument1, argument2) is approximately equals to its mathematical value on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js
index e39035b0f6e4bf86d06861c66fa885a4221ff43a..5929d427c8150adf451d45943c2977089f133323 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js
@@ -4,7 +4,7 @@
 /**
  * If y is -0, Math.pow(x,y) is 1, even if x is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js
  * @description Checking if Math.pow(x,y) equals to 1, where x is number or NaN and y is -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js
index 7179d591b73c44926ab4dbd1a0dca983e482fe92..f8a0c51bbf7de1ff724ab1a679d77eda96532c85 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN and y is nonzero, Math.pow(x,y) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js
  * @description Checking if Math.pow(x,y) is NaN, where x is NaN and y is nonzero
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js
index 3a18bd0e03f5802955f391e4f2acc2c3faef3e99..d11b6178b4e85b41cace9a244b3e152ffeb0269d 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js
@@ -4,7 +4,7 @@
 /**
  * If abs(x)>1 and y is +Infinity, Math.pow(x,y) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js
  * @description Checking if Math.pow(x,y) equals to +Infinity, where abs(x)>1 and y is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js
index 9071e399f8b3139514fa3a7ad2f8e2b568e4fa3c..a5b816dc635b987dbaf0e1b53f624fd647ce047b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js
@@ -4,7 +4,7 @@
 /**
  * If abs(x)>1 and y is -Infinity, Math.pow(x,y) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js
  * @description Checking if Math.pow(x,y) equals to +0, where abs(x)>1 and y is -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js
index 3a940f5745310122a202ec353b8f2307bfe674ba..7ab8b55996473a3246f13fbb793eca8c293a52f7 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js
@@ -4,7 +4,7 @@
 /**
  * If abs(x)==1 and y is +Infinity, Math.pow(x,y) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js
  * @description Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js
index 5be213fd551470c711c98210c5c65621bb8727d1..976fed4afaf3545768c4583c3d7938053f8ef822 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js
@@ -4,7 +4,7 @@
 /**
  * If abs(x)==1 and y is -Infinity, Math.pow(x,y) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A8.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js
  * @description Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js
index 58482ea77c8a882f2a16e708c69bdd8ad75bd4ee..01acce3020aa8023c6c729c0cd185cb50b967175 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js
@@ -4,7 +4,7 @@
 /**
  * If abs(x)<1 and y is +Infinity, Math.pow(x,y) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.13_pow/S15.8.2.13_A9.js
+ * @path ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js
  * @description Checking if Math.pow(x,y) equals to +0, where abs(x)<1 and y is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js
index e2555d724e5b37ff5f19085e3db84c069764b350..c3679abcbb37aa62554cb06f7a58a24e5b974037 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js
@@ -4,7 +4,7 @@
 /**
  * Math.random() returns a number value with positive sign, greater than or equal to 0 but less than 1
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.14_random/S15.8.2.14_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js
  * @description Checking if Math.random() is a number between 0 and 1, calling Math.random() 100 times
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js
index 813ee2b0eb26591f6cd2d6f0372507f790badee7..bdb449fce360ff742aae5502d17e9155a194cbf1 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.round(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js
  * @description Checking if Math.round(x) is NaN, where x is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js
index f6357626b540c8bf09ec78b47a341836ef6eefc3..9b6db1778467821d45d4441ffd9bac42998215ae 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.round(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js
  * @description Checking if Math.round(x) equals to +0, where x is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js
index c9ab09e38b0b59f11582335f893e2ad907340109..7c32e99db180e0a699ca6baa21c19ce9539d9a05 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.round(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js
  * @description Checking if Math.round(x) equals to -0, where x is -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js
index 943b37740518df7adf277a25f98477edc1d32311..5b9fe86a8e25980424b1aac50b96cd77c7fc9b7b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.round(x) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js
  * @description Checking if Math.round(x) is +Infinity, where x is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js
index d6a5af26dfd730ae2e353593bd3f6ec45cdf3a88..abf47375d9d1d855d7351476a0db98d857ad1719 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.round(x) is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js
  * @description Checking if Math.round(x) is -Infinity, where x is -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js
index 6d2851d8597845df89d4372e39bb8f63cb8ac276..3b54f7c9476a9ad561ea849d83bc6331417f0233 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js
@@ -4,7 +4,7 @@
 /**
  * If x is equal to 0 or greater than 0, or if x is less than -0.5, Math.round(x) is equal to Math.floor(x+0.5)
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js
  * @description Checking if Math.round(x) is equal to Math.floor(x+0.5), where x equals to 0, greater than 0, or is less than -0.5; this check is performed on 2000 argument x values
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js
index 4beed0e2d7094413e2d66a71e6829be15b310a69..ffa7ba6daa11c6d2c3c07d446279d2fdfb813f8f 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js
@@ -4,7 +4,7 @@
 /**
  * If x is less than or equal to -0 and x is greater than or equal to -0.5, Math.round(x) is equal to -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.15_round/S15.8.2.15_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js
  * @description Checking if Math.round(x) is equal -0, where x is equal to 0, equal to -0.5, or less than -0 while greater than -0.5
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js
index 95d6ce44bcba960b5bed541625a12454a72d572d..e8596f18f8734c9cdb65e646b2d73ea6c628f450 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.sin(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.16_sin/S15.8.2.16_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js
  * @description Checking if Math.sin(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js
index eecbb49906406a38a6ec07b005023cdff55008fc..d2687c704c7b9c5af7e52cb65eef98ee509c9983 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.sin(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.16_sin/S15.8.2.16_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js
  * @description Checking if Math.sin(-0) equals to -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js
index 49f0673ecb15f9cd5890ede340e076c94fe3cd27..f76c2b33f83b2b8c73ecde913f81f6679d46dd64 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.sin(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.16_sin/S15.8.2.16_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js
  * @description Checking if Math.sin(+Infinity) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js
index 9df0315f63764ad57393e3c845147abab417006c..8115e744f386b2ba26f4cccfa4679989d2c39638 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.sin(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.16_sin/S15.8.2.16_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js
  * @description Checking if Math.sin(-Infinity) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js
index 8d34e48889caac9dfc02242601f99ef2a63d7d1e..544e317601b2cf975e3ecbc5dacc6001909e0af4 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js
@@ -4,7 +4,7 @@
 /**
  * Sine is a periodic function with period 2*PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.16_sin/S15.8.2.16_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js
  * @description Checking if Math.sin(x) equals to Math.sin(x+n*2*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from 0 to 2*Math.PI
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js
index 3d9cda9f16f00aa12043798ac1c1ba0aa0e2e451..867dcdb2c7bb9b422694b44f113e2d6fa99f6b45 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js
@@ -4,7 +4,7 @@
 /**
  * Math.sin it is recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.16_sin/S15.8.2.16_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js
  * @description Checking if Math.sin is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js
index 9b891fae50357e7e02688a9d1fe28dd9d0d59ca1..f726cede5895a13ec12a9cce2d1386efe6cc204e 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.sqrt(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.17_sqrt/S15.8.2.17_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js
  * @description Checking if Math.sqrt(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js
index 3785cd47c158511178c6374acc177ff701a80a6b..fbc4bebacf170d59ed73a058d0bd68b3ea726b0a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x less than 0, Math.sqrt(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.17_sqrt/S15.8.2.17_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js
  * @description Checking if Math.sqrt(x) is NaN, where x is less than 0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js
index ead07d3c0905f2c484bc07b5b0aa4618d97595b2..7fa820d9d705e17b6a4d26559f39067ea3d64ba7 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is equal to +0, Math.sqrt(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.17_sqrt/S15.8.2.17_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js
  * @description Checking if Math.sqrt(+0) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js
index 86fda58163b348ee15d739b3983b6d2b528b0776..1caf03dcda0d0709ff93f3acb434fcb45a568d38 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is equal to -0, Math.sqrt(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.17_sqrt/S15.8.2.17_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js
  * @description Checking if Math.sqrt(-0) equals to -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js
index ea70197ec5833a217ecaf0f28ca370b48033e7e2..3bff31a19cebf6406b2b5ef4f2075a6d7dbadac9 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is equal to +Infinity, Math.sqrt(x) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.17_sqrt/S15.8.2.17_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js
  * @description Checking if Math.sqrt(+Infinity) is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js
index 5071c79adb0fb1876a28e8eed75b2af414b2cab3..f668a15192147f04ba35d0f0e75ea6e5c55fed07 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js
@@ -4,7 +4,7 @@
 /**
  * Math.sqrt, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.17_sqrt/S15.8.2.17_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js
  * @description Checking if Math.sqrt is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js
index 585838cd106e9353f273086634c72c6fa26e02cc..f8a7e24b357cdd09c770af573d8d178a1961a77b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.tan(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js
  * @description Checking if Math.tan(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js
index dbf76be3457ea9ca0d0d0c5f68c4530a0730fc73..d8c4ffc39a52f1fc2a107dfc789e04101d26db27 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.tan(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js
  * @description Checking if Math.tan(+0) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js
index 4ed7c62f0fd88974dd95590c2493a6dc76e5e349..4c75e6e70255220c128f5202e6ed2352fe5004fd 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.tan(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js
  * @description Checking if Math.tan(-0) equals to -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js
index b3439abc86bef4d1b698e2a977c5a907ac36feb6..2b249a595edaf9e0b4223c8a0ca4ab8080d25f48 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.tan(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js
  * @description Checking if Math.tan(+Infinity) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js
index 601908cd1bc699c8da870b09599da820c4b1c380..97add1b8c93b0bb405d49cf6fd34b71f1b86b02e 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.tan(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js
  * @description Checking if Math.tan(-Infinity) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js
index 10613385a5d342ead5712a017426dacb40104bde..db326caa26d8bc223f5e37f616cc7681a489d68c 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js
@@ -4,7 +4,7 @@
 /**
  * Tangent is a periodic function with period PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js
  * @description Checking if Math.tan(x) equals to Math.tan(x+n*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from 0 to Math.PI
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js
index b403388d0d577d594af834e38038fb82bee105f9..79dca3833006adc06915fd84aa5cc5095cae695c 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js
@@ -4,7 +4,7 @@
 /**
  * Math.tan, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.18_tan/S15.8.2.18_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js
  * @description Checking if Math.tan is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js
index 517c37a9855d45099aa9a654028293e8e2e506d4..e3433a7dbcae7390d06b4e41fa8328850f6e5b75 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.acos(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.2_acos/S15.8.2.2_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js
  * @description Checking if Math.acos(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js
index aab20cf5eeefd18a3605e6bbcf9bd26952ef0efd..61c575734f858b5466589aadf8a109f8449cddf1 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is greater than 1, Math.acos(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.2_acos/S15.8.2.2_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js
  * @description Checking if Math.acos(x) is NaN, where x is greater than 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js
index 806d5bd8cd39ce673ac837649e758a8dd8dd424a..8bc72db91211caecbb854bf98d9168b9d15703ca 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is less than -1, Math.acos(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.2_acos/S15.8.2.2_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js
  * @description Checking if Math.acos(x) is NaN, where x is less than -1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js
index edd5323abcc10fcc075e484a76b08d4c8ab9886e..74130ce0eb319d32a0787ca004b60e17da4f1735 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is exactly 1, Math.acos(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.2_acos/S15.8.2.2_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js
  * @description Checking if Math.acos(1) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js
index 685bedb1a17a0b128257935f7accc6e9113b2d36..10c664f139442af5ba93b49077bb772308c9ff97 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js
@@ -4,7 +4,7 @@
 /**
  * Math.acos, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.2_acos/S15.8.2.2_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js
  * @description Checking if Math.acos is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js
index 9e44e5ddc167f6715846bba30d96949851439016..a58beb8f7eea70d9b9221bf21cc0e24da8fdc324 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.asin(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.3_asin/S15.8.2.3_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js
  * @description Checking if Math.asin(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js
index 8d3ea883f4a12380dcfc1efd9398b3e541d2b593..3d30373b6368d94f19cb4433cc1138aa7a6417d9 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is greater than 1, Math.asin(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.3_asin/S15.8.2.3_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js
  * @description Checking if Math.asin(x) is NaN, where x is greater than 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js
index aa82556b5240b5e6c2fcfbda61a652bd6f7a932f..3e75371103ed0f9abacb5f53151dbd356ba8ccb0 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is less than -1, Math.asin(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.3_asin/S15.8.2.3_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js
  * @description Checking if Math.asin(x) is NaN, where x is less than -1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js
index ca1e869334650cf2556d08c8c82311cef7ef9c6a..ccef8681feb9fb70c7fcfffe16b83622b1d9cf79 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.asin(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.3_asin/S15.8.2.3_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js
  * @description Checking if Math.asin(+0) equals +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js
index 7d1157034cbf716fe4848ff6fb0ba587eb27808e..afb2455ea4f1898388cf001409cbf8b3b1187af7 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.asin(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.3_asin/S15.8.2.3_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js
  * @description Checking if Math.asin(-0) equals to -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js
index e72151bbe24a83e8c7c455540a3b9c1a72aa31ca..1cd817dfa988babd27041e64ef27705370e134b2 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js
@@ -4,7 +4,7 @@
 /**
  * Math.asin, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.3_asin/S15.8.2.3_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js
  * @description Checking if Math.asin is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js
index b087c4780754d90b53ac65166f0fb771caf277ab..bffcb6f6dae8d1e9508d18711ae5f9475219d38e 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.atan(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.4_atan/S15.8.2.4_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js
  * @description Checking if Math.atan(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js
index 9baf25a01febd52e35e728b7c976681f9ad4b5bd..7e5112d1eeebd529df58135d62ecc6fcc2fa00e4 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.atan(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.4_atan/S15.8.2.4_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js
  * @description Checking if Math.atan(+0) equals to +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js
index 704bf7594856ed576ed7de23127cfab6a9cd6c3d..586ab1ea1dc6a6833ead55aca7ca6165044ead20 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.atan(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.4_atan/S15.8.2.4_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js
  * @description Checking if Math.atan(-0) equals to -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js
index 9aaf52b7ac82f11128e469cc15f2d851e9be4992..3a755aa91a7a09b12a96933a9bd5e1efcb4c8829 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.atan(x) is an implementation-dependent approximation to +PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.4_atan/S15.8.2.4_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js
  * @description Checking if Math.atan(+Infinity) is an approximation to +PI/2
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js
index f0b159edb7063dc56fede0206c6dff4f0e54ab6a..ff1794311ed85c823575d24a09fd746d9d733855 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.atan(x) is an implementation-dependent approximation to -PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.4_atan/S15.8.2.4_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js
  * @description Checking if Math.atan(-Infinity) is an approximation to -PI/2
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js
index 4fd19de036f2628cda40ebad240bf7d875afb818..d710a244e8bfa299bfbd97164a659f85b2398838 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js
@@ -4,7 +4,7 @@
 /**
  * Math.atan, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.4_atan/S15.8.2.4_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js
  * @description Checking if Math.atan is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js
index 022b30b40ea23d1acc1b6be7e8d6db67327e3207..084f53c7e7e631384ca564f1c813f78cdcd9a1c0 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js
@@ -4,7 +4,7 @@
 /**
  * If either x or y is NaN, Math(x,y) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js
  * @description Checking if Math.atan2(NaN,y) and Math.atan2(x,NaN) is NaN for different x and y values
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js
index 76446e2fb59cc74963d15cbb3a80e0ce79bbbb41..5f88e1eea83a12d0aa109e7b19022e030ab25646 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js
@@ -4,7 +4,7 @@
 /**
  * If y is -0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to -PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A10.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js
  * @description Checking if Math.atan2(-0,-0) is an approximation to -PI
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js
index 3c62435808573e94952a0c8f74761ce378a91051..50535382134d89aeadbec4a7020c0082b774d105 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to -0 and x<0, Math.atan2(y,x) is an implementation-dependent approximation to -PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A11.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js
  * @description Checking if Math.atan2(-0,x) is an approximation to -PI, where x<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js
index 85eacf7ccc5af744c2d43de2576684963bb3d4e8..6796e7dcfbac49eb33add9165c44be9ae1fe6916 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js
@@ -4,7 +4,7 @@
 /**
  * If y<0 and x is +0, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A12.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js
  * @description Checking if Math.atan2(y,+0) is an approximation to -PI/2, where y<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js
index 26118440fc5de733e922073fdd095244bf88c81d..76510d1a2e8f30126893eeb26ba92749db41e84d 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js
@@ -4,7 +4,7 @@
 /**
  * If y<0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A13.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js
  * @description Checking if Math.atan2(y,-0) is an approximation to -PI/2, where y<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js
index ec2feed2a605bbdd7b506285ba2c8c85b21afaff..51490acf8041b87c202a91501513683dadfb899c 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js
@@ -4,7 +4,7 @@
 /**
  * If y>0 and y is finite and x is equal to +Infinity, Math.atan2(y,x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A14.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js
  * @description Checking if Math.atan2(y,x) equals to +0, where y>0 and y is finite and x is equal to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js
index c42a0e293863067340da1dd31757711b830aab8d..d6dc4d20350a6928aa50ad5c5a2bd82324734b65 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js
@@ -4,7 +4,7 @@
 /**
  * If y>0 and y is finite and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A15.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI, where y>0 and y is finite and x is equal to -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js
index ec4c365c2b0eab1dcf1ba59972e8b0f31cb6e102..9421fdb00452d69bcf5da5ab9ac14d06ab53ac22 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js
@@ -4,7 +4,7 @@
 /**
  * If y<0 and y is finite and x is equal to +Infinity, Math.atan2(y,x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A16.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js
  * @description Checking if Math.atan2(y,x) is -0, where y<0 and y is finite and x is equal to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js
index 25ff82b562a72529cb9988c7ea6b4b83eca54fb4..233cbb4184b65a455f06aafafdc1553f2ac55b8a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js
@@ -4,7 +4,7 @@
 /**
  * If y<0 and y is finite and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A17.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js
  * @description Checking if Math.atan2(y,x) is an approximation to -PI, where y<0 and y is finite and x is equal to -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js
index b9c69e2b06eb7ad57732991ece9a9c9623882418..e20cffff78a03bd04665ff2f8039744e930bc834 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js
@@ -4,7 +4,7 @@
 /**
  * If y is +Infinity and x is finite, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A18.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI/2, where y is +Infinity and x is finite
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js
index 3c65b217d924784a1c1cb7743ccf363adb91419c..96973b30c2438e0be24d28976ff3ac32aa1dce26 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js
@@ -4,7 +4,7 @@
 /**
  * If y is -Infinity and x is finite, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A19.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js
  * @description Checking if Math.atan2(y,x) is an approximation to -PI/2, where y is -Infinity and x is finite
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js
index 4e7f07427120a8f4e085a1a6cef4d6991b6157d6..96f38524253dd0d7533cba67d4bc8f8a2c28bbd3 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js
@@ -4,7 +4,7 @@
 /**
  * If y>0 and x is +0, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI/2, where y>0 and x is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js
index e207f2fa1b4766329d61d3ed482b72537928aa27..5bedc82c7139eadf37df7b15e43f9c41d66f0a66 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to +Infinity and x is equal to +Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +PI/4
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A20.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI/4, where y is equal to +Infinity and x is equal to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js
index ad12de3a66b708d23eb38ccde5246e34fbffdc3b..058b5109f78392bba0863f19d090696ab4628639 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to +Infinity and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +3*PI/4
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A21.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js
  * @description Checking if Math.atan2(y,x) is an approximation to +3*PI/4, where y is equal to +Infinity and x is equal to -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js
index 80370906d5e31adbacba0a85db29b3139b5b3d05..ddf8dc3fecb850d2608c1876af4dd97e833b2a75 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to -Infinity and x is equal to +Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -PI/4
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A22.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js
  * @description Checking if Math.atan2(y,x) is an approximation to -PI/4, where y is equal to -Infinity and x is equal to +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js
index 26849fce35fbab1e301d3559cc1899cd01210e5a..29bf2e98abf2efda1ea5590a1fc81b3f29b40a5b 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to -Infinity and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -3*PI/4
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A23.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js
  * @description Checking if Math.atan2(y,x) is an approximation to -3*PI/4, where y is equal to -Infinity and x is equal to -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js
index 8f828f97683e1a372eda8d6caf3a6a2d6d9410ff..c966766ddea4bdab56fc9aff5042dd0ea63bdff4 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js
@@ -4,7 +4,7 @@
 /**
  * Math.atan2, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A24.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js
  * @description Checking if Math.atan2(argument1, argument2) is approximately equals to its mathematical values on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js
index d44e7a5ef77c5ecb6ee12960d8a2d7a7e1438a47..925ae06a79b67e92d56427cfd99afef075f1bfb6 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js
@@ -4,7 +4,7 @@
 /**
  * If y>0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI/2, where y>0 and x is -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js
index 5e873ae86c4bd64e64b47bacb498e04de16b5cce..33697a84afd044c3751956f43189c9352e66a700 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js
@@ -4,7 +4,7 @@
 /**
  * If y is +0 and x>0, Math.atan2(y,x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js
  * @description Checking if Math.atan2(y,x) equals to +0, where y is +0 and x>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js
index 6fbc5cb7887cb3c91ac7a0827e2fc19c6269a6ca..1fceab1085d9c781fad3d804c6260ae67795a123 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js
@@ -4,7 +4,7 @@
 /**
  * If y is +0 and x is +0, Math.atan2(y,x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js
  * @description Checking if Math.atan2(y,x) is +0, where y is +0 and x is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js
index 27c63c505c0323ffccb35b6232f624bf085af32a..e75cad001cdd97d37e57b7991581abe8db947a7a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js
@@ -4,7 +4,7 @@
 /**
  * If y is +0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to +PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI, where y is +0 and x is -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js
index 81f0e51d4520fd4934fb23763ed7d84eaee01afc..972befbd649cc4f956f2fdb45fb77647de409fc7 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to +0 and x<0, Math.atan2(y,x) is an implementation-dependent approximation to +PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js
  * @description Checking if Math.atan2(y,x) is an approximation to +PI, where y is equal to +0 and x<0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js
index a1ba04ae876f605a45b6bf006c812cd7a9e2bad2..51673b4c314262c41f64b436332a5106e72a744e 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js
@@ -4,7 +4,7 @@
 /**
  * If y is equal to -0 and x>0, Math.atan2(y,x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A8.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js
  * @description Checking if Math.atan2(y,x) is -0, where y is equal to -0 and x>0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js
index a29e2d7a8ed5fbc734863593fb8b9b23ce6c3d6e..56db227ac4b15e0422625e21535dcf7d430741c6 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js
@@ -4,7 +4,7 @@
 /**
  * If y is -0 and x is +0, Math.atan2(y,x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.5_atan2/S15.8.2.5_A9.js
+ * @path ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js
  * @description Checking if Math.atan2(y,x) is -0, where y is -0 and x is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js
index af70b44445d9c97d3b3b88983a8e8b06ce92bbb2..cf8b205cb594a1ea2462d5c91eeb874ec220b1de 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.ceil(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js
  * @description Checking if Math.ceil(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js
index 49044879eb1111464d1921183b2bf6c40babb190..cda2b1f77f05b14813c57689b5fad52f8a1199b7 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.ceil(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js
  * @description Checking if Math.ceil(x) is +0, where x is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js
index 8142e7f1efc5eadade11aed656a22c7c9d400dea..cc0e0dd354a40af82d95b96cf89a3bb9527e329a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.ceil(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js
  * @description Checking if Math.ceil(x) is -0, where x is -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js
index 42e6a922309f6bc5c7875143abe3067322e16738..08151bc08f6348b4cad4a3072e5d39a25b3669c8 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.ceil(x) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js
  * @description Checking if Math.ceil(x) is +Infinity, where x is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js
index 5772dcb7bd5441b06b9c45bf9f0d4bc6dd4c371e..ac16f0644f2ff19b2490f74ae3136d72f731bb9f 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.ceil(x) is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js
  * @description Checking if Math.ceil(x) is -Infinity, where x is -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js
index 551827a229e531b7940f1bd4be94219b07087533..3f3768fea80b245ed3adb9368e3cda5dc6404963 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js
@@ -4,7 +4,7 @@
 /**
  * If x is less than 0 but greater than -1, Math.ceil(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js
  * @description Checking if Math.ceil(x) is -0, where x is less than 0 but greater than -1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js
index dd6f9a438685045d2f6bfc2e97fd1384779ee14a..4f038783e13f0fd54bdaca8c120ec554825a517f 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js
@@ -4,7 +4,7 @@
 /**
  * The value of Math.ceil(x) is the same as the value of -Math.floor(-x)
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.6_ceil/S15.8.2.6_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js
  * @description Checking if Math.ceil(x) equals to -Math.floor(-x) on 2000 floating point argument values
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js
index fbf476c7217481cd666065de8503cefebacf036c..53a7380cb45d3497fef7ae3456d99e291c3094c6 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.cos(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js
  * @description Checking if Math.cos(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js
index 6950774556f4e397e802ccd12541e3efa3ecc05a..2faeeba39aec6831158457d252291d8ea02dfeb8 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.cos(x) is 1
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js
  * @description Checking if Math.cos(+0) is 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js
index 367ca57f482cbf3acc2eba86143acebbd745741f..274c29162850bc5d2f469f954f6474b05d83d215 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.cos(x) is 1
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js
  * @description Checking if Math.cos(-0) is 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js
index d3cd119b1fd58b544e2ba3ebff7a26edc618bb0b..4722df258475ff26520b976e73e6330bc8bb7652 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.cos(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js
  * @description Checking if Math.cos(+Infinity) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js
index 02ee488cca78e1b1245a113e707c3a48e9bf6373..9623fd4fe9d4d0c77c1135b795ffc7c057e9720f 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.cos(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js
  * @description Checking if Math.cos(-Infinity) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js
index 8ff9fad39ca8fd59d972983b03cfdf3427b27be5..f9099ce8932cfb2a9d11fb2ae2e25e7b3b04a0b2 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js
@@ -4,7 +4,7 @@
 /**
  * Cosine is a periodic function with period 2*PI
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js
  * @description Checking if Math.cos(x) equals to Math.cos(x+n*2*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from -Math.PI to +Math.PI
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js
index 6a6b978dc37fc074837d2ed3bbb265a4f6692bcc..3465dff944625b76e45e2cdce47ba84b363b1f92 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js
@@ -4,7 +4,7 @@
 /**
  * Math.cos it is recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.7_cos/S15.8.2.7_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js
  * @description Checking if Math.cos is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js
index 09125bd1c86a4c421ba9aadffc330166450e532a..2b79549a7160ec550206ff8bd6c72e398042b961 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.exp(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.8_exp/S15.8.2.8_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js
  * @description Checking if Math.exp(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js
index f512486910333a5f94ddbdd3f5285dafbea3f06a..b216ee261d2662df30d28bf34673939ace484692 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.exp(x) is 1
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.8_exp/S15.8.2.8_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js
  * @description Checking if Math.exp(+0) is 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js
index 551bbdfd02f3e1ddfeb39c8d3325898c242201b9..a5dc78a91cc1c486eca57448c069e32d45fd1970 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.exp(x) is 1
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.8_exp/S15.8.2.8_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js
  * @description Checking if Math.exp(-0) is 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js
index 66c22c47a82c77957c9ea287610e355dc425bdd0..110af2bc907ea4904145d6d9375f931dc322e6d4 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.exp(x) is +Ifinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.8_exp/S15.8.2.8_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js
  * @description Checking if Math.exp(+Infinity) is +Ifinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js
index ba74539b227b5619fe218b14385164fbf453ccd7..479b20a06b1a8f4614152a6bf1c4dd77a0134130 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.exp(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.8_exp/S15.8.2.8_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js
  * @description Checking if Math.exp(-Infinity) is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js
index d444d81bee8965abbc0ef1309a376da1bd886210..15bd288a7386fb952a6a84c90bc0194f4e6e7595 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js
@@ -4,7 +4,7 @@
 /**
  * Math.exp, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.8_exp/S15.8.2.8_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js
  * @description Checking if Math.exp is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js
index 928e05517be3cde055aa716c3a6139fa6a225295..b7a457c712ac21f21efdebab46e89838f7bf820a 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js
@@ -4,7 +4,7 @@
 /**
  * If x is NaN, Math.floor(x) is NaN
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A1.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js
  * @description Checking if Math.floor(NaN) is NaN
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js
index 7a2ff294f9fc127ba814c18aaa49b6be5e33ff0a..e512ef187123700eb566d72e9417aa451aff8553 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js
@@ -4,7 +4,7 @@
 /**
  * If x is +0, Math.floor(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A2.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js
  * @description Checking if Math.floor(x) is +0, where x is +0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js
index 538edd1bb77805384d6b6d11bae1aa8bdcd8a5b1..61e385e77718d90f879d9271bc83dae09f77f2bc 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js
@@ -4,7 +4,7 @@
 /**
  * If x is -0, Math.floor(x) is -0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A3.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js
  * @description Checking if Math.floor(x) is -0, where x is -0
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js
index cf6e8922a77a38ddf37aa7a19a55aea95444ee66..4f85a55f16519acf56ba17f49396758f3d8e5be5 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js
@@ -4,7 +4,7 @@
 /**
  * If x is +Infinity, Math.floor(x) is +Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A4.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js
  * @description Checking if Math.floor(x) is +Infinity, where x is +Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js
index ea8ed056562d9841bb5c00091dbe11cb87361984..9c2fcba25ae365d26befee3466a295a8ba0b3888 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js
@@ -4,7 +4,7 @@
 /**
  * If x is -Infinity, Math.floor(x) is -Infinity
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A5.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js
  * @description Checking if Math.floor(x) is -Infinity, where x is -Infinity
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js
index 111765595d530a069eec2eb5f6e3735019bd998f..ae9305f078b1389deab109e58506e19e8e7fdf8e 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js
@@ -4,7 +4,7 @@
 /**
  * If x is greater than 0 but less than 1, Math.floor(x) is +0
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A6.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js
  * @description Checking if Math.floor(x) is +0, where x is greater than 0 but less than 1
  */
 
diff --git a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js
index ecb1abf02066fe571f292349f284152fdf6a6842..7cd585b77d27b56c2c022209e1f2d80f8a3c0633 100644
--- a/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js
+++ b/test/suite/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js
@@ -4,7 +4,7 @@
 /**
  * The value of Math.floor(x) is the same as the value of -Math.ceil(-x)
  *
- * @path 15_Native/15.8_The_Math_Object/15.8.2_Function_Properties_of_the_Math_Object/15.8.2.9_floor/S15.8.2.9_A7.js
+ * @path ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js
  * @description Checking if Math.floor(x) is equal to -Math.ceil(-x) on 2000 floating-point argument values
  */
 
diff --git a/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A1.js b/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A1.js
index a80142aa3858c87dd39cd12d750f9bc428d5afe5..d7d5643d24a628f756ab1bf91c228e010116d38e 100644
--- a/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A1.js
+++ b/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A1.js
@@ -5,7 +5,7 @@
  * When Date is called as a function rather than as a constructor,
  * it should be "string" representing the current time (UTC)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.2_The_Date_Constructor_Called_as_a_Function/S15.9.2.1_A1.js
+ * @path ch15/15.9/15.9.2/S15.9.2.1_A1.js
  * @description Checking type of returned value
  */
 
diff --git a/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A2.js b/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A2.js
index 33ba228b48db07e502980211e35d2ef54e27ef0d..8f87742deaa298555ab8932022c38f9b6db0afd0 100644
--- a/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A2.js
+++ b/test/suite/ch15/15.9/15.9.2/S15.9.2.1_A2.js
@@ -6,7 +6,7 @@
  * accepted but are completely ignored. A string is created and returned as
  * if by the expression (new Date()).toString()
  *
- * @path 15_Native/15.9_Date_Objects/15.9.2_The_Date_Constructor_Called_as_a_Function/S15.9.2.1_A2.js
+ * @path ch15/15.9/15.9.2/S15.9.2.1_A2.js
  * @description Use various number arguments and various types of ones
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js
index f1b5f2ef3fc4468b7dc808d178b5fda8b4c3301c..629d08712975b2e18a8a8895fa7dfc48f9292347 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initializes the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A1_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js
  * @description 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js
index b63f70e51a9fd5fdf5b4bae791c86616a3719124..36199a6ce9635b02e4b4f84840cc1b0467b770d0 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initializes the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A1_T2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js
  * @description 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js
index f4bda9b31b16c3f55589b8a4ea7d9c0c0e06934a..da20c7b941fec82ea1113e1314fbb2c4812e15c6 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initializes the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A1_T3.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js
  * @description 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js
index 774c872419dc9b39ce4dc89eb89174807194f5f0..85c2753bb91f7248de4db7bb6b3870b32d54cf6c 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initializes the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A1_T4.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js
  * @description 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js
index 842ebcf396455d5c97a873217dfb7e34029f41c1..b3bc5324211226465f750403eaa75e7b9129299f 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initializes the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A1_T5.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js
  * @description 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js
index 69cc61196256ac97d2465c843f87f3801797247c..a33cd723885e98fb21f1b7447cad896ca7126f92 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initializes the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A1_T6.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js
  * @description 7 arguments, (year, month, date, hours, minutes, seconds, ms)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js
index 7347baabcca6d1dad94e2daa600218943d4c4952..e9a37e7dc854bfe4f83015cfca0203685ceffe0a 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A2_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js
  * @description 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js
index 323a26f132e069d6c63e1353503b789afd3698af..c9482d234ed917f724ac502dcf30985219a7280c 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A2_T2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js
  * @description 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js
index 6428792cd911ff085cd11065fbb6806fe4603b8c..42dd6b78ca05482c5e54ed19bc48eb9ca0514829 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A2_T3.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js
  * @description 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js
index 2224edb851b4fb7a4ebe2b917199e2478f288cdd..371830aa5c9e3c84e2ccd33dbc473b34b9d06fcd 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A2_T4.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js
  * @description 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js
index a5a57316087fdaf74e1464079b63aa2c60ef67d9..ca8352d2a53788cdf61bae920ae5cafdea510e00 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A2_T5.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js
  * @description 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js
index b215a5c75b9f295347995bc43e8cfe6a1eba849b..42cc29817c444e23d657cb46521b59749df10e00 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A2_T6.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js
  * @description 7 arguments, (year, month, date, hours, minutes, seconds, ms)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js
index fd8e289ac39550dc665ce422e2ef40d965dc2ed5..3b7c9cf85e6c1c2e23b46b7a4980468ad6892448 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T1.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js
  * @description Test based on delete prototype.toString - 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js
index 2e6f199e7997bec60ee1182710f3c260233fd820..16b9f14921e549817380355e08af06784c3252fc 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T1.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js
  * @description Test based on overwriting prototype.toString - 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js
index 451cc242628a4473504d6a3bad278fbbdc4ee269..00e3030c71eaeeec371119f96a97549a02e3ba4e 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T2.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js
  * @description Test based on delete prototype.toString - 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js
index 822311561fa0e7e63dba65efeded368c259664d2..d9b53f87de80e2b81fbf21f967b38cfc3bc488b6 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T2.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js
  * @description Test based on overwriting prototype.toString - 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js
index a7411d73938510fc2391249de9fd43a243d7022e..8fa20093ab6b2822d08bcaa7fd10d55f99f5da0c 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T3.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js
  * @description Test based on delete prototype.toString - 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js
index 6369bad9e12edfef67fb6fb00dadf5928b03333b..1a11ac25a4e3e202b9f61e7eaabf22cee219ac01 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T3.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js
  * @description Test based on overwriting prototype.toString - 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js
index 209b742384b9f56c33b292bf812b3a53b44c3270..42ab3dfda5905990c16cd1cf0c81886af6b6f2cc 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T4.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js
  * @description Test based on delete prototype.toString - 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js
index 138f444235c5b4e7dc54ff98baf4fabed0a2c462..b7e2710e9d640d3fe50702cc27279f3cebad2f43 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T4.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js
  * @description Test based on overwriting prototype.toString - 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js
index 679ce11e99231a2a3c620e7b05b019dbb807dd0b..7372fc8ee2ed99ba870bc32ed6f22d22635e7c59 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T5.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js
  * @description 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js
index b16a3be82a4b55824fa8fadbc6f71aa2980f6f14..d5d0d16f4f9fbf126eee85068172cc141321054d 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T5.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js
  * @description Test based on overwriting prototype.toString - 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js
index d30a5ef13949b1a0ae555b1a99dfbb5abc1e086d..16cf59479675bc8ff0f3fe4d249dd240a8b3c786 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T6.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js
  * @description 7 arguments, (year, month, date, hours, minutes, seconds, ms)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js
index 933a20a10be5bf3a3f78530b7e43fde2b6a5d650..40b9dd5b7fb64bfd3e6202a2561f32db190ab008 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A3_T6.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js
  * @description Test based on overwriting prototype.toString - 7 arguments, (year, month, date, hours, minutes, seconds, ms)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js
index d47c0d2f02addd8d315905f65cb5cd033fdd44ea..b99a9966931f968082081d528970917bd6580487 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js
@@ -12,7 +12,7 @@
  * 6. If seconds is supplied use ToNumber(seconds)
  * 7. If ms is supplied use ToNumber(ms)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A4_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js
  * @description 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js
index 4ff059735b4ad8d9dac2c2f5953338699760bb51..c711b38f4c3020de234cfe509574a4c97ca94e9b 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js
@@ -12,7 +12,7 @@
  * 6. If seconds is supplied use ToNumber(seconds)
  * 7. If ms is supplied use ToNumber(ms)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A4_T2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js
  * @description 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js
index d615a0931b00abdbf1c6920e59df344b37b9ed02..4665dd2a400642267730fe6d36e827fb9a6479fb 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js
@@ -12,7 +12,7 @@
  * 6. If seconds is supplied use ToNumber(seconds)
  * 7. If ms is supplied use ToNumber(ms)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A4_T3.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js
  * @description 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js
index 408b5d57c1d56ab70d69a68931658c391b2bac33..f27c87a71be11a6c92e9a211d5219582931f5c84 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js
@@ -12,7 +12,7 @@
  * 6. If seconds is supplied use ToNumber(seconds)
  * 7. If ms is supplied use ToNumber(ms)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A4_T4.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js
  * @description 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js
index 3ee5b5efaeeb1f300de763c8af6b85a2a03b74b5..fb538ce5262e41ddd29bfced32b584535c682c12 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js
@@ -12,7 +12,7 @@
  * 6. If seconds is supplied use ToNumber(seconds)
  * 7. If ms is supplied use ToNumber(ms)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A4_T5.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js
  * @description 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js
index 1b7f461817e962479045f8f2fa69c7c8c6454c0d..84586a1d15bdf7da2020ad89a88917c81dd3a335 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js
@@ -12,7 +12,7 @@
  * 6. If seconds is supplied use ToNumber(seconds)
  * 7. If ms is supplied use ToNumber(ms)
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A4_T6.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js
  * @description 7 arguments, (year, month, date, hours, minutes, seconds, ms)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js
index 76facc260bd4b5c1c3051b2df8d809af957849ba..d48d42acaa2d0ada2bcf44ad363488ff491c7d33 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js
@@ -12,7 +12,7 @@
  * 12. Set the [[Value]] property of the newly constructed object to
  * TimeClip(UTC(Result(11)))
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A5_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js
  * @description 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js
index f2e2562e65551b057013698b92e9c673d913c52b..714f30797de60f9887fa51a215eb56b816916a84 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js
@@ -12,7 +12,7 @@
  * 12. Set the [[Value]] property of the newly constructed object to
  * TimeClip(UTC(Result(11)))
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A5_T2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js
  * @description 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js
index dc2100d6aea90352e1d9a63c7fbe25de60de74cd..540b3582cf759280db3475fd5ef37a5a04a5c19d 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js
@@ -12,7 +12,7 @@
  * 12. Set the [[Value]] property of the newly constructed object to
  * TimeClip(UTC(Result(11)))
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A5_T3.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js
  * @description 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js
index 780c5726253292d0f79cf6535916f867f597882f..33051249912f221831d17caec97b9456ffd7ac2f 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js
@@ -12,7 +12,7 @@
  * 12. Set the [[Value]] property of the newly constructed object to
  * TimeClip(UTC(Result(11)))
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A5_T4.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js
  * @description 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js
index 99429a6ce54027f88453effe80e651b276c31bf6..dac5d1c1fbe5e79210482d6bbbcf9428673fd777 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js
@@ -12,7 +12,7 @@
  * 12. Set the [[Value]] property of the newly constructed object to
  * TimeClip(UTC(Result(11)))
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A5_T5.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js
  * @description 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js
index 4653639ca34d955a41a1c00098766af002ee104f..86a4ac2297755a474cf307582d9f6c14076af4c1 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js
@@ -12,7 +12,7 @@
  * 12. Set the [[Value]] property of the newly constructed object to
  * TimeClip(UTC(Result(11)))
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A5_T6.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js
  * @description 7 arguments, (year, month, date, hours, minutes, seconds, ms)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js
index 11b0a6cf56d2bd93668a69afbc27d4ffc008d5ae..887cd4e89980e11cedb16bb8e12fc2cfb5f00bea 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * with supplied "undefined" argument should be NaN
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A6_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js
  * @description 2 arguments, (year, month)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js
index fa04a7929f41c3435591dd7d83b6900e5aaff410..3c3ff0cd41e80de046d134d0c55dbc5b58787a1e 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * with supplied "undefined" argument should be NaN
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A6_T2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js
  * @description 3 arguments, (year, month, date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js
index 076b4c1482009bce3bba7cd7b258b61e0ab50ce1..311fca2fcc3534d060ba18b657fe15d13f204617 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * with supplied "undefined" argument should be NaN
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A6_T3.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js
  * @description 4 arguments, (year, month, date, hours)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js
index 2e8b214870e1a3365f97398861080b4ac5194392..44a235743057231298341aec8b17e3829087ca04 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * with supplied "undefined" argument should be NaN
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A6_T4.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js
  * @description 5 arguments, (year, month, date, hours, minutes)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js
index 0314efea1ee3c00936d1edf1c89927c0852f8f2d..d22d80aeab5ba62a4f79445f0e8ab38bbeaef3c8 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js
@@ -5,7 +5,7 @@
  * The [[Value]] property of the newly constructed object
  * with supplied "undefined" argument should be NaN
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.1_A6_T5.js
+ * @path ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js
  * @description 6 arguments, (year, month, date, hours, minutes, seconds)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js
index 82dbe833ab2ae1ab60442858a58c7e9581e703e0..b0d9d93f7f7546e41a15d9fa53baf389c645d617 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js
@@ -5,7 +5,7 @@
  * When Date is called as part of a new expression it is
  * a constructor: it initialises the newly created object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.2_A1_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js
  * @description Checking types of newly created objects and it values
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js
index b290b934961dbf0fce65de547fff93776dd36950..588612961c5b909a0231cc8fb0ca3e7199d279e2 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js
@@ -6,7 +6,7 @@
  * is set to the original Date prototype object, the one that is the
  * initial value of Date.prototype
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.2_A2_T1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js
  * @description Checking Date.prototype property of newly constructed objects
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js
index b4643504aa56eac70c351f5b759a685dede5c613..d95df2702717fa5a2df7172f2d8aaf5cf8dc2487 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.2_A3_T1.1.js
+ * @path ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js
  * @description Test based on delete prototype.toString
  */
 
diff --git a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js
index 4a608361daa32e710cc05b70e9f07c80c8f797d2..824bd006a0f4439c6906b812b37aaec2beab0d6e 100644
--- a/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js
+++ b/test/suite/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js
@@ -5,7 +5,7 @@
  * The [[Class]] property of the newly constructed object
  * is set to "Date"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.3_The_Date_Constructor/S15.9.3.2_A3_T1.2.js
+ * @path ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js
  * @description Test based on overwriting prototype.toString
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js
index 652e40984194785384feedfdbbd49dd2ef695d2d..6d357cc4b77b93db642d3983564a1bf7f65fa0f5 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "prototype" has { DontEnum, DontDelete, ReadOnly } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.1_Date.prototype/S15.9.4.1_A1_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js b/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js
index f68e1dbf8016aa72d252bcdabe06e6ad6c80717a..5885ccfaded93829be777d57ffb370248e9a9903 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "prototype" has { DontEnum, DontDelete, ReadOnly } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.1_Date.prototype/S15.9.4.1_A1_T2.js
+ * @path ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js b/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js
index 1d94618330e5f804be030a6cb7ecb2ac8c715a61..980aa32512702494cbe5feb3e48c80be36fc5d0f 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "prototype" has { DontEnum, DontDelete, ReadOnly } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.1_Date.prototype/S15.9.4.1_A1_T3.js
+ * @path ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js
index 1e5aef76ce1b191414554d6fd96f42028cc469d8..2fb4afce99eb89a4f61d8585f5ff9ed825eda856 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "parse" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A1_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js
index a2aae6e168dad6db9e084eb9855f8471a986da2f..c3cac9de87a82417321e8e55683ae60eaa704207 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "parse" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A1_T2.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js
index b210184ef8546faa2e36dff61c6395402bf08716..a0386541bd19a3055a782ed33d405959a2f89849 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "parse" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A1_T3.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js
index 20b922ab4a68d4bd74df484a564a2cdb8f98d571..579c1ecd6b46392a7d1d3121317eabcb23e728d9 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "parse" is 1
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A2_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js
  * @description The "length" property of the "parse" is 1
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js
index 34aebc3405badd0377c3ccf7e83846d950d2a349..e802350b42e9f486ec58539f9ecdaaadc0a3e8e5 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.parse property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A3_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js
index b7ff4436c580e3f4605efaaa59383750823d19c9..a613528aa013ea4c3010d80b9784371a1d8941f2 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.parse property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A3_T2.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js
index 8c2fd9a76a65c532c17bf59d14245156c8aa75f6..13b9cc0adf6413eaf4aa0407b65b06bad1623a3a 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.parse property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.2_Date.parse/S15.9.4.2_A3_T3.js
+ * @path ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js
index 8614cd119f87e5b32373d35f3fff58f3adfea9f5..6df1fbc65e5fea5aef7eb01b531ccf02e23c424d 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "UTC" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A1_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js
index e15fa7c198c467f4e3a09cb48db0a935b9cbcec5..f4214ab90fba8d9a50b2382d630f1798845e7c5d 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "UTC" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A1_T2.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js
index 36f65c29d03f572f61ebcafc6aab9a809a2ca918..cad9d23d172d95da5a694f38712b9f50ea645e61 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date property "UTC" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A1_T3.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js
index 90f0c990d73183b535ae9eb552cc059456c7fd6c..5e99089e542a30f7d9de6def9030e157f3ab3e73 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "UTC" is 7
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A2_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js
  * @description The "length" property of the "UTC" is 7
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js
index 62c029730fa9f28ca4dcc119eca26a9ac5fb4d93..9935b2f3522753372e29f314c57fc8324c007a35 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.UTC property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A3_T1.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js
index 1e31319b284bf101d1f63f766bb57fa1ce879965..725626ab3325ebf55e79b6ed703ba387419fb195 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.UTC property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A3_T2.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js
index 43340e3b3712bc0b3ed21905743de1699d416f95..8eb62a943b8547a6a7fa083ec4889433d78a54bb 100644
--- a/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.UTC property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/15.9.4.3_Date.UTC/S15.9.4.3_A3_T3.js
+ * @path ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/S15.9.4_A1.js b/test/suite/ch15/15.9/15.9.4/S15.9.4_A1.js
index 1562909bf37c036ca560605df6adf32657ccd211..0136767f72474253e00833f72d189654a39b239c 100644
--- a/test/suite/ch15/15.9/15.9.4/S15.9.4_A1.js
+++ b/test/suite/ch15/15.9/15.9.4/S15.9.4_A1.js
@@ -4,7 +4,7 @@
 /**
  * The Date constructor has the property "prototype"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/S15.9.4_A1.js
+ * @path ch15/15.9/15.9.4/S15.9.4_A1.js
  * @description Checking existence of the property "prototype"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/S15.9.4_A2.js b/test/suite/ch15/15.9/15.9.4/S15.9.4_A2.js
index d992c71876d7b1f2883b3eea2672061f43e24eb0..6fdd2de7fca61e5ea8613f2002291cf46d907eda 100644
--- a/test/suite/ch15/15.9/15.9.4/S15.9.4_A2.js
+++ b/test/suite/ch15/15.9/15.9.4/S15.9.4_A2.js
@@ -4,7 +4,7 @@
 /**
  * The Date constructor has the property "parse"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/S15.9.4_A2.js
+ * @path ch15/15.9/15.9.4/S15.9.4_A2.js
  * @description Checking existence of the property "parse"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/S15.9.4_A3.js b/test/suite/ch15/15.9/15.9.4/S15.9.4_A3.js
index c0efe92b628ab89e1347c83d00119a796bb0d78e..6dd7de3f75ace130a49eb640c6a227eeb6732076 100644
--- a/test/suite/ch15/15.9/15.9.4/S15.9.4_A3.js
+++ b/test/suite/ch15/15.9/15.9.4/S15.9.4_A3.js
@@ -4,7 +4,7 @@
 /**
  * The Date constructor has the property "UTC"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/S15.9.4_A3.js
+ * @path ch15/15.9/15.9.4/S15.9.4_A3.js
  * @description Checking existence of the property "UTC"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/S15.9.4_A4.js b/test/suite/ch15/15.9/15.9.4/S15.9.4_A4.js
index 6467e08578df68c4c16edb64c89606436338aef2..127edb03be3f000d4091415ea2e32fdc1fcb7d13 100644
--- a/test/suite/ch15/15.9/15.9.4/S15.9.4_A4.js
+++ b/test/suite/ch15/15.9/15.9.4/S15.9.4_A4.js
@@ -5,7 +5,7 @@
  * The value of the internal [[Prototype]] property of the Date
  * constructor is the Function prototype object
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/S15.9.4_A4.js
+ * @path ch15/15.9/15.9.4/S15.9.4_A4.js
  * @description Checking Function.prototype.isPrototypeOf(Date)
  */
 
diff --git a/test/suite/ch15/15.9/15.9.4/S15.9.4_A5.js b/test/suite/ch15/15.9/15.9.4/S15.9.4_A5.js
index 575fbdc01aff6f4b35d8e5071398847f3abbf7d9..13520bfbfbef4211544ed9cadbcd75e59383c7d0 100644
--- a/test/suite/ch15/15.9/15.9.4/S15.9.4_A5.js
+++ b/test/suite/ch15/15.9/15.9.4/S15.9.4_A5.js
@@ -4,7 +4,7 @@
 /**
  * Date constructor has length property whose value is 7
  *
- * @path 15_Native/15.9_Date_Objects/15.9.4_Properties_of_the_Date_Constructor/S15.9.4_A5.js
+ * @path ch15/15.9/15.9.4/S15.9.4_A5.js
  * @description Checking Date.length property
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js
index b079f5cc2c8cae32e6bc2daab07086d7c21ab2cf..85d98138f26ac33d9bfbc8ad94b721214f179808 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "constructor" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js
index 5d02429467bb94d8323ca17349e178b7aa598f6f..700e781729d266dd23bc10bcf6c2899f369f045a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "constructor" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js
index 3f602435b48883d9b0a91763c89e9526700423ae..311bcec9f10b8d573ca74c20cb2bf9475dedd0b2 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "constructor" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js
index 9c370d664e2461f7f1b36f7b17d7580cd3630c13..cc19d71232d143a792361d4d740a9c6ea17c0860 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "constructor" is 7
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js
  * @description The "length" property of the "constructor" is 7
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js
index 95a05ca2efc2c1b4fd5003506fc2abbdc9a6a383..d7d46b0f8af54ef347c9dcc0291def032962d53b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.constructor property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js
index 20c0d05641da40c2ab72eb216419eeee4534cc60..3da0dba9036d0798636d14873f611d8e1e5cd8b0 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.constructor property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js
index 87777359ca3fb78db4eff1999b0cd58f87604001..849b58b016e86a1fcd120f30e5dc7a499bfdcdf6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.constructor property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js
index 2eea35816aafe3357d735f8dc35f62b8fc5dfb6c..32dcb04fde2fef60a65bec7d735a697d3260c0a6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js
index bbd4366afa05fa4b837c2294f92de954e2a187c9..48ac01fa075d7ad8ab8155fba9f00bb5562b3346 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js
index 99a2f97fe1e8f9bc06a3280a9d6ad8fbbb73a455..e89854f71902621d331dce05225b21a427fdc3b5 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js
index 19868fa93ce2d990ec3aa5894ee975b6ed74f998..935f21c0fb1e2381ed20edb721963f555c021a2b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getFullYear" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js
  * @description The "length" property of the "getFullYear" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js
index d98c73834ca0a7dba3bd6ffe684e2418fad38aff..61ea3058fa8a0f0e903b589d534e861804abe8d1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js
index 986a13cf0666a61f8d84e4d818889255640ea239..f038c67f36896e44a2ddf12fe40311c517f82a98 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js
index e692047624f6a3a9f31827a48a27d7873377f82a..e15219d55f712bb35a513516f7e63f4b5dd6e484 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js
index 12b2909e7b6d5f830ec38affdd4179500fad9b6e..77c3065019ce3d2799e28eb58276835f7bf53da9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js
index 36664b75f8bb0a6b8d21760c3cd9c629d9116765..7f9bb3ca82b3021cf51ca14630c1891a359c1a6d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js
index c3d53172d0f17938ac4e6d10e10de996c9ff0439..8641b5bd2729a1dded96eff854bbf7b9245dd9c7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js
index b4658d0f31ccffa8e58b57d7221b74617737ac6a..41624187caf0ddadc3ec3c0ed8bbf85cb8791ef9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCFullYear" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js
  * @description The "length" property of the "getUTCFullYear" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js
index 34b367e1b60dc950d53bd88304c0ddb41e6dc418..0139980c592a7c2176dd41bc4d599d9c4b99d753 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js
index 71417d8dd62d4fcbfb75a4b39cca7439dd41d06f..760684fcc201652dc2bf10c7c033efbff9ceaf28 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js
index 0e5a6c534b82cd45d669e3f7f53804f3921b1397..92c3a7b0d33ae7ab525f9531f1ebee65d4d6a73f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js
index 30e5095ac71ba1b5907fcc55c33f00b435bb0902..556b8408a1498794a7bf91c4a4585aaf6364be90 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js
index 77ced5bb5f63d14d75b2f89570c9896222e3e679..3c10eae2eb33dc7b83e654cfeaaa3fc7a2fcb597 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js
index c0411e7ba9fa5449c04ae925c0fda13d9283167a..c69df97930cb2f93ab16975cdc53d6b7716817fe 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js
index a2675079fe85d18f193cedeec3858e9c7d6d90cc..47ed855ed76295e2b704c3ef5d2bea311c77a21c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getMonth" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js
  * @description The "length" property of the "getMonth" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js
index b5de9610aa33e0047cf50cef58b36d07149a7040..bf5bf66f73bfb417f088e7d345c36617143e6f20 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js
index 82d39b646b3d3f64765c01351bc4bf09d9a6eb13..d555488ececb5ea8663299a33a8d1a048f13f787 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js
index ef568776776c2def8ca21e41f278eb6711f282ec..e19077e23bf22e3656b3ac4b9db33f838bb30417 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js
index fdc3b3d6fb3d851e66a84035f90798a9b2805a51..7b52ba2de838f9cb5fef3c761aa7884a64d8cf3f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js
index 8f85c26ab1bcf221cb39d37a25cc1884e876ffdf..e744f8df6f809673a5799601f8386ee95628a6d3 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js
index 1cc676ca97654b223826f13f4b1a17b074da6c1a..c09e96f41691e286c6408775774d8b33f0931e61 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js
index b2696be4b42ef7b5fab638f1b9d23108bdca8c8f..9d604be79ae0e9bb0a384f9905fe1e68b8d3ca89 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCMonth" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js
  * @description The "length" property of the "getUTCMonth" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js
index 50102f1f62e43f9c19bc3021f6a50633e3c86b67..b368629576723f0e5d4cc5a49aae392131ec24cf 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js
index 7bee696f226b19adc54ff195c9f2b424aa6a15ce..850415584ef5318631b33c1c1d509e7da9c26f81 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js
index 032d9ffa29da44e86fd1045ea7bccf429d017b6e..3e364a3d6694a91aa9812eb53ef452607ad166be 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js
index a7266ac93f89ffcb5b1551d3fdb884eeb074a245..40699e8ae1b8e561864f94918677cbbf729f6dbe 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js
index b6ea2fdccdbe339ffa1205f9adab638a3af213e1..fb82614828491133bbd013cdcb7d5785224fc439 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js
index 1762bc278840bbccc8b4101973316ecd059fff48..1dc39e93c87930c1c29308a65c06b78742fda092 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js
index e5b8dd4f9167ffd36c9249de76e4a7ac44720dad..ecd6fb8ca1f501c88f3f8bafc501336aa6b61432 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getDate" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js
  * @description The "length" property of the "getDate" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js
index 295b7f586e6fc372022833550f5a42bc65bb0dbe..942319f7313a9f0b991a4e9d99f93ab40ace44eb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js
index d0401857abbeb51a7ae552a42fcb304b3e551ae3..ad36fd81b25cbfc4836153f5f8db4fcf5bd8db53 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js
index 5292cc04aef8b85a6f1daeb60637258d8845632a..ffec9e3f257f20c69b5184bee4265b27108f3f78 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js
index 25430d484b53e0c0d2c6d2a0355368cadbd0eee7..b07c42ee4ed2af9abc8ec921f306617976223519 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js
index 5baed1885916071988dd240e157d62d98c621d18..94425617e9830f4eb0335cd8d871b26011246024 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js
index 5a9196620c6bbd5116648e8e91a0527f573536b0..1f9077223ae37145aa32120a805d6b2aef3787b7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js
index 4c92709c9d7fb6989adeb1506e7dcec1f7898359..ccdad27aa009fe8c0b16d28b2ae72e6afdb9f8dd 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCDate" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js
  * @description The "length" property of the "getUTCDate" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js
index 9115917e4f3d1b140e6b2f274ff5a3d47d031a77..f91c38358f5dd166e455ba6dfa17819ffb178adb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js
index 456f158e56825eed599c9d1be94487fcf7312d75..e0617d4469440ab25c3f8fd0613d808dfa4c55cb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js
index a6b9d963810e98f792fddc7d0cd7583d559ac974..849a02db0f9899ba93f888c679ac3e0b22cdde97 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js
index cc4b441c6534cba667c4b18860c18233236f8dd3..51eeb1ec5542e288192fea61f00d325c3ceb8032 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getDay" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js
index cd18252fd18cb72ad684fed7ae270e075d1a8d47..09f499c788441aad344bdff87aa29414254fc363 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getDay" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js
index 2413c79b42969152d0d9ba4219bf25b6785d6fff..566071d9289ffaf62c276278625a5b4ce18a5d18 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getDay" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js
index 78cd8ca2ad3f0e244b3686464841c8020048fdc6..02d078baf4b6f8b85246b7283b27ccebda18f773 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getDay" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js
  * @description The "length" property of the "getDay" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js
index 3d509484b6630aa3437139a47a016e4fdaa49e5a..71f53d71f84880e4362478029070667d0fdf3354 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getDay property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js
index 344f013495159698eada6f608269c61236adf449..70d64e1d5bb42fc4508ce7f1f348a69cb3ac713d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getDay property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js
index 5d0ce619b6ac7f0807fd0b0b06a660c14172e1e3..7de02a0d9b483ff5f54c8fcfa0d01ba63bd237e7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getDay property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js
index 1d5d1fc6cb1b98340c98c6b19a463690ad6efc25..2ea4490283bd18a52a80d01e4ef857539cae5c18 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCDay" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js
index 215cec5aeae1a0600b637127ed32c753a87deeb8..11a9d0ea3383dd028f50f0d19fcd33b97352cddb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCDay" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js
index 6fe5967cd5c790c2de80aebc051fa6eaa2464a24..c336efdca53aca100476fe80f04b76dae3e56916 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCDay" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js
index e69376731205f98b3ab54b7b61db691e1e1eab54..f3699c47d6160b4659ff706d6e9cce6932d50c25 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCDay" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js
  * @description The "length" property of the "getUTCDay" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js
index 2870bd585cce6b49c6b3749e731db15e05afc721..533c59f3fefb3607c7fe66ecdd7a030066f580af 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCDay property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js
index fd0bc232a19a7ce8cad587e3455bac59828e4163..96faa270c3c714020f189f74210dd4a45f55b1dc 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCDay property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js
index ff12b474de786333d1a6de8d1a9ea5c94b8c010c..89e7f5e3897ce9829a9011ee27be8582879a2f74 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCDay property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js
index 3eb8abd4f9b6ac78f427ddd96803e9a6c91cfb47..21df7c849b579ba0b1a352ff8d3fc7ec91fac239 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js
index aba00b28aff6ba0b6030cf8328db823e6c5171a1..3eed77e596cfd08e5bf44341dcdf443fde76c585 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js
index c3a5082f0f297de7d63a44870605d983700e9f9c..2c06a04c5864f498f4f6bee2f65e3368517d04ea 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js
index 5e6b3e06588d003d9d202c065e996131f69e982d..abf67c9923967cf2b8bd7349828faa7b78774013 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getHours" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js
  * @description The "length" property of the "getHours" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js
index b1b1a124a2cbca43e2dc739107448f6b1f05e272..6226fb411afd73c799d8238ed8a23093f5f109d7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js
index 2f2155ae6fafcd5ac439883190e99ddafd30237b..7d85033751d539f4e65044233d1ce107a0d9ba67 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js
index b1f2000ca10ededd6fb098a92f7f7536254716d7..2639f7f359ccc1d9dbd60ad6deb4d4ead289ae2a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js
index 8fc08594ed07fed8c81dd628c893702b487b4ad5..83aec2d9facf06de341f93c751083f6a304c6564 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js
index 264852c9833c477f0fc97d3460d4665996e54fa7..dbe96536f40956ea3d1881bbb126af07ded13a65 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js
index e145279f3ba1cb72757a71028e67e9e0c740df4f..cce1646415ef45b60e52a0d464fdcdebb954bd63 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js
index 5e8980d1f95860a0200a9eaea476866a763f97bc..8bd281f48ae68b70171b3e6e79562704629f1a82 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCHours" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js
  * @description The "length" property of the "getUTCHours" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js
index 006f4fa8b723feb8d7afbb5f74ecc59812d6de86..f3a6d38bbf08b9c9b8597c3687af8ef1be9b99e6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js
index dba812b2db27a5dc8171b8094a0bdb50fa5c452b..2c6be6fcfabeb69e3bf11768893ff7b4cf96dc5f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js
index c09629ac134283a1e2f0d6d46d67f42a1c2544db..2f6373d3a11cc0b55c2eef1fef5acfd97d1a303d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js
index 024922d5e0994ed0ddc766496399dcab7ab525fa..3e56c55ade9436e55187ee77768a2d15484cc967 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js
index 74c6dc03d155a7c8c1249fc2b10747c5cd2b09c6..f1a5d6fba1163076efb133975ec017d7844b3ca9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js
index b5cdd4ddd113b72c94122c02808fa4260fccafad..489fe75e13f4cd0f8d5a5b1d36958a47c5aef6c1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js
index d415c229f6d7c90b454038d308aa72ed1e43384b..faa1123e692b1bdfe72d490e8defbb02458d8d94 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js
  * @description The "length" property of the "toString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js
index 8478a4bd09ebc886c1f4c05f50557e980490acff..fb48956188b851d25f2d40fb19920fde5a054cea 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js
index 0ef696b42ea2ee9559bea1e5a6922023790230f6..74aaa12a05b0f7fe4a2c7ec98d1fefa6f33f379c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js
index f26b70992b1590b7a072d174567712147d12c728..67524d6e00b2bb8f5cde7f12b2130d3577529b7a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.2_Date.prototype.toString/S15.9.5.2_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js
index 01b6ac3c48ccecc977ba3c69279c8b93738fb0fc..c006aaa9f5a4aa60292c81aef184b1906c45732c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js
index 33236edcb84eb694c4fbc88da1e9debb17e9e285..e7c433356c19d5e5758c99e4f8589b8cda6c514d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js
index c1738db5e352e6cab454d264cbde36df18a505f5..6cb2fdffc08a3484fe30442d010d36e0490c8250 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js
index 517943a7146ea44a89269be526a568661cf41e82..7c12101cbf42010a0432f336ede34cff150abe08 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getMinutes" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js
  * @description The "length" property of the "getMinutes" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js
index 31bcd077a3a420238865b76f3ca15ca782980bf3..b179bb4eabcc5cff69e4b19119c92f05c20938dc 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js
index 7643c1dff239de65d35f8224087c1f3f6241ad19..b5c9881d138fa4d82a72b0e2813cbf669d623f58 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js
index 6a5e2fc58ac3566e3914dce83cd571d0554ac99a..720c89c3f302c803db26a9c4c3921b9e395672a9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js
index 52b50692f4238131d18c7e9152d2c25379da6576..a9815a7b1a3af1cee967e341a65f0716d1adebe9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js
index 1b853168c301219af41c54151613290b79a866aa..e37b3ccd70061ee439248c9e9b5f7e6070d57eaa 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js
index ac4f65070fa7bc17340400298623439658e40b15..e4b9e14cf9c08b47ea7c1d7dc72bd1f1ff123f0f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js
index 927b1ec82f1dd45a93f23296761c087c3aa81cb2..bb81eb252358d132b0f5efc417cb16e45673badb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCMinutes" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js
  * @description The "length" property of the "getUTCMinutes" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js
index 67416c328812df74915d936c470de86042e31e81..747dc26a16095e90523662e60f40ba5222bdce12 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js
index c3affba78ddd802570e61d8fb3169d9068772f97..cfc633fee6ec108c2c1814359a13a0e4b35e818f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js
index 6b56fb202dde91290faf98a9b81e91e8370e46cf..419a6d45c58fc1833aaf6bb2687791295dbba497 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js
index cc92ae800e36e39c57e0e9c4b7458776c8b22e97..e2999bc32308b411995b8b14f4c6f9305c93651d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js
index a9cb925de17a39c304c94c55db6a9fae2c48ae84..f00746bd36147e526bee259b03b3d275461aa98f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js
index c402bb60f6c1468641503a714c30ef0071d72668..302a570b3382fb3252d296a43e7ee8e8e3fd2c89 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js
index 87be75588e0b04669c718ecf236fb6a3d5bfca19..35dc678fae89ab948da74f3659db362555439e8d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getSeconds" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js
  * @description The "length" property of the "getSeconds" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js
index 9fa9a7d426cc5629e2debc538a462f8fbb96cca9..daf06895d1dd3f32c2294d16e775a1ac77fa7e83 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js
index eca08bf60ed754f1c696c403f89745b967e3c864..83b659f12f0088b94ba6b55019aacb29673d10b1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js
index 32adb2ff9bdd9a1aedcecd1adc6eca40b82b5ff5..b188594129aff04eb62b896bb6d09f894db3cea8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js
index 70ea31c767adef3bd834187dfb95a2b8693b91c6..0cdbf94275fe63b8b2b5a07292254077b479859f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js
index 937b60aedd8515351dc43ba7f3b6e30a65f14f48..f5e7db5f48c9b761e39cce71462a73c792f4ecdf 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js
index 215313640f19bed83044b7b373a43467cb6213cd..ffe8be9b6655d91a437dc32e4039d8f7a8548a20 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js
index 26a59563605a2eb46afec65853be55d568ce3660..fc133e721f2e667c8a21f342fc343d9f670fc0ec 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCSeconds" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js
  * @description The "length" property of the "getUTCSeconds" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js
index d041ba92719ac15c7df2333cb659ba311121f7c6..cc7476cae0a7bd0c8a144a926db15ae12b8919a1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js
index 26f225d1061eaf310a1710ec7d98d52af86ea554..dedb7c86d56f035b9707a2a225bf998ce8fbe602 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js
index f285ed5dcc26804dfeda2dcb522127a0b6e6182d..04bc31c507b506eb9438c31cf1eb2444cd256e83 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js
index ad254f462aa3eb86ff9ad9d93b45bd306f5143fb..fd166c2ea8aa6fd7775c51d282dd4211dee6c538 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js
index 4b5887c2bbbbe67cd642b3fa798c5b45a7f5e7ee..b2b37d417c03419b091c369a5a7e29f6e18b7ba7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js
index fb7398feea9eb06e950b40af7fbeac94b990f60f..a0610a7813ddf00a9f37476d02dcf849329b5fe3 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js
index 33e2fe8e57e32cca29488127a193e1f4c7f5b364..2383ea3d70f0ab8538aae3997848bcea8b9a3154 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getMilliseconds" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js
  * @description The "length" property of the "getMilliseconds" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js
index 3c31e840a8c25afd83f9a6566f28e178827bf496..9b79b4ac0af0c6c1b45d63d3fe2934739983b031 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js
index a4b06ab7299dda99e3e4d546f4d489c20c7f7254..04d18b9f8f693757c644bd7bbbc3a082b1f527a1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js
index 97d04d96cffbfd06cb1554ef577c342934a00422..d124f847f58070abd8ac258aa21ad372f7728432 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js
index c5671a581ec27f9fb059501e9f00b779250a9fdf..bccbfde149164d76c34930ccd024bc7825636da3 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js
index 37d28395137aa66288e99bdda49b4f79f9fe6cdd..17c840b02d4ea31f0076acf96f81824d5d37ee7f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js
index c0eefcce3e6aa1ab5f0da53d45e51008b34a03a8..ead8d5d017ae5b4ea7a18e4324e7340d61bf0277 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getUTCMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js
index 2c5c7f85d8e5d66adb5067802f785a76c8b1937e..e2889842f253dd790be85f91c1e5136ecea8dfb4 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getUTCMilliseconds" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js
  * @description The "length" property of the "getUTCMilliseconds" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js
index d611f11be2dac146287bdcfa356cc42d1c1e4c23..5611af8ca7a1f88d41dcf2cb2a30fa365709c72a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js
index 28be73655336e083ca44d033af799f3a7e29447b..0e7f61c4d8b698e65d4cf2de0ab688d46402b89b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js
index 38341afaea4f66ef857ae20b465ed8a078a3f6e9..7ada8bdbf0f4e270f91ffd1533b7e688a69e68f8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js
index fd7b55126466e5c1b9574ff2cca24351226d04b6..603d2b7ef5abaae944a88666e98a9b19f3d85f9a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getTimezoneOffset" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js
index 2044f79c4f98734f3b0f16d919a09f2aee8c7d85..b212690deae22380eb762fc4803afc0b63eecaab 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getTimezoneOffset" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js
index 918210a959d159cf2c859e29009edc296214e961..fb4a98de96f05895f863973b9c3ef27d5f75ea70 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getTimezoneOffset" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js
index b8dacabb17b90d0cbf905019d2536f757d9b591c..ef197f19f4ff58db6726bb458ed672e555517922 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getTimezoneOffset" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js
  * @description The "length" property of the "getTimezoneOffset" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js
index f72cf9d46dc798b5154b6890b11cc1edfbd02733..722b2f96e5e0c5978df7ca02f56fd370b469b546 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getTimezoneOffset property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js
index e493caac9991066f4a5a858c339e2c2d6806fe50..f17cfd443b067bf92153654cac2a61fc61dc3a8f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getTimezoneOffset property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js
index 5902730dafe88733380b9c648d1428f31ec8b63b..74d6c59a8922966e2083c71241a72df2f5bf430e 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getTimezoneOffset property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js
index 4b51d42cb5cdc4be2b75027b07d505a17a7fa376..4f7f057824a30d2abb0bf92c7caa34141c564391 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setTime" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js
index c7a45d322f115f2848a50242d7184e445a0ee95d..51ac9d33f3e83b825f0f1e64b53b738542b03743 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setTime" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js
index 16ad7da7f551dc60d931aa5eb8e311b3b9b0f4d9..724a4492081ec6074ab1c4c47eb48b26a2697f67 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setTime" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js
index b4414caefdabcbe7bbe70464f9f5dec0e7b6c2d0..eaa2be63e45fc4ab922d57fd9172d6b9a895763c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setTime" is 1
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js
  * @description The "length" property of the "setTime" is 1
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js
index 6adc464e255b6db1184b258473a74d079d8ec9b7..f6ed13a31929ae362390dc639c8397d1c64c36ed 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setTime property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js
index ba5b522b49e2523eeb9f913f6574807e3d91258c..81e9083667e9582afde04aa370c6d7e6d721d913 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setTime property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js
index 20ba39a69658f691efb0a7fa9407513f06e9736d..8b8076aa2c3f4e4155d30d130358974d5fe4695a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setTime property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js
index 5ef2b8e511020d54a17e93fd803bb6aea0bf675e..5cef7c9d2dffc4ec8058d2820e4492a01d7f6b7a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js
index 42a5a3c1246794b9cc6e5280c3b2d4f75c4901c2..0a2bd573cf49f9cf8cf720c7ac460256fc6942a6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js
index eccdfaf41cef8c4743146166922ba62eb0c8f4eb..0a971a540bb7c9e0d4e9ba74fb483d6e938c1c05 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js
index 93830eedd3d5ec8f9db3ab245c6c0411596293a2..dc0f0de0fe93813eb28ac4d4344392ea919a0843 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setMilliseconds" is 1
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js
  * @description The "length" property of the "setMilliseconds" is 1
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js
index bfbe1e370bfbf2e59c9f06a9f87c35c9d8f49db9..11e36f7fc1f6bad358feb5fd900fc1f2781976b1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js
index 90acca6382fe39629a2082b3a760f6f2b6c374a1..54496662238d5c0841b4e37f2f60fbdf27740de6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js
index 608e7c6fb208e59f2df33bfc134bb68bf2da16e0..5f8bcfa381e3cef4002a6d21b05b98702c03911a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js
index 0c5182d39eed15effd0bc368d52355cdd34cb754..9449b1a745a8b880a978f400ceee5655d602452a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js
index 12aef80b3c99d0061b4566e4d97c082971e99ec2..9560e635b247a785c92c08a6874fdc81bcfd17e6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js
index bf0bf045ea35d0ccd3ba6dff847972749fa71943..9a06d18296af4b754633e36f9dc343888eb54b95 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMilliseconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js
index 5b8e6f8c56aa142c76c736b6cb9065da0d9fe1e7..f511aab549bc515704cdf4b0e999fd7a3aadb9b4 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCMilliseconds" is 1
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js
  * @description The "length" property of the "setUTCMilliseconds" is 1
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js
index eafabcfecd35cd2541a9b32f9f9e03cb6230b88a..34cc244536482fa3e529ded85c431f53547338b2 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js
index 5ce95d0fed68b06ab06b3b7fd852107c9ebded86..50230b077561d4e3f98ecc3130a9ca91fd9d3e5f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js
index e9d0166b177bc778d01ecfa2febb5eb054482266..89742c8dafb692c96511c465d5d9e6cf239c4f84 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js
index bdf04e66d8e87c0b2e40e83ed6e707f2d6ad4584..53ef69842f758b7eca5fd9462815089c6bf73bb0 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toDateString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js
index c003d71b01596c10d3ff41b94d3115fe7bccb134..19a98a7b621d71377651e7ccf4d4c8a8b944753b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toDateString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js
index 916bcfee24b297e49a79a5b8aa87ec420b47f81c..49874ffa07e95e15ec1056fcf4fc10b7316ffd76 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toDateString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js
index 9b097b2fcf00333f95fe4fe71388199d263088c6..60043936287de3d296ca4e711ba3f3caeaeff5c8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toDateString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js
  * @description The "length" property of the "toDateString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js
index 8627a900178adb9cbb88ceb44e070bae62b28037..2c9de6cdc6ab9e20396a6d7898290e1db7bbc607 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toDateString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js
index d09a484e79002cfaf0e186e61060d53b8a8ea8d1..83e794a0834e29a18576202393d010c3d71c0ac4 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toDateString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js
index 9d36a8d8e239bbd4590092d60481202825386c4a..abaf2c2c220b4283a23861f34340c576dfe4ba5a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toDateString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js
index 777a8b59f38b5cd152f4f91e369163c74427343d..76a6aeb495799824c4c7b65078051328f8903f39 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js
index ba2c7bfd87992fd2eb9aad26d0be5a85b9bbaa7a..4f691eaf9ab8b20bc1c30b1ca3facd72949d49b9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js
index ffa1fbbd4905ee5efe8a4d25f05c4c1e5beeb01e..350a993d37ec6709df027fda4c3a5ec06210d5cd 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js
index 8b4d8d3276992b740d6b28687dc4b266946fd044..a87097cd4176312ebf7a11d45c18b7332e2368bb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setSeconds" is 2
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js
  * @description The "length" property of the "setSeconds" is 2
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js
index 1611c180a54600e7261b70303cd7c9110eea626a..26aa6c79d50fe87afe829ae14054c4abd31587ad 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js
index b5c94c6c1b0a6830365c04730016514e3e65fa82..19b6442b8e455e81f3c7f807894f5e27cdac4e1c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js
index 5a34c6192b8104b7075c73569067eaa241a3f0bc..eed00a5499922476faead994541857afd15c099d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js
index 0ffd55ba93268729c38303efaec1531522cdda31..2f34d162d58837ef965811bccccaae9104aa0e06 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js
index 32923d1d0de470891e5027ea8afc8d340ff7c872..d6173a2f2cdf38332cfc23b2add6da2afd556fd1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js
index 411212f9fe6073c29d785d2d2e0e164fb8b0b69c..5b32a6c7e92c315bb29bffec3769536121dd8eb1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCSeconds" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js
index 6001010160562594f8e132f658e03476eb0484fc..8bd48c9bdf681c1df150edff0895a628c9ce8b54 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCSeconds" is 2
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js
  * @description The "length" property of the "setUTCSeconds" is 2
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js
index 7ff8ac67e41859337c677dd48ebdb8e84b5875c5..0c7459eca3a1b6821ed3665bc5a8ebb99bbfde37 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js
index ccc15ab4e653085ee6d6b1016128f85556e4171d..d225fae1cc1180edd5858e402eaec53ae9754d34 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js
index 3dec907f37f422d19d5b861dc9960fc8767e756d..4193461f14fa3775914978063ca7409454b4f1cd 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js
index 2f499f991c3108ff732d9522a5e79525f5575670..018978f0eb4078880272332f3483f14583a2541f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js
index 25a7a35b1d9b5c9d6857c566e038420468f8bfc4..332164955ee5790202a7ba10b464845ff9f07979 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js
index 1f6a8029dd519afefc8b6d130cfc19de034849cd..87d29833a70332619c333f35b8bb2efc3c22e77d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js
index 201a4e74164e252c05e3fb1435aeb20f1f43b03f..3a12335858ee43716282b930f50acb3af68d0b87 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setMinutes" is 3
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js
  * @description The "length" property of the "setMinutes" is 3
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js
index baac5cd8dc35e6f7b7f628da4b050fdbb25e256b..690c807ffecafd86f17e2f5fa5f0d47c258676a5 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js
index a5ea4fb6f060035c51ef13a07def0ed553bc7194..cb815165490bca888496197d60adae9437d4e840 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js
index 8890ef2b42d6b3a8fb782fb2a7fb217cc7629a66..e14c49365e700421ac76262f3555f0e629974068 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js
index 3e4dcae9ddf80ee2f35469792c9157f5d6cefad8..da4fcf04de4c34340e847f5d6aae54c9ed111919 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js
index dc82b8802276d5790f1f82a31e5d980094b91e22..ca7484c7dc5dba6b251514679d6566622a0796ac 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js
index 4979f18c5273c30aa858d2c577a37f3645a72307..8966e3b29b187e85fccd1a50a5593c028b130766 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMinutes" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js
index ec5fb3b404ea618ce1596eae7a94f3e9ba2afb0f..d383a4150ba7b2befd0ca27df9dea177759c8a90 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCMinutes" is 3
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js
  * @description The "length" property of the "setUTCMinutes" is 3
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js
index 838335e65865e3bc243b73807321415967c7bf5b..e3f400bb2dab1adb70bb78f9a1bc1e470d3cec93 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js
index 73fa1d29aa7be97ec8e06e0480c7c5c1709dba0f..56bf360f4cf27552a969fb93b5be0ce26ce1209b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js
index c05326618f1fad02f7824476654e0201fb4d7dc1..9b3046cf28301077935c7a64da57be0bb542ddfa 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js
index 5404d55cfd2db541779395cdc8ca84c1e14d57f3..a3743626399a09f20cf88a84e669a33364b188b6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js
index 649e880f57236f5b3bcdff6e0fb609892b19898c..4338fe4d16b46c5e08679ffc2dfbd7e75d3a6a92 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js
index 0f9b4432acbc40eacd47e9d91c07b00890165aa1..9d7b77ccf71b74999d1e841df38016ba0b0e831b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js
index aeae4b62c04b98d94fe348d409022200ab388807..c8cdf8d1848e7b9b83dbcb5a24a1719618a38025 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setHours" is 4
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js
  * @description The "length" property of the "setHours" is 4
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js
index 38153572402bc97030f8522d952c61ee3fb2bf21..36a1f2beba9ebdfa9633a8096b3019ccd05d5c42 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js
index 6e6afa6b6ba7628f1eacf974aacf992e1d78fb29..3aa14f87f5a4b95e4bca7183e510c452a49e977a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js
index a83165ed969f3cb7692012c6b748c967ed7b2b10..2b1e1170a007288fe624ffd074f436430ae3e65c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js
index df23b6a3dfcab52795f343426979e14ae03f1515..14eb1e938b3dc4627b8200ab38e6a219027eddad 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js
index 679cd7be1f6770376ab51a3436ab46795e62eb23..48ae1293ec99a7d4e20087c5785bfce0e3d57226 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js
index 639defc85f0853097aaa3e1dc9f10279918289ab..84a291371995795b683ff0c479a9100cc365bfed 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCHours" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js
index 63b48382b860ebf85fdad586d8b85161f5c0f8da..ae7c776eca7cb6cdaa5ee46fe7909685536a610d 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCHours" is 4
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js
  * @description The "length" property of the "setUTCHours" is 4
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js
index 6ed077fb39d9b5a5e55f8e5a722078bf212132f2..4a91fbd993f46919b03cb26e5bcf2140b1d778f8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js
index 863186a1f545b1d9487178528636af5eb18159aa..58aa9d005f96b1eaa0fe46033cd3cc72fd563aa8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js
index ed15e3822ac635075fe7adea1a03bb2142eeecf8..ab008bb306172ce558e4d323fef28a920ef184a8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCHours property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js
index f1c0608d172e8fbd4da381132658794236397c8e..6fbe7aafb343cc0bf91bd9b90e0888efb47c7997 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js
index 20fa4e19b01e6fd6094ca57ed77ab0034b63613b..894a3c5aa8324ed15a26bf4c7a9e9d4cd66f7d59 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js
index 993eae2e996cbc9a1bf743f6862b0035951a99e1..b18f38ecaaf6000977c9ce80951460ec0dfbef06 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js
index e81090c8b7408fbeb12dcfe9c4497c9fd82adeb4..ebbc2615cff60d9c5866d29fd1724507738bcf98 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setDate" is 1
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js
  * @description The "length" property of the "setDate" is 1
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js
index 6b923c819394325974538c60769dc24ab3a664f0..8b887aee83a80df4a19be4657fc7a37325824561 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js
index e6874706fdcc7b89713815c692466ac3bcc3878e..9c04e1411fc66497f800a748b83fbe4d19a32eb4 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js
index 42e93967edfc73c93f7d9c2dd0223f2ac92b12bf..26d92540e0bb1ea251a8a83ab28114518abc82f1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js
index 4a21632fdcbd3a3dd0be1c0ab71cc317e6e29b27..6175733718e4dad4923660256e7b93cad160d68b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js
index 19e4c6e645b4d32ace4f0206e29ad870cdef3050..d58be542b0b0571a730c441f3034fb0b1d44c03c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js
index 6edc76178ea7374c662121e778bfe21410212ef3..cfb8e21e888678dab70071e8b759a862595269db 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCDate" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js
index 922f78dbe6481e0535051deb5c892d1fc3bbb567..d4bb55a7b80c2391a9526d4fd827e654d1828b21 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCDate" is 1
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js
  * @description The "length" property of the "setUTCDate" is 1
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js
index dc537fc250a9ae850f37479d5e952273673e0f5e..c524ec87e04a90ae112ec49010584cff067a73c8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js
index 2d38b40b15778c89be744ef8dd85d392ab4a13df..39582f3df87afc642fc3aaf4af5891aecc00c05b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js
index 53f4667eccacaf3ba7e5c32fae5e4f04a801e43d..f67320131fb86b3d096ed00400d478e6b3e4fca5 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCDate property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js
index 58df854ef8fb1682a6e81901217226ce468a6c24..f2be81b67ef995a6b4527d96b3dd4b6b83f18c97 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js
index 67da5fb8dc96f0bf5bd6714e211562a4ee5d5e4d..139e310a8df707fe58afb2372365f0a80ea9d73b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js
index a716cd79e9cb0309d959104fb8b0023dea915291..162a054cf6974335117b22374f3d36bb21c00383 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js
index c691763f7cb05bf2ef6e837fa76827a6906bb297..92b0536b420564f93c14587a8a654c15fe0912c9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setMonth" is 2
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js
  * @description The "length" property of the "setMonth" is 2
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js
index cd05f47c2bd2d681fe875861a68a1d22bd55ed83..95f5e6e4dae4ab79e4fe23cac11b3999f0177c47 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js
index c87b3bee53b815f4f2b7b55d0a83bd9b512ef3c5..748d8c0d8a93464eea745bd2a3f6674b63714e81 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js
index 80f4a7cb4103ae908cd27379000dd77e552f0f0c..44dbf4120a40a35dc77d44e5800e5c70af69fa49 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js
index 3c99f59e8063160adf8cf8e9f7f2f78662910c40..cda7834d4159a887c0865e9b295cb6b481e1499c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js
index 7613fd4f4b213e489a4466c82dc451e2cf46ca9a..7410ef8df017db3884ad0afcd753738309b3bc31 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js
index 2e961dd63038cda439aecdb977fd430085f65b3a..d4903506c2c986661e843b05cab2fa4a12cf04fe 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCMonth" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js
index 5411790e0a4275851065596e29ffec3a986d4cfc..ca7e80273c694381b80364da75064a86db240d1f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCMonth" is 2
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js
  * @description The "length" property of the "setUTCMonth" is 2
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js
index 5d302532752e24abc408384d69dbaf2ceb423d06..83b94e76b9038a775d85fe333d3a90862b4359e7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js
index 0223a2fa1c44a59e3bcda91de6c9c311b888f1b9..e136c348c1b451b27a3da707130f91825ee95ce6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js
index 23d492c7c648c075622fa43425e64b0be48a2882..ae997c7a6b295be67528cbcbc3a68c97151dff7e 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js
index 8aabd6965f337bbee8fbc9850091a742fca0b3a4..2ccd4cd33db2671191d9a3391aa5eda1b3477b67 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toTimeString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js
index 51934fee0d7ba9a6e63bd8f24370113edc2150b2..34b5d5e9be6d03a80f5a88e312e5289b58705ab6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toTimeString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js
index d4d2c7daf45cff3b79755dd0a43666d3ea62e528..f5347efe94ed7acaec536f3c3955e21661ad1d34 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toTimeString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js
index fc2ddbb25f0a638212c47d1e68c69e4aee3c3928..e715fc04cb794c107b767ea2f10b25ecdbc311e6 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toTimeString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js
  * @description The "length" property of the "toTimeString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js
index 9461c9af180f0b1b9397bced04ef120a9dfea33c..95acec7b96aff65798088834428d2db8e0e1770f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toTimeString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js
index 59b931dd7f4ec73777039ae76a8934f08272a2a2..50b977a8f12c9a1c685d448d51227a0d0bd7f459 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toTimeString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js
index 6ccade654ef72a5bf168d4856557f609a0b9f9d5..06d643a037a4e8fea57b0cf1ccc40f1dbf0211b9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toTimeString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js
index 9ed7e926104d9c8011f67c370e418962222060e6..eed0017227647a2a472ef743857bcab8d9b4eada 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js
index 665dcd3c258494d2daa02ef50678312f3d793bfb..f47ef8e8e44f5b1dc35d94b64f353beda803dc1b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js
index 52d81152aaf0a074a516ce71ebc1ef39acd07c84..269dff07bcf187a605ae7728de3d990b99a79266 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js
index cc8a6cdec48504cdd95089ac72ab2398364d79bd..3252fcf51d0fa6801fe3c5d1a618851971fb7bcf 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setFullYear" is 3
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js
  * @description The "length" property of the "setFullYear" is 3
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js
index aeb99b25656b30e796b907f965da22f1dfa941c2..3f98730ba0ea4d7eb9224505d5c653dc16d836e9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js
index c544d6d18036e82b3157c2df4cebd024e4509f65..0178e6d61747c7fefc2dd68d2feb3fccb25b6963 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js
index 5fba2b455a7418c422ffc6d78e29a06202edda65..81908fec210adae78fd553568859545c5d180621 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js
index 9403180067f67506d6b8060a2df746f62a386973..758701c31f34d9b27d6beb6649ee4796985c96ec 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js
index 9c18e15369fc58a73ed7ade2ad4cb5d40d6e7ce6..b0d1be915a9ffd5a5f6737a2744bc3e728232fe3 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js
index 30204e6f1919132948142bfec0898f5360b53a85..05ac995a2fbfde1d6b83d1864347e0f3defd3411 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "setUTCFullYear" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js
index 5f7122b237fe178e7c98bf565b371a6300e900a0..7d606db98597c7891db20599e6f1ef535667cf1b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "setUTCFullYear" is 3
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js
  * @description The "length" property of the "setUTCFullYear" is 3
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js
index ad72bd0c694c642e132dc9e7848ae882f0e47ed8..282dfc410bd718e97a603c9a3f612658f2764e78 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js
index df4abdde460b7088b21605ed26e184f4e7ca16df..02e4d52eb927921091e5aaba2e6114837f3491ac 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js
index 9672c1c5c149c9d2b549ed5da671efbdfe946011..bae4122b24df108d0cd24b88f617512cacabdef9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.setUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js
index 9f99bf3a8d8b2aa313a2f8d94c619736025b53b9..0f212776e3f86b29057b3e6ab954d9acf2b1d8e9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toUTCString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js
index 735ab4f725ac42e9df42b3144fad1e9ef2c0af8e..9c6e927ee8b7ff7f1b49ae6cff8efccf87632f72 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toUTCString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js
index feccf7a987980ae9dbe4987270a0af077769ffa6..6ff43e092e64f5329091b96964873126be1f26cc 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toUTCString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js
index 73a249ff2e6a6e6421a7760d8c9dbc11680c2efd..4f001e19a306af312677377989ef80d3865ed8c0 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toUTCString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js
  * @description The "length" property of the "toUTCString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js
index 094cf3ca79c7cefb7536068480e25be324d41455..d20074d8bbfe4133530eb24c984a1cb682b6247f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toUTCString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js
index 589ea1150fb34b79d407846cf784646d6a9909f4..c25c220ede5ece4f3eac352b3ad3e295180d7cb9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toUTCString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js
index de03f0ffc569696e2963d685f199abe04af9016e..cdd78f501a2d78a5a7a46b0f70f12c19ea555571 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toUTCString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js
index 36ab67e322dff39678bb231f4d6b23053afa7283..2e689a291118617fdeb7128da7d948d334a38021 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js
index 8d112a5770199d9d0f0e94f53689e2a067cb8c5d..0597790ba266f1b55ddf635b51b15c8fca87adef 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js
index 3164d51f2f730ed2c6069a340e9242d1de9f3c1f..e50c502342bc6b27e7acd51f0151a1b5109e7969 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js
index 72905d40a2790e1205922208dca81f7e68eb1d82..27d81cb13b5ba904e130c60755faff77e0ed5f3a 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toLocaleString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js
  * @description The "length" property of the "toLocaleString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js
index d8e04a3edd7ca4d5a0ba740af3f17ff8f79fbba5..8c81b0c920b29b7529a627936bd7c591b2ed3968 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js
index 7e13dc2c3c5c0d5e006975e40832023e946ca801..c5b47908c950a95b799d1c564cd5b9f5982adb38 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js
index 6401e7cd33fef2782f7b299796169c0914aab01a..b8921b7a534668e860a705a195346cfc52bb1c2e 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js
index 8dbc250fecf9e979413f1f4032739b44f972298f..3c133d00986e3e6978ac402b2ecfb43c121b402b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleDateString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js
index 02a331a18210ed8bbff6bc9dc9888c426e6c942b..47f1f4277e953c1a91c43fd2d556fc9ba8ca08a7 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleDateString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js
index 815905bb34ca0aa39158ebb0ca07eb1bc1a29f83..4d9c51550f170692477a43b175342515f7167f4f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleDateString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js
index 763ade8cf09af190904d97ccc08986f7e9bfece7..c9d389f59d501dd89cb2ffe73ee437ad1d883085 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toLocaleDateString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js
  * @description The "length" property of the "toLocaleDateString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js
index dc8800b242619a0442055db659dd767277264a9a..2f084f6fb11d9a0080840dee22b224732f55b617 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleDateString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js
index 105aab362ed6717477077f2eb9ac26ae9d3f745e..fe41070eb9e9fe12a80dbc3eece8c36a1bea0983 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleDateString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js
index 8c857257d01bd0212ca127e95e1686442d647c86..711997c20156f95b8f3cd942f2983724d9cce185 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleDateString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js
index 6887abfdc25abb993260e7d98ed9256c42da8ea9..29c7d077d020207b864467021e9265b823c69d5b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleTimeString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js
index 9c8167bbf774576182689bffeea7d493260b8665..30e58a91e0b6dcc1b50e32713d59f88165e50c13 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleTimeString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js
index 764f47c7d6ffd3dff190af272b84a8e4869205c1..61b3a248284381264007970c9570f94b5a1a4613 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "toLocaleTimeString" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js
index 1aaf989360523c09d6f4e383ce93a9993b68b04c..be00eb3c477d41c5d7739caf9e85886d91bb6069 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "toLocaleTimeString" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js
  * @description The "length" property of the "toLocaleTimeString" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js
index 7c13e40585a0f6618ccd5c9207de29f932be7f15..0e95183872baa9609266c0c4de54d282af1a869b 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleTimeString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js
index e5a6e5035293f5a143d861385878ba34e610e934..36dda6272c14452a63095e615df8ace4d1bb81ee 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleTimeString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js
index 0f51c5d195e3943b959bfeb55dd1501dafa4e21c..23d6b9d68e530b2b549ac7ed8cb0063e8a3adb66 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.toLocaleTimeString property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js
index 8eb2ef0b33c2ba8b46eebcdb58002eab2b66273f..34bec1bbc3dfb0def9c17d7a6afb72327af0626c 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "valueOf" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js
index 60e83f8ee327041015683ed733637b34d2bea1e1..cad6fca8e978fd272f644fb8118a7fdbfdbd5925 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "valueOf" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js
index adb5b8928c94470f5ac8f9dc0f12ea5fde620c31..3576b824990ff2070fe5e7bb03035874250eefe8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "valueOf" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js
index c1be3bdb88b6f48926e6bd13b7a4d02e8c9103f0..43906a3606489d7efea35be5348d73ac65c3bccb 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "valueOf" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js
  * @description The "length" property of the "valueOf" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js
index 5e7512ed93f6d76b623cadb7d32cbf938571a211..b8651be9654bc863e15a01d537dc943b0f6300d1 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.valueOf property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js
index aa4bf22ae5903a8b4dd3201e430804f6d722f91c..8730a29c351983833520af052d7c361f29daa564 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.valueOf property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js
index f42eddf6e28c30675cb7169c48b50294bb3f3189..d9a983d9999d17ed0f0c56a8390aa05d421224b4 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.valueOf property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js
index 7d22b94157745d19e54f27cf457efd8fc9009af6..77612f2de2713d7d7fc328ed13848c7ca20f597f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getTime" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A1_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js
  * @description Checking absence of ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js
index 43c16f3146767d390afb286ed341906b0c4d6e54..e31ccafae17a8238feaef9b1c6f207b371ad63b5 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getTime" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A1_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js
  * @description Checking absence of DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js
index c8194381e585f0843314407af36f662274151a71..e8b85fa1ac47cd64d8e19e0a00f2dbcc15df88f8 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype property "getTime" has { DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A1_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js
index 9e5c92da08a15912d40cd25527f22a271bfa03e6..ef403fcbde25994f3573ce9c30edc71c5740bc91 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js
@@ -4,7 +4,7 @@
 /**
  * The "length" property of the "getTime" is 0
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A2_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js
  * @description The "length" property of the "getTime" is 0
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js
index e123dcbc7bfb5fc143529120de70e0462b1ea2e5..a10f337c05e60023d280b5bc53b7ac73470b0f2e 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getTime property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A3_T1.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js
  * @description Checking ReadOnly attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js
index 71de8e6f8e66c61d6ed59041ed7f263a036b0abc..b2d85ac081bb87215ba6331ffb62aa59ba42a3e9 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getTime property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A3_T2.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js
  * @description Checking DontDelete attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js
index 575f72f596d713af3766b6251d924955a968597b..20f77f3fc1a33d4e31761da92854c44090007a5f 100644
--- a/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js
+++ b/test/suite/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype.getTime property "length" has { ReadOnly, DontDelete, DontEnum } attributes
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A3_T3.js
+ * @path ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js
  * @description Checking DontEnum attribute
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A01_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A01_T1.js
index 5139d19b7949c3bbd6e38c7b429e3216e3cf3d6d..0f2a8e241c86dae8a13b3d595c1e2c80bbb1dbe7 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A01_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A01_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "constructor"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A01_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A01_T1.js
  * @description The Date.prototype has the property "constructor"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A02_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A02_T1.js
index 0e860a51737bc4062dd18747be8a1b730e2fe729..78c72f0078d11ca984cc9943f56652ada3cdff14 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A02_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A02_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A02_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A02_T1.js
  * @description The Date.prototype has the property "toString"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A03_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A03_T1.js
index 9b03d7b1c9aa02ffe5fe25843d6fd534c81067e5..e73d4016be13d314bd4b1cfec16416785f168077 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A03_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A03_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toDateString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A03_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A03_T1.js
  * @description The Date.prototype has the property "toDateString"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A04_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A04_T1.js
index 8145c9ec37fb674a6f30fa3b0fa641de59e32cf9..6a8dd9cfe51ef7964780d74d95d7961edd59e8ab 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A04_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A04_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toTimeString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A04_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A04_T1.js
  * @description The Date.prototype has the property "toTimeString"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A05_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A05_T1.js
index 08fe72571efa91df80794e0d22f4750fa62e6746..f42b4f00bd1b8a604b23c93eacd1203a64a2c668 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A05_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A05_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toLocaleString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A05_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A05_T1.js
  * @description The Date.prototype has the property "toLocaleString"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A06_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A06_T1.js
index 162d30bb0f100a2ea24d11e2ab94208b00afd872..eb60ccdde86c5d1fdeda6f1bfa7f266b7c25fa4c 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A06_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A06_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toLocaleDateString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A06_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A06_T1.js
  * @description The Date.prototype has the property "toLocaleDateString"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A07_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A07_T1.js
index dd60ca92e2afc5c7452bb21ebfabf1a68a735f59..a90a02ec6449a7b91ee647efcecde35e076606c8 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A07_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A07_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toLocaleTimeString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A07_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A07_T1.js
  * @description The Date.prototype has the property "toLocaleTimeString"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A08_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A08_T1.js
index 4efa83247ea1e664070b7764871a486b80f31c78..64f09361204655614c253500a889b324cc7cc020 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A08_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A08_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "valueOf"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A08_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A08_T1.js
  * @description The Date.prototype has the property "valueOf"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A09_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A09_T1.js
index 17b5e6267063e69b5f01a8413e0426fe643fc1ae..3c8bdba83c5e2df3107d77abf5bb717669e3024d 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A09_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A09_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getTime"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A09_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A09_T1.js
  * @description The Date.prototype has the property "getTime"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A10_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A10_T1.js
index 4fed7bb3d73b1a7726c369d12e893cdaca589616..7f104ee373221dbd912cb89e2fcbe1ba5df1e416 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A10_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A10_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getFullYear"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A10_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A10_T1.js
  * @description The Date.prototype has the property "getFullYear"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A11_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A11_T1.js
index 1ff809605bdbde6ed4937bac341224979e371d28..8517a7509e00e8d75e28ae1260bfc1ac06bda381 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A11_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A11_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCFullYear"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A11_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A11_T1.js
  * @description The Date.prototype has the property "getUTCFullYear"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A12_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A12_T1.js
index f66f7c1cc3aa58786cbeaa4def5454a414e72b69..416a4fcf5e55afe72cd9a49a849bcf4001d7df5a 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A12_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A12_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getMonth"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A12_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A12_T1.js
  * @description The Date.prototype has the property "getMonth"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A13_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A13_T1.js
index 9f1829db494fa49d9c9190dfd429b702101ec01b..d0c727e16d5ab61566b8c5a98a9be4a1cf304fe7 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A13_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A13_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCMonth"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A13_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A13_T1.js
  * @description The Date.prototype has the property "getUTCMonth"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A14_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A14_T1.js
index 03b3e455d3e0ef876019d94743e9d1267909746f..246f3a46cbad377c36ad4637377f3f5794f89e68 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A14_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A14_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getDate"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A14_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A14_T1.js
  * @description The Date.prototype has the property "getDate"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A15_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A15_T1.js
index 154f51eeb68bd20e7bd02264381be49fa3b01735..2e7465dfc82a1655f7830ad663407907b328caed 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A15_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A15_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCDate"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A15_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A15_T1.js
  * @description The Date.prototype has the property "getUTCDate"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A16_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A16_T1.js
index 1b34964723289d9e598574354ba3302231fd8f4d..ef55aa7a97891d224fdfbf85f49867ba7777fbb6 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A16_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A16_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getDay"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A16_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A16_T1.js
  * @description The Date.prototype has the property "getDay"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A17_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A17_T1.js
index 85b1ed3d9b852f84eaadb12ba2c4c3550842dbff..c9bfa485af997a061c3fcfafb33527c2516a30eb 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A17_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A17_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCDay"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A17_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A17_T1.js
  * @description The Date.prototype has the property "getUTCDay"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A18_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A18_T1.js
index 8c35cdf6a34226e3f28acaac876c93973e695557..cf8d5245b0c1613d6152d194bacf9ad2637030b1 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A18_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A18_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getHours"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A18_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A18_T1.js
  * @description The Date.prototype has the property "getHours"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A19_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A19_T1.js
index a0eeb9559ea34a0fe20375373e6d5c4f74092d11..2d5b709150fe9ba538e9f4476b182ee94b6743fc 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A19_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A19_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCHours"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A19_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A19_T1.js
  * @description The Date.prototype has the property "getUTCHours"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A20_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A20_T1.js
index 4ba9b317a773136dc0dc6f02c7b427521504e1b8..d0d6133ad50144e0a6c1ff989bc86c2d86da96f8 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A20_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A20_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getMinutes"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A20_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A20_T1.js
  * @description The Date.prototype has the property "getMinutes"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A21_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A21_T1.js
index 8f9c94a5024af750fece32d924be46e4ad1aa1cc..12d9ca1ed677091c50132b2d6ddeed1938254f2b 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A21_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A21_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCMinutes"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A21_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A21_T1.js
  * @description The Date.prototype has the property "getUTCMinutes"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A22_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A22_T1.js
index 83e3298fa93a1a1cf4afc39458f374a6262cff7c..a37801e4be17e436955a317b20d0596923efdfc9 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A22_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A22_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getSeconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A22_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A22_T1.js
  * @description The Date.prototype has the property "getSeconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A23_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A23_T1.js
index 1202722acde94bf805cb575398877ebde3b0871d..eeaec5dc24992002763c10657d37d32c28fbb2f1 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A23_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A23_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCSeconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A23_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A23_T1.js
  * @description The Date.prototype has the property "getUTCSeconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A24_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A24_T1.js
index 60e5c4ee3c83e0034058783fbe76745807ea877f..d6e868c4ee4f15052b8a50b11a1c111b2133cc41 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A24_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A24_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getMilliseconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A24_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A24_T1.js
  * @description The Date.prototype has the property "getMilliseconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A25_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A25_T1.js
index 347956be5c0be1c2d3b4af4fb8d36ceba1f5dedb..04e6f1c84299dc7b786271808a3ca04f9edbc320 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A25_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A25_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getUTCMilliseconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A25_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A25_T1.js
  * @description The Date.prototype has the property "getUTCMilliseconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A26_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A26_T1.js
index 1aa1603e8ea2d2c245dfd4d990a5e8c2c5fdf964..ce76fb651abcadc109c174fe7103baba320f49e7 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A26_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A26_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "getTimezoneOffset"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A26_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A26_T1.js
  * @description The Date.prototype has the property "getTimezoneOffset"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A27_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A27_T1.js
index e76361b08e9c5809d40c328c38264f978857f11e..21cd10a25ff434e0be7ae2e155d6a1adf913058d 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A27_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A27_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setTime"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A27_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A27_T1.js
  * @description The Date.prototype has the property "setTime"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A28_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A28_T1.js
index 5494b8a19d4dc175ce07049072a3f788fe41a038..902674bedb0ead019507f62bdca34f639b8d8078 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A28_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A28_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setMilliseconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A28_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A28_T1.js
  * @description The Date.prototype has the property "setMilliseconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A29_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A29_T1.js
index 865201c746aab5cc2b96c70404f74a68d60ec402..2a01da02705abde062a312b27dce0213ecbad4b7 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A29_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A29_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCMilliseconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A29_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A29_T1.js
  * @description The Date.prototype has the property "setUTCMilliseconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A30_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A30_T1.js
index 9c0656386e93a877e7075cc5fdad7be100b60698..cda5c8f5b5162e79ded17cf90d3b689bf162429d 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A30_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A30_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setSeconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A30_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A30_T1.js
  * @description The Date.prototype has the property "setSeconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A31_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A31_T1.js
index 3feb7be6cd5c92c38636f4b1d78b0cc0f02dadf4..1e01f2c56bfc51c7f3efd58521096eb03a339177 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A31_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A31_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCSeconds"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A31_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A31_T1.js
  * @description The Date.prototype has the property "setUTCSeconds"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A32_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A32_T1.js
index f9178c028e5b2577633cbf0ed5a5188c11a1dee0..0af442aa9acf0fba8bc0d2c13839378e41a061a3 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A32_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A32_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setMinutes"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A32_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A32_T1.js
  * @description The Date.prototype has the property "setMinutes"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A33_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A33_T1.js
index ae233ab3ff014b9920ecb9b71f5ddb4fac0d4b59..69e26bfdd2743b46301551c93e477c137f93673c 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A33_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A33_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCMinutes"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A33_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A33_T1.js
  * @description The Date.prototype has the property "setUTCMinutes"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A34_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A34_T1.js
index f90875ca0265d5b40abd03c28b61fbad8d6d09f1..5456c1809b6351adf2025f794f4610eabcb86956 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A34_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A34_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setHours"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A34_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A34_T1.js
  * @description The Date.prototype has the property "setHours"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A35_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A35_T1.js
index a62cdf0ab4932fde3af592aea3ceb1cb71c133e4..a12abf8c1ca97655d3505af37370afc0b168abe1 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A35_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A35_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCHours"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A35_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A35_T1.js
  * @description The Date.prototype has the property "setUTCHours"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A36_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A36_T1.js
index 0c31d860e326dd3293888e8130d00266d71fe71a..004946dd78311db5bb97f13e6b49e1ce066bf901 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A36_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A36_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setDate"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A36_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A36_T1.js
  * @description The Date.prototype has the property "setDate"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A37_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A37_T1.js
index 36798c62527195c2eb0ecda282a9d3877cb8c587..042b9e06efd4952fc49f1f991873b202fdcb83df 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A37_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A37_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCDate"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A37_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A37_T1.js
  * @description The Date.prototype has the property "setUTCDate"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A38_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A38_T1.js
index 6b08e26a3d3cc8fa9a488be8599614dd29bfeee9..9e88846458c758550da810cfad3d5239e898ae6b 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A38_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A38_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setMonth"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A38_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A38_T1.js
  * @description The Date.prototype has the property "setMonth"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A39_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A39_T1.js
index 5056154ef0e179aed56ea271de35f9e1ffad226f..bd4e26109bab24a0b984caa5fb22c7368fdf90ae 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A39_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A39_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCMonth"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A39_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A39_T1.js
  * @description The Date.prototype has the property "setUTCMonth"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A40_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A40_T1.js
index 445752851678c6564800723bd1129a76dee17c2c..4364b3bf8fd460a29d4f904a56873bbf3a3b6eef 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A40_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A40_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setFullYear"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A40_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A40_T1.js
  * @description The Date.prototype has the property "setFullYear"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A41_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A41_T1.js
index 59e86566f36e1c0fd899d3c6387ee1ea887ee42d..a5c713dbff854b4ae844daf90d5f8981085a085a 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A41_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A41_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "setUTCFullYear"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A41_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A41_T1.js
  * @description The Date.prototype has the property "setUTCFullYear"
  */
 
diff --git a/test/suite/ch15/15.9/15.9.5/S15.9.5_A42_T1.js b/test/suite/ch15/15.9/15.9.5/S15.9.5_A42_T1.js
index b6a04c7c268bbd32653fa6dc79cd58691c64972c..118343027618152d08c59f9fd7fa94ccc3f5e4db 100644
--- a/test/suite/ch15/15.9/15.9.5/S15.9.5_A42_T1.js
+++ b/test/suite/ch15/15.9/15.9.5/S15.9.5_A42_T1.js
@@ -4,7 +4,7 @@
 /**
  * The Date.prototype has the property "toUTCString"
  *
- * @path 15_Native/15.9_Date_Objects/15.9.5_Properties_of_the_Date_Prototype_Object/S15.9.5_A42_T1.js
+ * @path ch15/15.9/15.9.5/S15.9.5_A42_T1.js
  * @description The Date.prototype has the property "toUTCString"
  */