Static priorities for call pairs should account for resource direction. For example, open produces an fd, write uses an fd, so it makes sense to add write after open, but not the other way around.
Dynamic priorities for call pairs should account for before/after. For example, setsockopt is only interesting after socket, but not the other way around.
The call priorities calculation is quite basic: https://github.com/google/syzkaller/blob/master/prog/prio.go Some things to improve: