Abstract
Change history
[2008-04-23]
added bytecode formalisation with arrays and threads, added thread joins
(revision f74a8be156a7)
[2009-04-27]
added verified compiler from source code to bytecode;
encapsulate native methods in separate semantics
(revision e4f26541e58a)
[2009-11-30]
extended compiler correctness proof to infinite and deadlocking computations
(revision e50282397435)
[2010-06-08]
added thread interruption;
new abstract memory model with sequential consistency as implementation
(revision 0cb9e8dbd78d)
[2010-06-28]
new thread interruption model
(revision c0440d0a1177)
[2010-10-15]
preliminary version of the Java memory model for source code
(revision 02fee0ef3ca2)
[2010-12-16]
improved version of the Java memory model, also for bytecode
executable scheduler for source code semantics
(revision 1f41c1842f5a)
[2011-02-02]
simplified code generator setup
new random scheduler
(revision 3059dafd013f)
[2011-07-21]
new interruption model,
generalized JMM proof of DRF guarantee,
allow class Object to declare methods and fields,
simplified subtyping relation,
corrected division and modulo implementation
(revision 46e4181ed142)
[2012-02-16]
added example programs
(revision bf0b06c8913d)
[2012-11-21]
type safety proof for the Java memory model,
allow spurious wake-ups
(revision 76063d860ae0)
[2013-05-16]
support for non-deterministic memory allocators
(revision cc3344a49ced)
[2017-10-20]
add an atomic compare-and-swap operation for volatile fields
(revision a6189b1d6b30)
Depends On
- Binomial-Heaps
- Finger-Trees
- Automatic_Refinement
- Coinductive
- Collections
- FinFun
- Native_Word
- Refine_Monadic
- Trie
Topics
Related Entries
Theories
- Set_without_equal
- Set_Monad
- JT_ICF
- Auxiliary
- Basic_Main
- FWState
- FWLock
- FWLocking
- FWThread
- FWWait
- FWCondAction
- FWWellform
- FWLockingThread
- FWInterrupt
- FWSemantics
- FWProgressAux
- FWDeadlock
- FWProgress
- FWLifting
- LTS
- FWLTS
- Bisimulation
- FWBisimulation
- FWBisimDeadlock
- FWLiftingSem
- FWInitFinLift
- FWBisimLift
- Semilat
- Err
- Opt
- Product
- Listn
- Semilattices
- Typing_Framework
- SemilatAlg
- Typing_Framework_err
- Kildall
- LBVSpec
- LBVCorrect
- LBVComplete
- Abstract_BV
- Type
- Decl
- TypeRel
- Value
- Exceptions
- SystemClasses
- Heap
- Observable_Events
- StartConfig
- Conform
- ExternalCall
- WellForm
- ExternalCallWF
- ConformThreaded
- BinOp
- SemiType
- Common_Main
- State
- Expr
- JHeap
- SmallStep
- WWellForm
- WellType
- DefAss
- JWellForm
- Threaded
- WellTypeRT
- Progress
- DefAssPreservation
- TypeSafe
- ProgressThreaded
- Deadlocked
- Annotate
- J_Main
- JVMState
- JVMInstructions
- JVMHeap
- JVMExecInstr
- JVMExceptions
- JVMExec
- JVMDefensive
- JVMThreaded
- JVM_Main
- JVM_SemiType
- Effect
- BVSpec
- BVConform
- BVSpecTypeSafe
- BVNoTypeError
- BVProgressThreaded
- JVMDeadlocked
- EffectMono
- TF_JVM
- LBVJVM
- BVExec
- BCVExec
- BV_Main
- CallExpr
- J0
- J0Bisim
- J1State
- J1Heap
- J1
- J1Deadlock
- PCompiler
- Compiler2
- Exception_Tables
- J1WellType
- J1WellForm
- TypeComp
- JVMTau
- Execs
- J1JVMBisim
- J1JVM
- JVMJ1
- Correctness2
- ListIndex
- Compiler1
- J0J1Bisim
- Correctness1Threaded
- Correctness1
- JJ1WellForm
- Compiler
- Correctness
- Preprocessor
- Compiler_Main
- MM
- SC
- SC_Interp
- SC_Collections
- Orders
- JMM_Spec
- JMM_DRF
- SC_Legal
- Non_Speculative
- SC_Completion
- HB_Completion
- JMM_Heap
- JMM_Framework
- JMM_Typesafe
- JMM_Common
- JMM_J
- DRF_J
- JMM_JVM
- DRF_JVM
- JMM_Type
- JMM_Compiler
- JMM_Type2
- JMM_Interp
- JMM_Typesafe2
- JMM_J_Typesafe
- JMM_JVM_Typesafe
- JMM_Compiler_Type2
- JMM
- MM_Main
- State_Refinement
- Scheduler
- Random_Scheduler
- Round_Robin
- SC_Schedulers
- TypeRelRefine
- PCompilerRefine
- J_Execute
- ExternalCall_Execute
- JVMExec_Execute2
- JVM_Execute2
- Code_Generation
- JVMExec_Execute
- JVM_Execute
- ToString
- Java2Jinja
- Execute_Main
- ApprenticeChallenge
- BufferExample
- Examples_Main
- JinjaThreads