Design Concepts in Programming Languages
Author: Franklyn A Turbak
Hundreds of programming languages are in use today--scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as its premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple.
The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advancedundergraduate programming languages course; it can also serve as a reference for researchers and practitioners.
Interesting book: American Shaman or Invitation to Health
Computer Security: Art and Science
Author: Matt Bishop
"This is an excellent text that should be read by every computer security professional and student." —Dick Kemmerer, University of California, Santa Barbara.
"This is the most complete book on information security theory, technology, and practice that I have encountered anywhere!" —Marvin Schaefer, Former Chief Scientist, National Computer Security Center, NSA
This highly anticipated book fully introduces the theory and practice of computer security. It is both a comprehensive text, explaining the most fundamental and pervasive aspects of the field, and a detailed reference filled with valuable information for even the most seasoned practitioner. In this one extraordinary volume the author incorporates concepts from computer systems, networks, human factors, and cryptography. In doing so, he effectively demonstrates that computer security is an art as well as a science.
Computer Security: Art and Science includes detailed discussions on:
Computer Security discusses different policy models, and presents mechanisms that can be used to enforce these policies. It concludes with examples that show how to apply the principles discussed in earlier sections, beginning with networks and moving on to systems, users, and programs.
This important work is essential for anyone who needsto understand, implement, or maintain a secure network or computer system.
0201440997B10252002
Table of Contents:
Preface | ||
Pt. 1 | Introduction | 1 |
Ch. 1 | An Overview of Computer Security | 3 |
Pt. 2 | Foundations | 29 |
Ch. 2 | Access Control Matrix | 31 |
Ch. 3 | Foundational Results | 47 |
Pt. 3 | Policy | 93 |
Ch. 4 | Security Policies | 95 |
Ch. 5 | Confidentiality Policies | 123 |
Ch. 6 | Integrity Policies | 151 |
Ch. 7 | Hybrid Policies | 169 |
Ch. 8 | Noninterference and Policy Composition | 187 |
Pt. 4 | Implementation I: Cryptography | 215 |
Ch. 9 | Basic Cryptography | 217 |
Ch. 10 | Key Management | 245 |
Ch. 11 | Cipher Techniques | 275 |
Ch. 12 | Authentication | 309 |
Pt. 5 | Implementation II: Systems | 339 |
Ch. 13 | Design Principles | 341 |
Ch. 14 | Representing Identity | 353 |
Ch. 15 | Access Control Mechanisms | 381 |
Ch. 16 | Information Flow | 407 |
Ch. 17 | Confinement Problem | 439 |
Pt. 6 | Assurance | 475 |
Ch. 18 | Introduction to Assurance | 477 |
Ch. 19 | Building Systems with Assurance | 497 |
Ch. 20 | Formal Methods | 545 |
Ch. 21 | Evaluating Systems | 571 |
Pt. 7 | Special Topics | 611 |
Ch. 22 | Malicious Logic | 613 |
Ch. 23 | Vulnerability Analysis | 645 |
Ch. 24 | Auditing | 689 |
Ch. 25 | Intrusion Detection | 723 |
Pt. 8 | Practicum | 771 |
Ch. 26 | Network Security | 773 |
Ch. 27 | System Security | 805 |
Ch. 28 | User Security | 845 |
Ch. 29 | Program Security | 869 |
Pt. 9 | End Matter | 923 |
Ch. 30 | Lattices | 925 |
Ch. 31 | The Extended Euclidean Algorithm | 929 |
Ch. 32 | Entropy and Uncertainty | 935 |
Ch. 33 | Virtual Machines | 941 |
Ch. 34 | Symbolic Logic | 947 |
Ch. 35 | Example Academic Security Policy | 959 |
Bibliography | 993 | |
Index | 1063 |
No comments:
Post a Comment