Listing 1 - 3 of 3 |
Sort by
|
Choose an application
Semantics will have an important role to play in the future development of software systems and domain specific languages, and there is a real need for an introductory book that presents the fundamental ideas behind these approaches; stresses their relationship by formulating and proving the relevant theorems; and illustrates the applications of semantics in computer science. Written out of a tradition that places special emphasis on operational semantics, denotational semantics and axiomatic semantics, this book investigates the relationship between the various methods and describes some of the main ideas used, illustrating these via interesting applications. Historically important application areas are used together with some exciting potential applications including: Validating prototype implementations of programming languages Verifying program analyses that are part of more advanced implementations of programming languages Verifying security analyses Verifying useful program properties including information about execution time. This is an introductory text that should serve as an appetizer to the whole area of semantics with applications.
Programming --- programmeren (informatica) --- Computer science --- programmeertalen --- Programming languages (Electronic computers) --- Semantics
Choose an application
This textbook is an introduction to the use of formal methods ranging from semantics of key programming constructs to techniques for the analysis and verification of programs. The authors use program graphs as the mechanism for representing the control structure of programs in order to find a balance between generality and conceptual complexity. The early chapters on program graphs and the Guarded Commands language are sufficient introduction for most readers to then enjoy a plug-and-play approach to the remaining chapters. These explain formal methods for analysing the behaviour of programs in various ways ranging from verification, via program analysis and language-based security, to model checking. The remaining chapters present language extensions with procedures and concurrency and cover their semantics. The book is suitable for advanced undergraduate and graduate courses in software development, and the text is supported throughout with exercises of varying grades of difficulty. The authors have developed an online learning environment that allows students to create examples beyond those covered in the main text, and in the book appendices they present programming projects aimed at implementing central parts of the development using the functional language F#.
Information theory. --- Software engineering. --- Theory of Computation. --- Software Engineering/Programming and Operating Systems. --- Computer software engineering --- Engineering --- Communication theory --- Communication --- Cybernetics --- Formal methods (Computer science) --- System design --- Computers. --- Automatic computers --- Automatic data processors --- Computer hardware --- Computing machines (Computers) --- Electronic brains --- Electronic calculating-machines --- Electronic computers --- Hardware, Computer --- Computer systems --- Machine theory --- Calculators --- Cyberspace
Choose an application
Program analysis concerns static techniques for computing reliable approximate information about the dynamic behaviour of programs. Applications include compilers (for code improvement), software validation (for detecting errors in algorithms or breaches of security) and transformations between data representation (for solving problems such as the Y2K problem). This book is unique in giving an overview of the four major approaches to program analysis: data flow analysis, constraint based analysis, abstract interpretation, and type and effect systems. The presentation demonstrates the extensive similarities between the approaches; this will aid the reader in choosing the right approach and in enhancing it with insights from the other approaches. The book covers basic semantic properties as well as more advanced algorithmic techniques. The book is aimed at M.Sc. and Ph.D. students but will be valuable also for experienced researchers and professionals.
Computer programming. --- Computer programs. --- Programmation (Informatique) --- Logiciels --- Computer programming --- Computer programs --- 681.3*F32 --- Computer program files --- Files, Computer program --- Program files, Computer --- Programs, Computer --- Computer files --- Computer software --- Computers --- Electronic computer programming --- Electronic data processing --- Electronic digital computers --- Programming (Electronic computers) --- Coding theory --- Semantics of programming languages: algebraic approaches to semantics denotational semantics operational semantics (Logics and meanings of programs)--See also {681.3*D31} --- Programming --- 681.3*F32 Semantics of programming languages: algebraic approaches to semantics denotational semantics operational semantics (Logics and meanings of programs)--See also {681.3*D31} --- 681.3*F32 Semantics of programming languages: algebraic approaches to semantics; denotational semantics; operational semantics (Logics and meanings of programs)--See also {681.3*D31} --- Semantics of programming languages: algebraic approaches to semantics; denotational semantics; operational semantics (Logics and meanings of programs)--See also {681.3*D31} --- programmeren (informatica) --- Computer science --- algoritmen --- Computer logic. --- Programming languages (Electronic computers). --- Software engineering. --- Logics and Meanings of Programs. --- Programming Languages, Compilers, Interpreters. --- Software Engineering. --- Computer software engineering --- Engineering --- Computer languages --- Computer program languages --- Computer programming languages --- Machine language --- Languages, Artificial --- Computer science logic --- Logic, Symbolic and mathematical
Listing 1 - 3 of 3 |
Sort by
|