IEEE Transactions on Software Engineering · 1989 · 368 citations · 18 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesReal-time SystemsConcurrent ProgrammingDeadline AnalysisSchedulability AnalysisTemporal LogicTiming ModelingTiming SemanticsDeadlinesLower BoundsReal-time SemanticsSoftware Timing AnalysisTemporal Logic AssertionsTimingVerification Of Concurrent Programs
A methodology for specifying and providing assertions about time in higher-level-language programs is described. The approach develops three ideas: the distinction between, and treatment of, both real-time and computer times; the use of upper and lower bounds on the execution times of program elements; and a simple extension of Hoare logic to include the effects of the passage of real-time. Schemas and examples of timing bounds and assertions are presented for a variety of statement types and programs, such as conventional sequential programs including loops, time-related statements such as delay, concurrent programs with synchronization, and software in the presence of interrupts. Examples of assertions that are proved include deadlines, timing invariants for periodic processes, and the specification of time-based events such as those needed for the recognition of single and double clicks from a mouse button.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
18
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1969 · 3.9K citations · Full text
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1983 · 1.5K citations