Fragment sondy typu executableUnit pozwala na zbieranie szczegółowych danych dotyczących metod, które odpowiadają specyfikacji celu sondy oraz w przypadku których dostępne są informacje o kodzie źródłowym.
Wywołanie tego typu fragmentu jest wstawiane przed każdą jednostką wykonywalną znajdującą się w metodzie docelowej. W przypadku metod, które odpowiadają specyfikacji celu sondy, ale nie zawierają informacji o kodzie źródłowym, fragment jest wstawiany raz (na początku metody).
We fragmentach executableUnit mogą być używane wszystkie typy elementów danych, z wyjątkiem typów: returnedObject, exceptionObject, isFinally i thisObject. Najważniejsze jest to, że można w nich używać elementu danych executableUnitNumber zawierającego numer jednostki wykonywalnej, która ma zostać uruchomiona.
Liczba jednostek wykonywalnych w metodzie i w tabelach wierszy nie obejmuje jednostek wykonywalnych wstawionych do metody przez pakiet Probekit.
Początek jednostki wykonywalnej jest tam, gdzie początek każdego bloku podstawowego, oraz przy każdym kodzie bajtowym, którego numer wiersza kodu źródłowego jest inny niż w poprzednim kodzie bajtowym. Blok podstawowy to region instrukcji kodu bajtowego, którego nie można rozgałęziać z innych elementów ani do innych elementów. Po wykonaniu pierwszej instrukcji w bloku podstawowym zostaną uruchomione wszystkie instrukcje (instrukcje są traktowane jak jedna grupa).
Bloki podstawowe kończą się takimi instrukcjami jak branch, call, throw i return.
Niektóre instrukcje, takie jak divide, nie są uważane za koniec jednostki wykonywalnej, mimo że mogą powodować zgłoszenie wyjątku. Jest to jedna z różnic technicznych między jednostką wykonywalną a blokiem podstawowym.
Jeśli z metodą Java nie są powiązane żadne informacje o kodzie źródłowym, uważa się, że cała metoda ma tylko jedną jednostkę wykonywalną.