Program correctness over abstract data types, with error-state semantics
Program correctness over abstract data types, with error-state semantics
Reasoning about object-oriented programs that use subtypes
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
ACM Computing Surveys (CSUR)
Reasoning about Java classes: preliminary report
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Proof System for Communicating Sequential Processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
A Theory of Objects
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
The Java Language Specification
The Java Language Specification
Formal Syntax and Semantics of Java
Formal Syntax and Semantics of Java
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
Verified Bytecode Model Checkers
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
A Logic of Object-Oriented Programs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Verification for Java's Reentrant Multithreading Concept
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Logical foundations for typed object-oriented languages
PROCOMET '98 Proceedings of the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods
Hoare Logic for NanoJava: Auxiliary Variables, Side Effects, and Virtual Methods Revisited
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Computer-aided specification and verification of annotated object-oriented programs
FMOODS '02 Proceedings of the IFIP TC6/WG6.1 Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems V
Theoretical Computer Science
A Deductive Proof System for Multithreaded Java with Exceptions
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Observable Behavior of Dynamic Systems: Component Reasoning for Concurrent Objects
Electronic Notes in Theoretical Computer Science (ENTCS)
FM '08 Proceedings of the 15th international symposium on Formal Methods
A shared-variable concurrency analysis of multi-threaded object-oriented programs
Theoretical Computer Science
A Verification System for Distributed Objects with Asynchronous Method Calls
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Compositional Operational Semantics of a UML-Kernel-Model Language
Electronic Notes in Theoretical Computer Science (ENTCS)
A complete guide to the future
ESOP'07 Proceedings of the 16th European conference on Programming
MAVEN: modular aspect verification
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
A sound and complete shared-variable concurrency model for multi-threaded Java programs
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
Formalising java's data race free guarantee
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
MAVEN: modular aspect verification and interference analysis
Formal Methods in System Design
The VerCors project: setting up basecamp
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
A proof system for a PGAS language
Concurrency, Compositionality, and Correctness
A bytecode logic for JML and types
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
A system for compositional verification of asynchronous objects
Science of Computer Programming
A Deductive Proof System for Multithreaded Java with Exceptions
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Hi-index | 0.00 |
Besides the features of a class-based object-oriented language, Java integrates concurrency via its thread classes, allowing for a multithreaded flow of control. The concurrency model includes synchronous message passing, dynamic thread creation, shared-variable concurrency via instance variables, and coordination via reentrant synchronization monitors.To reason about safety properties of multithreaded Java programs, we introduce an assertional proof method for a multithreaded sublanguage of Java, covering the mentioned concurrency issues as well as the object-based core of Java. The verification method is formulated in terms of proof-outlines, where the assertions are layered into local ones specifying the behavior of a single instance, and global ones taking care of the connections between objects. We establish the soundness and the relative completeness of the proof system. From an annotated program, a number of verification conditions are generated and handed over to the interactive theorem prover PVS.