Evolving algebras 1993: Lipari guide
Specification and validation methods
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Theory of Objects
The Definition of Standard ML
The Java Language Specification
The Java Language Specification
A Programmer's Reduction Semantics for Classes and Mixins
Formal Syntax and Semantics of Java
A Formal Specification of Java Virtual Machine Instructions for Objects, Methods and Subrountines
Formal Syntax and Semantics of Java
Formal Syntax and Semantics of Java
Verifying a compiler optimization for Multi-Threaded Java
WADT '97 Selected papers from the 12th International Workshop on Recent Trends in Algebraic Development Techniques
From Sequential to Multi-Threaded Java: An Event-Based Operational Semantics
AMAST '97 Proceedings of the 6th International Conference on Algebraic Methodology and Software Technology
A Logic of Object-Oriented Programs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
An introduction to event structures
Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop
A Hoare Calculus for Verifying Java Realizations of OCL-Constrained Design Models
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
Formal Modelling of Java GUI Event Handling
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Verification for Java's Reentrant Multithreading Concept
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Constructive Foundations for Featherweight Java
PTCS '01 Proceedings of the International Seminar on Proof Theory in Computer Science
CSL '02 Proceedings of the 16th International Workshop and 11th Annual Conference of the EACSL on Computer Science Logic
A JMM-Faithful non-interference calculus for java
FIDJI'04 Proceedings of the 4th international conference on Scientific Engineering of Distributed Java Applications
Formal modeling of a slicing algorithm for java event spaces in PVS
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Empirical Software Engineering and Verification
A Deductive Proof System for Multithreaded Java with Exceptions
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Hi-index | 0.00 |
A structural operational semantics of a significant sublanguage of Java is presented, including the running and stopping of threads, thread interaction via shared memory, synchronization by monitoring and notification, and sequential control mechanisms such as exception handling and return statements. The operational semantics is parametric in the notion of "event space" [6], which formalizes the rules that threads and memory must obey in their interaction. Different computational models are obtained by modifying the well-formedness conditions on event spaces while leaving the operational rules untouched. In particular, we implement the prescient stores described in [10, §17.8] which allow certain intermediate code optimizations, and prove that such stores do not affect the semantics of properly synchronized programs.