Frameworks For Joint Verification Of Security Critical Software And Microarchitecture