History.- A Short History of KeY.- Verification Tools.- A Retrospective on Developing Hybrid System Provers in the KeYmaera Family – A Tale of Three Provers.- Improving Performance of the VerCors Program Verifier.- Contracts.- Behavioral Contracts for Cooperative Scheduling.- Using Abstract Contracts for Verifying Evolving Features and Their Interactions.- Constraint-based Contract Inference for Deductive Verification.- From Explicit to Implicit Dynamic Frames in Concurrent Reasoning for Java.- Feasibility and Usability.- A Tutorial on Verifying LinkedList Using KeY.- The VerifyThis Collaborative Long Term Challenge.- Usability Recommendations for User Guidance in Deductive Program Verification.- Integration of Verification Techniques.- Integration of Static and Dynamic Analysis Techniques for Checking Noninterference.- SymPaths: Symbolic Execution Meets Partial Order Reduction.
Since the inception of the KeY project two decades ago, the area of deductive verification has evolved considerably. Support for real world programming languages by deductive program verification tools has become prevalent. This required to overcome significant theoretical and technical challenges to support advanced software engineering and programming concepts. The community became more interconnected with a competitive, but friendly and supportive environment.
We took the 20 year anniversary of KeY as an opportunity to invite researchers, inside and outside of the project, to contribute to a book capturing some state-of-the-art developments in the field.
We received thirteen contributions from recognized experts of the field addressing the latest challenges. The topics of the contributions range from tool development, effciency and usability considerations to novel specification and verification methods.
This book should offer the reader an up-to-date impression of the current state-of-art in deductive verification, and we hope, inspire her to contribute to the field and to join forces. We are looking forward to meeting you at the next conference, to listen to your research talks and the resulting fruitful discussions and collaborations.