package Ġcom . h ile co . c ortex . analysis . processors Ċ Ċ import Ġcom . h ile co . c ortex . analysis . Graph Builder Ċ import Ġcom . h ile co . c ortex . collections . Back ed Integer . Companion . ONE _ 3 2 Ċ import Ġcom . h ile co . c ortex . collections . Back ed Integer . Companion . ZERO _ 3 2 Ċ import Ġcom . h ile co . c ortex . collections . to Back ed Integer Ċ import Ġcom . h ile co . c ortex . s ymbolic . Program Exception . Reason . JUMP _ TO _ IL LEG AL _ INSTR UCTION Ċ import Ġcom . h ile co . c ortex . s ymbolic . Program Exception . Reason . JUMP _ TO _ OUT _ OF _ BOUN DS Ċ import Ġcom . h ile co . c ortex . s ymbolic . instructions . debug . HAL T Ċ import Ġcom . h ile co . c ortex . s ymbolic . instructions . jump s . JUMP Ċ import Ġcom . h ile co . c ortex . s ymbolic . instructions . stack . PUSH Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠJump Illegal Processor Test Ġ: ĠProcessor F uzz Test () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Process Jump To Illegal Instruction () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Builder Ġ= ĠGraph Builder ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParameter Processor (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlow Processor (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJump Illegal Processor () ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( ZERO _ 3 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ UMP (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( ONE _ 3 2 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġgraph Ġ= Ġgraph Builder . build ( original ) ĊĠĠĠĠĠĠĠ Ġval Ġinstructions Ġ= Ġgraph . to Instructions () ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( instructions , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( ZERO _ 3 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHAL T ( JUMP _ TO _ IL LEG AL _ INSTR UCTION ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( ONE _ 3 2 ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Process Jump OutOfBounds () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Builder Ġ= ĠGraph Builder ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParameter Processor (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlow Processor (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJump Illegal Processor () ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( 1 0 . to Back ed Integer ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ UMP (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( ONE _ 3 2 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġgraph Ġ= Ġgraph Builder . build ( original ) ĊĠĠĠĠĠĠĠ Ġval Ġinstructions Ġ= Ġgraph . to Instructions () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( instructions , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( 1 0 . to Back ed Integer ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHAL T ( JUMP _ TO _ OUT _ OF _ BOUN DS ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP USH ( ONE _ 3 2 ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġf uzz Test able Processor (): ĠProcessor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠJump Illegal Processor () ĊĠĠĠ Ġ} Ċ } Ċ