Communicating sequential processes
Communicating sequential processes
Applications of temporal logic to the specification of real time systems (extended abstract)
Proceedings of a Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
A real-time language with a schedulability analyzer
A real-time language with a schedulability analyzer
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Temporal proof methodologies for real-time systems
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic generation of global optimizers
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
A partial evaluator for the Maruti hard real-time system
Real-Time Systems - Special issue: Real-time languages and language-level timing tools and analysis
Predicting program execution times by analyzing static and dynamic program paths
Real-Time Systems - Special issue: Real-time languages and language-level timing tools and analysis
Safe: a semantic technique for transforming programs in the presence of errors
ACM Transactions on Programming Languages and Systems (TOPLAS)
CHARTS: compiler for hard real-time systems
CHARTS: compiler for hard real-time systems
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compiling Real-Time Programs With Timing Constraint Refinement and Structural Code Motion
IEEE Transactions on Software Engineering
Logics and Models of Real Time: A Survey
Proceedings of the Real-Time: Theory in Practice, REX Workshop
Proving real-time properties of programs with temporal logic
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
On the application of temporal logic to the verification of real-time programs
On the application of temporal logic to the verification of real-time programs
Safe code transformations for speculative execution in real-time systems
Safe code transformations for speculative execution in real-time systems
Statically Safe Speculative Execution for Real-Time Systems
IEEE Transactions on Software Engineering
Hi-index | 22.14 |
There have been a number of successes in the past few years in use of formal methods for verification of real-time systems, and also in source-to-source transformation of these systems for improved analysis, performance, and schedulability. What has been lacking are formal proofs that these transformations preserve, or establish program properties. We have previously developed a set of compiler transformation rules for safe and profitable speculative execution in real-time systems. In this paper, we present formal proofs that our transformations preserve both the semantic and the timeliness properties of programs. Our approach uses temporal logic, enhanced with a denotational-semantics-like representation of program stores. While the paper focuses on the speculative execution transformations, the approach is applicable to other real-time compiler-based transformations and code optimization.