LEADER 03926nam 2200517 450 001 9910735783103321 005 20231020211241.0 010 $a3-031-30167-6 024 7 $a10.1007/978-3-031-30167-4 035 $a(CKB)27901210400041 035 $a(DE-He213)978-3-031-30167-4 035 $a(MiAaPQ)EBC30766870 035 $a(Au-PeEL)EBL30766870 035 $a(PPN)272250635 035 $a(MiAaPQ)EBC30666294 035 $a(Au-PeEL)EBL30666294 035 $a(EXLCZ)9927901210400041 100 $a20231020d2023 uy 0 101 0 $aeng 135 $aurnn|008mamaa 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aConcise Guide to Software Verification $eFrom Model Checking to Annotation Checking /$fMarieke Huisman and Anton Wijs 205 $aFirst edition. 210 1$aCham, Switzerland :$cSpringer Nature Switzerland AG,$d[2023] 210 4$dİ2023 215 $a1 online resource (IX, 248 p. 146 illus., 127 illus. in color.) 225 1 $aTexts in Computer Science Series 311 $a9783031301667 320 $aIncludes bibliographical references and index. 327 $a1. Introduction -- 2. Background on First-Order Logic and Set Theory -- 3. System Modelling -- 4. Crash Course on Temporal Logic and its Verification -- 5. Software Analysis -- 6. Crash Course on Design by Contract Specifications -- 7. Run-time checking of Design by Contract Specifications -- 8. Static Checking of Design by Contract Specification -- 9. Abstract Specifications. 330 $aEver since the beginnings of the development of software, researchers have been thinking about how to guarantee its correctness. Formal methods are techniques that can be used to improve software reliability and robustness. This concise volume overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process. Topics and features: Covers a broad spectrum of software verification techniques, from model checking to annotation checking Provides numerous examples to demonstrate the techniques Focuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implemented Explains strengths and weaknesses of the techniques, providing insight into when to use which technique in practice This unique textbook has been written primarily for master?s level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software. Marieke Huisman is Professor at the Faculty of Electrical Engineering, Mathematics and Computer Science of the University of Twente, The Netherlands, and Anton Wijs is Assistant Professor at the Department of Mathematics and Computer Science of the Eindhoven University of Technology, The Netherlands. 410 0$aTexts in computer science. 606 $aComputer software$xVerification 615 0$aComputer software$xVerification. 676 $a005.14 700 $aHuisman$b Marieke$0995291 702 $aWijs$b Anton 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910735783103321 996 $aConcise Guide to Software Verification$93561419 997 $aUNINA