Predicate calculus and program semantics
Predicate calculus and program semantics
Programming from specifications
Programming from specifications
Specifying representations of machine instructions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular Compiler Verification: A Refinement-Algebraic Approach Advocating Stepwise Abstraction
Modular Compiler Verification: A Refinement-Algebraic Approach Advocating Stepwise Abstraction
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
A Layered Real-Time Specification of a RISC Processor
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Refinement Calculus, Part I: Sequential Nondeterministic Programs
Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop
Portable Code for Complex Critical Systems
RTCSA '99 Proceedings of the Sixth International Conference on Real-Time Computing Systems and Applications
Integrating the timing analysis of pipelining and instruction caching
RTSS '95 Proceedings of the 16th IEEE Real-Time Systems Symposium
Modeling complex flows for worst-case execution time analysis
RTSS'10 Proceedings of the 21st IEEE conference on Real-time systems symposium
Hi-index | 0.00 |
Timing analysis of assembler code is essential to achieve the strongest possible guarantee of correctness for safety-critical, real-time software. Previous work has shown how timing constraints on control-flow paths through high-level language programs can be formalised using the semantics of the statements comprisingthe path. We extend these results to assembler-level code where it becomes possible to not only determine timing constraints, but also to verify them against the known execution times for each instruction. A minimal formal model is developed with both a weakest liberal precondition and a strongest postcondition semantics. However, despite the formalism's simplicity, it is shown that complex timing behaviour associated with instruction pipelining and iterative code can be modelled accurately.