Reasoning about time in higher-level language software | IEEE Journals & Magazine | IEEE Xplore