46,99 €
inkl. MwSt.
Versandkostenfrei*
Versandfertig in 6-10 Tagen
payback
23 °P sammeln
  • Broschiertes Buch

Multithreading is becoming ubiquitous to build high-performance software. Multithreaded programs, however, are both harder to write and harder to debug. The random occurrence of tricky bugs make them highly time-consuming to find. In this context, program verification is a powerful tool to build safe multithreaded programs. This book adapts separation logic - a novel and successful technique to reason about imperative programs - to multithreaded object-oriented programs à la Java. First it shows how to finely reason about the start and join primitives for multithreading. Second, this book…mehr

Produktbeschreibung
Multithreading is becoming ubiquitous to build high-performance software. Multithreaded programs, however, are both harder to write and harder to debug. The random occurrence of tricky bugs make them highly time-consuming to find. In this context, program verification is a powerful tool to build safe multithreaded programs. This book adapts separation logic - a novel and successful technique to reason about imperative programs - to multithreaded object-oriented programs à la Java. First it shows how to finely reason about the start and join primitives for multithreading. Second, this book shows to reason about reentrant locks i.e. Java's locks. Then, the book describes two novel applications of separation logic : debugging of specifications by means of protocols and enhancement of verification by disproving. The book concludes with an entirely new approach to automatic parallelization that 1/ permits to parallelize arbitrary code (i.e. not only loops) 2/ offers high confidence inthe parallelized programs obtained. This book is targeted to theorists and practitioners of program verification that aim at discovering the last advances in this field.
Autorenporträt
After obtaining his engineering degree and Master degree in Nancy, Clément Hurlin did his PhD thesis at INRIA in Sophia-Antipolis (France) and Twente (the Netherlands). His topics of research include separation logic for multithreaded object-oriented languages, automatic parallelization, and certified program analyses.