It probably helps that OpenDTrace has a published specification that you can use to not only to reimplement bits of DTrace from scratch but also to agree on a common behavior across many operating systems: https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-924.pdf