program verification and static analysis