Concrete Semantics


Book Description

Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelle’s structured proof language. Part II is an introduction to the semantics of imperative languages with an emphasis on applications like compilers and program analysers. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable. Part I focusses on the details of proofs in Isabelle; Part II can be read even without familiarity with Isabelle’s proof language, all proofs are described in detail but informally. The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. In this sense it represents a formal approach to computer science, not just semantics. The Isabelle formalisation, including the proofs and accompanying slides, are freely available online, and the book is suitable for graduate students, advanced undergraduate students, and researchers in theoretical computer science and logic.




Introduction to Static Analysis


Book Description

A self-contained introduction to abstract interpretation–based static analysis, an essential resource for students, developers, and users. Static program analysis, or static analysis, aims to discover semantic properties of programs without running them. It plays an important role in all phases of development, including verification of specifications and programs, the synthesis of optimized code, and the refactoring and maintenance of software applications. This book offers a self-contained introduction to static analysis, covering the basics of both theoretical foundations and practical considerations in the use of static analysis tools. By offering a quick and comprehensive introduction for nonspecialists, the book fills a notable gap in the literature, which until now has consisted largely of scientific articles on advanced topics. The text covers the mathematical foundations of static analysis, including semantics, semantic abstraction, and computation of program invariants; more advanced notions and techniques, including techniques for enhancing the cost-accuracy balance of analysis and abstractions for advanced programming features and answering a wide range of semantic questions; and techniques for implementing and using static analysis tools. It begins with background information and an intuitive and informal introduction to the main static analysis principles and techniques. It then formalizes the scientific foundations of program analysis techniques, considers practical aspects of implementation, and presents more advanced applications. The book can be used as a textbook in advanced undergraduate and graduate courses in static analysis and program verification, and as a reference for users, developers, and experts.




Semantics in Data and Knowledge Bases


Book Description

This book constitutes the thoroughly refereed post-workshop proceedings of the Third International Workshop on Semantics in Data and Knolwedge Bases, SDKB 2008, held in Nantes, France, on March 29, 2008. The 6 revised full papers presented together with 4 invited papers and a survey on the state of the art in the field, were carefully reviewed and selected for inclusion in the book. The SDKB workshop presented original contributions demonstrating the use of logic, discrete mathematics, combinatorics, domain theory and other mathematical theories of semantics for database and knowledge bases, computational linguistics and semiotics, and information and knowledge-based systems.




Semantics, Logics, and Calculi


Book Description

This Festschrift volume is published in honor of Hanne Riis Nielson and Flemming Nielson on the occasion of their 60th birthdays in 2014 and 2015, respectively. The papers included in this volume deal with the wide area of calculi, semantics, and analysis. The book features contributions from colleagues, who have worked together with Hanne and Flemming through their scientific life and are dedicated to them and to their work. The papers were presented at a colloquium at the Technical University of Denmark in January 2016.




Static Analysis


Book Description

This book constitutes the refereed proceedings of the 16th International Symposium on Static Analysis, SAS 2010, held in Perpignan, France in September 2010. The conference was co-located with 3 affiliated workshops: NSAD 2010 (Workshop on Numerical and Symbolic Abstract Domains), SASB 2010 (Workshop on Static Analysis and Systems Biology) and TAPAS 2010 (Tools for Automatic Program Analysis). The 22 revised full papers presented together with 4 invited talks were carefully reviewed and selected from 58 submissions. The papers address all aspects of static analysis including abstract domains, bug detection, data flow analysis, logic programming, systems analysis, type inference, cache analysis, flow analysis, verification, abstract testing, compiler optimization and program verification.




Logic Programming


Book Description

This volume contains the papers presented at the 20th International Conference on Logic Programming,held in Saint-Malo,France,September 6-10,2004.Since the ?rst meeting in this series, held in Marseilles in 1982, ICLP has been the premier international conference for presenting research in logic programming. This year, we received 70 technical papers from countries all over the world, and the Program Committee accepted 28 of them for presentation;they are included in this volume. A stand-by-your-poster session took place during the conference. It served as a forum for presenting work in a more informal and interactive setting. Abstracts of the 16 posters selected by the Program Committee are included in this volume as well. The conference program also included invited talks and invited tutorials. We were privileged to have talks by three outstanding researchers and excellent speakers: Nachum Dershowitz (Tel Aviv University, Israel) talked on Ter- nation by Abstraction, Michael Gelfond (Texas Tech University, USA) on - swer Set Programming and the Design of Deliberative Agents,andG ́ erard Huet (INRIA, France) on Non-determinism Lessons. Two of the invited talks appear in these proceedings. The tutorials covered topics of high interest to the logic programming community: Ilkka Niemel ̈ a gave a tutorial on The Implementation of Answer Set Solvers, Andreas Podelskion Tree Automata in Program Analysis and Veri?cation, and Guillermo R. Simari on Defeasible Logic Programming and Belief Revision. Satellite workshops made the conference even more interesting. Six workshops collocated with ICLP 2004: - CICLOPS2004, Colloquium on Implementation of Constraint and Logic Programming Systems, organized by Manuel Carro. - COLOPS2004, 2nd International Workshop on Constraint & Logic Progr- ming in Security, organized by Frank Valencia. - MultiCPL2004, 3rd International Workshop on Multiparadigm Constraint, organized by Petra Hofstedt. - Teach LP2004,1st International Workshop on Teaching Logic Programming, organized by Dietmar Seipel.




Formal Methods for Quantitative Aspects of Programming Languages


Book Description

This book presents a set of 4 papers accompanying the lectures of leading researchers given at the 10th edition of the International School on Formal Methods for the Design of Computer, Communication and Software Systems, SFM 2010, held in Bertinoro, Italy, in June 2010. SFM 2010 was devoted to formal methods for quantitative aspects of programming languages and covered several topics including probabilistic and timed models, model checking, static analysis, quantum computing, real-time and embedded systems, and security.




Algebraic Methodology and Software Technology


Book Description

This is the refereed proceedings of the 11th International Conference on Algebraic Methodology and Software Technology. The book collects 24 revised full papers together with 3 system demonstrations and 3 invited talks. Coverage includes current issues in formal methods related to algebraic approaches and to software engineering including abstract data types, process algebras, algebraic specification, model checking, abstraction, refinement, mu-calculus, state machines, rewriting, Kleene algebra, programming logic, and formal software development.




Current Topics in Artificial Intelligence


Book Description

This book constitutes the thoroughly refered post-proceedings of the 11th Conference of the Spanish Association for Artificial Intelligence, CAEPIA 2005, held in Santiago de Compostela, Spain in November 2005. The 48 revised full papers presented together with an invited paper were carefully selected. The papers span the entire spectrum of artificial intelligence from foundational and theoretical issues to advanced applications in various fields.




The Essence of Computation


Book Description

Commemorates the 60th birthday of Neil D. Jones.