Runtime Verification A Hands-On Approach in Java /

Colombo, Christian.

Runtime Verification A Hands-On Approach in Java / [electronic resource] : by Christian Colombo, Gordon J. Pace. - 1st ed. 2022. - XII, 205 p. 13 illus., 7 illus. in color. online resource.

1. The Need for Verification?. - 2. What is Runtime Verification -- 3. FiTS: A Financial Transaction System -- 4. Manual Monitoring -- 5. Aspect-Oriented Programming -- 6. Event Guarded Command Language -- 7. Symbolic Automata -- 8. Regular Expressions -- 9. Linear Temporal Logic -- 10. Monitoring Real-Time Properties -- 11. Reactive Runtime Monitoring -- 12. Offline Runtime Verification -- 13. Other Advanced Topics -- 14. Conclusions.

This book provides a hands-on introduction to runtime verification which guides the reader from zero to sufficient practical knowledge required to consider and apply it in industry. It starts with almost no assumptions on the knowledge of the reader and provides exercises throughout the book through which the reader builds their own runtime verification tool. All that is required are basic programming skills and a good working knowledge of the object-oriented paradigm, ideally Java. Drawing from years of the authors' real-world experience, the reader progresses from manually writing runtime verification code to instrumenting monitoring using aspect-oriented programming, after which they explore increasing levels of specification abstraction: automata, regular expressions, and linear time temporal logic. A range of other topics is also explored in the book, including real-time properties, concerns of efficiency and persistence, integration with testing and architectural considerations. The book is written for graduate students specializing in software engineering as well as for industry professionals who need an introduction to the topic of runtime verification. While the book focuses on underlying foundations and practical techniques, it additionally provides for each chapter a reading list in the appendix for the interested reader who would like to deepen their knowledge in a particular area.

9783031092688

10.1007/978-3-031-09268-8 doi


Software engineering.
Computer science.
Computer science--Mathematics.
Mathematical logic.
Software Engineering.
Theory of Computation.
Mathematics of Computing.
Mathematical Logic and Foundations.

QA76.758

005.1
© 2024 IIIT-Delhi, library@iiitd.ac.in