7 research outputs found
Specification and verification of object-oriented software components
This work presents a flexible methodology for formally specifying and deductively verifying object-oriented components.
It is based on a simple notion of program correctness. Correctness can be achieved with a novel system of proof obligations, which serve as input to a suitable theorem prover
Deductive Verification of Safety-Critical Java Programs
This work investigates the application of deductive verification techniques to safety critical Java programs, in particular RTSJ programs. A focus is put on the formalization of the RTSJ memory model in dynamic logic, the utilization of a region-based memory model for ensuring non-interference and a design-by-contract based approach for the formal specification and verification of worst case memory consumption
Deductive Verification of Concurrent Programs and its Application to Secure Information Flow for Java
Formal verification of concurrent programs still poses a major challenge in computer science. Our approach is an adaptation of the modular rely/guarantee methodology in dynamic logic. Besides functional properties, we investigate language-based security. Our verification approach extends naturally to multi-threaded Java and we present an implementation in the KeY verification system. We propose natural extensions to JML regarding both confidentiality properties and multi-threaded programs
Specification and verification of object-oriented software components
This work presents a flexible methodology for formally specifying and deductively verifying object-oriented components.It is based on a simple notion of program correctness. Correctness can be achieved with a novel system of proof obligations, which serve as input to a suitable theorem prover