Details

Guide to Software Verification with Frama-C


Guide to Software Verification with Frama-C

Core Components, Usages, and Applications
Computer Science Foundations and Applied Logic

von: Nikolai Kosmatov, Virgile Prevosto, Julien Signoles

CHF 77.00

Verlag: Springer
Format: PDF
Veröffentl.: 09.07.2024
ISBN/EAN: 9783031556081
Sprache: englisch

Dieses eBook enthält ein Wasserzeichen.

Beschreibungen

<p>Frama-C is a popular open-source toolset for analysis and verification of C programs, largely used for teaching, experimental research, and industrial applications.<br></p><div><div>With the growing complexity and ubiquity of modern software, there is increasing interest in code analysis tools at various levels of formalization to ensure safety and security of software products. Acknowledging the fact that no single technique will ever be able to fit all software verification needs, the Frama-C platform features a wide set of plug-ins that can be used or combined for solving specific verification tasks.&nbsp;</div><div><br></div><div>This guidebook presents a large panorama of basic usages, research results, and concrete applications of Frama-C since the very first open-source release of the platform in 2008. It covers the ACSL specification language, core verification plug-ins, advanced analyses and their combinations, key ingredients for developing new plug-ins, as well as successful industrial case studies in which Frama-C has helped engineers verify crucial safety or security properties.&nbsp;</div><div><br></div><div><b>Topics and features:</b></div><div><br></div><div>* Gentle, example-based introduction to software specification and verification&nbsp;</div><div>* Wide panorama of state-of-the-art specification and analysis techniques&nbsp;</div><div>* Step-by-step guide to develop your own, tailor-made analysis on top of the platform</div><div>* Inspiring success stories of Frama-C deployment on industrial code</div><div>* More than 15 years of R&D on analysis and verification of C code</div><div><br></div><div>This book is firmly rooted on the practice of software analysis, with numerous examples, exercises and application guidelines. As such, it is particularly well suited for software verification practitioners wishing to deploy verification on their code, as well as for undergraduate students with little or no experience in code analysis techniques. More advanced sections on the theoretical underpinnings of the analyzers will be of interest for graduate students and researchers.<br></div></div><div><p><b>Nikolai Kosmatov</b>&nbsp;is a Senior Researcher at Thales Research & Technology, France.&nbsp;<b>Virgile Prevosto</b>&nbsp;is a Senior Researcher and&nbsp;<b>Julien Signoles</b>&nbsp;is a Research Director, both at Université Paris-Saclay, CEA, List, France.</p></div>
Foreword.- Part I. Core Components.- ACSL Specification Language.- The Kernel and its Services.- Abstract Interpretation with Eva.- Deductive Verification with WP.- Runtime Assertion Checking with E-ACSL.- Test generation with PathCrawler.- Development of new plug-ins.- Part II. Advanced Usages and Combinations.- Tools for Program Understanding.- Combinations of Analyses.- Numerical Accuracy Analysis.- Analyses of Concurrent Programs.- High-Level Properties.- Part III. Applications and Emerging Domains.- Applications in Transportation, Energy and Defence.- Applications in Cybersecurity and Trusted AI.- Artificial Intelligence for Improving Verification Techniques.- Index.- Bibliography.
<p>Nikolai Kosmatov is a research engineer at Thales Research & Technology since 2019, where he leads the Formal Methods group. His main focus is applying formal methods based techniques and tools (including Frama-C) to industrial projects. Previously, he worked for 13 years at CEA List as an expert researcher in the Frama-C team at Software Safety and Security Lab (LSL). He obtained Ph.D. in Mathematics in 2001 from St.Petersburg State Univ., MS in Computer Science in 2003 from Univ. of Besançon, and Habilitation in Computer Science (HDR) from Univ. Paris-Sud in 2018. His research interests include software testing, formal verification, combinations between static and dynamic analysis techniques, and runtime verification. He co-authored four patents and more than 90 scientific papers in international conferences and journals. He was PC co-chair of several international events related to verification and testing, e.g., TAP 2015, IFIP-ICTSS 2019, ACM SAC-SVT 2020 and 2021. He is co-responsible for the working group on software testing (MTV2) of the French CNRS network on Programming and Software Engineering (GDR GPL) and organizes its annual workshops. Dr. Kosmatov contributed to the design and development of several software verification tools. He is the main author of the PathCrawler-online.com testing web service.&nbsp;</p>

<p>Virgile Prevosto is a researcher, senior expert in static analysis and formal methods at Université Paris-Saclay, CEA, List, where he works since 2006 in the Software Safety and Security Lab (LSL). After an engineering degree and MS in Computer Science at École Polytechnique (France), he got a Ph.D. in Computer Science from Univ. Paris 6 (now Sorbonne Université) in 2003. He has been one of the main developers of the Frama-C platform nearly since its inception and co-authored more than 25 peer-reviewed papers on Frama-C-related topics. He gave tutorials and training sessions on Frama-C in various academic and industrial venues and teaches static analysis and Frama-C for more than ten years at ENSIIE. He was a co-chair of the program committee of the Formal IDE (F-IDE) workshops in 2018 and 2019 and TAP conference in 2023. He has been CEA List’s principal investigator in many collaborative projects at national and European levels, including the technical coordination of U3CAT (French ANR), Device-Soft (French/German Projet Inter Carnot Fraunhofer), and Decoder (H2020).</p>

Julien Signoles is a research director at Université Paris-Saclay, CEA, List, where he works since 2006 in the Software Safety and Security Lab (LSL). He got a Ph.D. in Computer Science from University Paris-Sud (now University Paris-Saclay, France) in 2006 and an Habilitation (HDR) from the same university in 2018. His research focuses on runtime annotation checking and applications of formal methods to code safety and security. He is one of the main contributors to Frama-C since its conception. In particular, he is the scientific head of E-ACSL, theruntime annotation checker of Frama-C. He published more than 50 peer-reviewed papers on Frama-C-related topics. He teaches formal methods in French universities and engineering schools, and has given plenty of Frama-C tutorials and talks to a broad audience including students, academic researchers, as well as engineers and decision-makers from industry. He has been the CEA List's principal investigator in many French and European projects. He is co-responsible for the working group on Languages and Program Verification (LVP) of the French CNRS network on Programming and Software Engineering (GDR GPL) and scientific advisor of the Department of Software and System Engineering at CEA List.<p></p><p></p>
<p>Frama-C is a popular open-source toolset for analysis and verification of C programs, largely used for teaching, experimental research, and industrial applications.</p><p></p><p>With the growing complexity and ubiquity of modern software, there is increasing interest in code analysis tools at various levels of formalization to ensure safety and security of software products. Acknowledging the fact that no single technique will ever be able to fit all software verification needs, the Frama-C platform features a wide set of plug-ins that can be used or combined for solving specific verification tasks.&nbsp;</p><p>This guidebook presents a large panorama of basic usages, research results, and concrete applications of Frama-C since the very first open-source release of the platform in 2008. It covers the ACSL specification language, core verification plug-ins, advanced analyses and their combinations, key ingredients for developing new plug-ins, as well as successful industrial case studies in which Frama-C has helped engineers verify crucial safety or security properties.&nbsp;</p><p><b>Topics and features:</b></p><p>* Gentle, example-based introduction to software specification and verification&nbsp;</p><p>* Wide panorama of state-of-the-art specification and analysis techniques&nbsp;</p><p>* Step-by-step guide to develop your own, tailor-made analysis on top of the platform</p><p>* Inspiring success stories of Frama-C deployment on industrial code</p><p>* More than 15 years of R&D on analysis and verification of C code</p><p>This book is firmly rooted on the practice of software analysis, with numerous examples, exercises and application guidelines. As such, it is particularly well suited for software verification practitioners wishing to deploy verification on their code, as well as for undergraduate students with little or no experience in code analysis techniques. More advanced sections on the theoretical underpinnings of the analyzers will be of interest for graduate students and researchers.</p><p><b>Nikolai Kosmatov</b> is a Senior Researcher at Thales Research & Technology, France. <b>Virgile Prevosto</b> is a Senior Researcher and <b>Julien Signoles</b> is a Research Director, both at Université Paris-Saclay, CEA, List, France.</p>
Provides a gentle, example-based introduction to software specification and verification Offers a wide panorama of state-of-the-art specification and analysis techniques Includes inspiring success stories of Frama-C deployment on industrial code

Diese Produkte könnten Sie auch interessieren:

Bitcoin - Grundlagen und Programmierung
Bitcoin - Grundlagen und Programmierung
von: Andreas M. Antonopoulos, David A. Harding
EPUB ebook
CHF 38.00
Bitcoin - Grundlagen und Programmierung
Bitcoin - Grundlagen und Programmierung
von: Andreas M. Antonopoulos, David A. Harding
PDF ebook
CHF 38.00
Programmieren mit KI
Programmieren mit KI
von: Tom Taulli
EPUB ebook
CHF 35.00