Building High Integrity Applications with SPARK 🔍
John W. McCormick; Peter C. Chapin Cambridge University Press (Virtual Publishing), 1, PS, 2015
英语 [en] · PDF · 17.3MB · 2015 · 📘 非小说类图书 · 🚀/lgli/lgrs/nexusstc/upload/zlib · Save
描述
Software is pervasive in our lives. We are accustomed to dealing with the failures of much of that software - restarting an application is a very familiar solution. Such solutions are unacceptable when the software controls our cars, airplanes and medical devices or manages our private information. These applications must run without error. SPARK provides a means, based on mathematical proof, to guarantee that a program has no errors. SPARK is a formally defined programming language and a set of verification tools specifically designed to support the development of software used in high integrity applications. Using SPARK, developers can formally verify properties of their code such as information flow, freedom from runtime errors, functional correctness, security properties and safety properties. Written by two SPARK experts, this is the first introduction to the just-released 2014 version. It will help students and developers alike master the basic concepts for building systems with SPARK.
备用文件名
nexusstc/Building High Integrity Applications with SPARK/0e52fe928b931acedcbaab6bbc503212.pdf
备用文件名
lgli/9781107656840---0e52fe928b931acedcbaab6bbc503212.pdf
备用文件名
lgrsnf/9781107656840---0e52fe928b931acedcbaab6bbc503212.pdf
备用文件名
zlib/Computers/Programming/John W Mccormick/Building High Integrity Applications with SPARK_16464720.pdf
备选标题
High integrity programming with SPARK
备选作者
McCormick, John W., Chapin, Peter C.
备用版本
United Kingdom and Ireland, United Kingdom
备用版本
New York, NY, 2015
备用版本
Cambridge, 2015
元数据中的注释
lg3037060
元数据中的注释
{"edition":"1","isbns":["1107040736","1107656842","1139629298","9781107040731","9781107656840","9781139629294"],"last_page":382,"publisher":"Cambridge University Press"}
备用描述
Half title 2
Title 4
Copyright 5
Table of Contents 7
Preface 10
1 Introduction and Overview 19
1.1 Obtaining Software Quality 20
1.2 What Is SPARK? 31
1.3 SPARK Tools 34
1.4 SPARK Example 38
Summary 44
Exercises 45
2 The Basic SPARK Language 47
2.1 Control Structures 54
2.2 Subprograms 66
2.3 Data Types 74
2.4 Subprograms, More Options 118
Summary 130
Exercises 131
3 Programming in the Large 136
3.1 Definition Packages 138
3.2 Utility Packages 141
3.3 Type Packages 144
3.4 Variable Packages 159
3.5 Child Packages 167
3.6 Elaboration 177
Summary 180
Exercises 182
4 Dependency Contracts 186
4.1 Data Dependency Contracts 187
4.2 Flow Dependency Contracts 195
4.3 Managing State 204
4.4 Default Initialization 229
4.5 Synthesis of Dependency Contracts 235
Summary 239
Exercises 242
5 Mathematical Background 247
5.1 Propositional Logic 247
5.2 Logical Equivalence 258
5.3 Arguments and Inference 262
5.4 Predicate Logic 268
Summary 280
Exercises 281
6 Proof 289
6.1 Runtime Errors 289
6.2 Contracts 301
6.3 Assert and Assume 348
6.4 Loop Invariants 367
6.5 Loop Variants 382
6.6 Discriminants 389
6.7 Generics 401
6.8 Suppression of Checks 419
Summary 427
Exercises 431
7 Interfacing with SPARK 437
7.1 SPARK and Ada 437
7.2 SPARK and C 459
7.3 External Subsystems 473
Summary 494
Exercises 496
8 Software Engineering with SPARK 499
8.1 Conversion of SPARK 2005 499
8.2 Legacy Ada Software 509
8.3 Creating New Software 518
8.4 Proof and Testing 536
8.5 Case Study: Time Stamp Server 540
Summary 566
9 Advanced Techniques 568
9.1 Ghost Entities 568
9.2 Proof of Transitive Properties 575
9.3 Proof Debugging 584
9.4 SPARK Internals 604
Notes 614
References 620
Index 628
备用描述
The formally defined programming language SPARK provides a means to guarantee that a computer program has no errors. This makes it a natural system for designing safety- and security-critical applications. This first introduction to SPARK 2014 will allow students and developers to master the basic concepts for building systems with SPARK.
开源日期
2021-06-24
更多信息……

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:Motrix
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。