"By incorporating features that were needed for SystemTap, and not providing a user-space interface, it tried to both do too much and too little."
... reflect several misunderstandings.
utrace did not incorporate any features particularly for systemtap. It was designed and built independently, and *prior* to this part of systemtap getting started. As a well-designed framework, it turned out to be useful for more than just debugger control, so uprobes used it. (These dependencies are not etched in stone.)
And as for "too little", this line of thinking presumes that any new internal kernel functionality must by necessity be exposed via brand-new userspace protocol. It ignores suitable pre-existing interfaces (ptrace, gdb remote protocol) that simply work *better* with the new internals.
When an article relays so much opinion and heated debate, such editorial comments can lead astray.