I was working on some concurrent programs for the past few weeks and was wondering if there is any tool that can automatically detect what type of progress condition its operations guarantees, that is whether it is wait-free, lock-free or obstruction-free.
I searched online and didn't find any such tool.
Can one tell how to deduce progress condition of a program?