Med probfragmenttypen executableUnit kan du utföra noggranna datainsamlingar för metoder som överensstämmer med probens målspecifikationer och som har tillgänglig källkodsinformation.
Ett anrop till den här typen av fragment infogas för varje körbar enhet i målmetoden. För metoder som överensstämmer med probens målspecifikationer men som inte har källkodsinformation infogas fragmentet endast en gång och det i början av metoden.
Ett executableUnit-fragment kan använda alla dataobjekttyper utom returnedObject, exceptionObject, isFinally och thisObject. Viktigast är att executableUnitNumber-dataobjektet kan användas, vilket innehåller antalet körbara enheter som kommer att köras.
Antalet körbara enheter i en metod och i radtabeller innehåller inte körbara enheter som infogas i metoden med Probekit.
En körbar enhet startar i början av alla grundblock, och vid varje bytekod vars källradnummer skiljer sig från den föregående bytekoden. Ett grundblock är ett område med bytekodinstruktioner som inte kan förgrenas utåt eller inåt. När den första instruktionen i ett grundblock körs, körs alla instruktionerna så att instruktionerna betraktas som en enda grupp.
Grundblock slutar med instruktioner, exempelvis branch, call, throw och return.
Vissa instruktioner, t.ex. divide, anses inte vara i slutet av en körbar enhet, trots att de kan orsaka undantag. Det här är ett sätt som en körbar enhet skiljer sig från grundblock rent tekniskt sett.
Om det inte finns någon associerad källinformation för en Java-metod anses hela metoden bara ha en enda körbar enhet.