Guide to Software Verification with Frama-C Core Components, Usages, and Applications / [electronic resource] : edited by Nikolai Kosmatov, Virgile Prevosto, Julien Signoles. - 1st ed. 2024. - XXIV, 697 p. 196 illus., 69 illus. in color. online resource. - Computer Science Foundations and Applied Logic, 2731-5762 . - Computer Science Foundations and Applied Logic, .

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.

Frama-C is a popular open-source toolset for analysis and verification of C programs, largely used for teaching, experimental research, and industrial applications. 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. 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. Topics and features: * Gentle, example-based introduction to software specification and verification * Wide panorama of state-of-the-art specification and analysis techniques * Step-by-step guide to develop your own, tailor-made analysis on top of the platform * Inspiring success stories of Frama-C deployment on industrial code * More than 15 years of R&D on analysis and verification of C code 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. Nikolai Kosmatov is a Senior Researcher at Thales Research & Technology, France. Virgile Prevosto is a Senior Researcher and Julien Signoles is a Research Director, both at Université Paris-Saclay, CEA, List, France.

9783031556081

10.1007/978-3-031-55608-1 doi


Computer programs--Testing.
Programming languages (Electronic computers).
Mathematics--Data processing.
Coding theory.
Information theory.
Software Testing.
Programming Language.
Computational Mathematics and Numerical Analysis.
Coding and Information Theory.

QA76.76.T48

005.14