oder
Loggen Sie sich ein, um 1-Click® einzuschalten.
Jetzt eintauschen
und EUR 13,71 Gutschein erhalten
Eintausch
Alle Angebote
Möchten Sie verkaufen? Hier verkaufen
Der Artikel ist in folgender Variante leider nicht verfügbar
Keine Abbildung vorhanden für
Farbe:
Keine Abbildung vorhanden

 
Den Verlag informieren!
Ich möchte dieses Buch auf dem Kindle lesen.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

Principles of Program Analysis [Englisch] [Gebundene Ausgabe]

Flemming Nielson , Hanne R. Nielson , Chris Hankin
4.7 von 5 Sternen  Alle Rezensionen anzeigen (3 Kundenrezensionen)
Preis: EUR 53,45 kostenlose Lieferung. Siehe Details.
  Alle Preisangaben inkl. MwSt.
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Gewöhnlich versandfertig in 5 bis 9 Tagen.
Verkauf und Versand durch Amazon. Geschenkverpackung verfügbar.

Kurzbeschreibung

10. Dezember 2004 3540654100 978-3540654100 1st ed. 1999. Corr. 2nd printing 2004
Program analysis utilizes static techniques for computing reliable information about the dynamic behavior of programs. Applications include compilers (for code improvement), software validation (for detecting errors) and transformations between data representation (for solving problems such as Y2K). This book is unique in providing 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 illustrates the extensive similarities between the approaches, helping readers to choose the best one to utilize.

Hinweise und Aktionen

  • Studienbücher: Ob neu oder gebraucht, alle wichtigen Bücher für Ihr Studium finden Sie im großen Studium Special. Natürlich portofrei.


Kunden, die diesen Artikel gekauft haben, kauften auch


Produktinformation

  • Gebundene Ausgabe: 450 Seiten
  • Verlag: Springer; Auflage: 1st ed. 1999. Corr. 2nd printing 2004 (10. Dezember 2004)
  • Sprache: Englisch
  • ISBN-10: 3540654100
  • ISBN-13: 978-3540654100
  • Größe und/oder Gewicht: 3,3 x 16,3 x 23,5 cm
  • Durchschnittliche Kundenbewertung: 4.7 von 5 Sternen  Alle Rezensionen anzeigen (3 Kundenrezensionen)
  • Amazon Bestseller-Rang: Nr. 69.327 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
  • Komplettes Inhaltsverzeichnis ansehen

Mehr über die Autoren

Entdecken Sie Bücher, lesen Sie über Autoren und mehr

Produktbeschreibungen

Synopsis

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.

Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?


In diesem Buch (Mehr dazu)
Einleitungssatz
In this book we shall introduce four of the main approaches to program analysis: Data Flow Analysis, Constraint Based Analysis, Abstract Interpretation, and Type and Effect Systems. Lesen Sie die erste Seite
Mehr entdecken
Wortanzeiger
Ausgewählte Seiten ansehen
Buchdeckel | Copyright | Inhaltsverzeichnis | Auszug | Stichwortverzeichnis | Rückseite
Hier reinlesen und suchen:

Eine digitale Version dieses Buchs im Kindle-Shop verkaufen

Wenn Sie ein Verleger oder Autor sind und die digitalen Rechte an einem Buch haben, können Sie die digitale Version des Buchs in unserem Kindle-Shop verkaufen. Weitere Informationen

Kundenrezensionen

3 Sterne
0
2 Sterne
0
1 Sterne
0
4.7 von 5 Sternen
4.7 von 5 Sternen
Die hilfreichsten Kundenrezensionen
1 von 1 Kunden fanden die folgende Rezension hilfreich
4.0 von 5 Sternen Ein Muß als Ergänzung zur Vorlesung 11. Juni 2006
Format:Gebundene Ausgabe
Ich höre zur Zeit eine Übersetzerbau-Vorlesung, deren Dozent die von den Autoren bereitgestellten Folien einsetzt.

Diese Folien finde ich sehr unverständlich und habe daher lange gezögert, mir das Buch (ausgeliehen aus der Bib) anzuschauen.

Gestern habe ich damit dann mal angefangen, und ich muß sagen: Das Buch ist zwar in der Tat keine leichte Kost, wie mein Vorrezensent schon bemerkte, macht das Verständnis aber im Gegensatz zu den Folien immerhin möglich.
War diese Rezension für Sie hilfreich?
Format:Gebundene Ausgabe|Verifizierter Kauf
This book is for people with syntax experience. It is not a novel, each page is concise and precise, I had to do some re-reading at a regular basis. It is however very complete, well written and there are plenty good examples that really clarify the text. I rarely consider 5 stars for a book, it shows my appreciation for the detailed explanation of this specialistic topic.
War diese Rezension für Sie hilfreich?
2 von 3 Kunden fanden die folgende Rezension hilfreich
5.0 von 5 Sternen Statische Programmanalyse für Fortgeschrittene 18. August 2003
Format:Gebundene Ausgabe
Keine leichte Kost, andererseits ist mir kein vergleichbares Werk zur statischen Programmanalyse bekannt (bin allerdings auch kein Experte). Ein wichtiges, ausgiebig benutztes mathematisches Werkzeug sind Verbuende (Mengen mit Teilordnung) und Fixpunktiterationen darauf.
Ebenfalls gut sind die Behandlung von imperativen Sprachen anhand der Modellsprache WHILE und von funktionalen Sprachen anhand der Modellsprache FUN.
War diese Rezension für Sie hilfreich?
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Amazon.com: 3.5 von 5 Sternen  4 Rezensionen
34 von 36 Kunden fanden die folgende Rezension hilfreich
4.0 von 5 Sternen Interesting 23. Oktober 2000
Von Venkatesh Prasad Ranganath - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe
As the title suggests the book discusses various approaches to program analysis and it discusses these approaches is pretty good detail, though purely theoretical with small WHILE languages. It would have helped to have used a real live example by considering a small chunk of any of the generally used languages. It has good appendices that covers on some mathematical concepts but be warned you need know your math, the kind described in Glynn winskel or John reynolds book, before you dig into this one.
I rate it as 4 star as it gives the information on how to approach program analysis from the theoretical side. Also, reading it made my life easy when working with some code on flow analysis. I would say it definitely requires 2 readings for the info to settle inside. The appendix on Partially Ordered Sets is much more comprehendable than in Winskel.
In simple words, if u r good at theoritcal math used with languages and are interested in implementing and understanding various analysis that can be performed on programs then this is book would be a great aid.
5 von 6 Kunden fanden die folgende Rezension hilfreich
3.0 von 5 Sternen Good book, but moderately too-academic 24. Juli 2013
Von 2.78 - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe|Verifizierter Kauf
This note is a review of the book "Principles of Program Analysis," to help understand the narrative. The book uses a method of description this is needlessly too-complex. The basic approach is:

1. Statements into a graph, expressions & sub-expressions into nodes
2. Form base set of attributes for nodes
3. Form complete attributes of each node
4. Answer questions about procedures, and other objects of the program.

Compilers use these techniques (or similar ones) to:
1. Remove superfluous computations (dead code propagation, constant propagation)
2. Merge redundant computations
3. To schedule computation and other operations

Analysis tools may employ these techniques to suggest that the program may have implementation mistakes. These tools are slowly improving in the industry, but are decades behind compiler tools. That said, this book is interested in the academic analysis, and is several steps removed from what it takes to produce good tools.

I. Notation used in the book.
The text prefers to use a small number of "abstractions" for a foundation:
* "Lattices" are used for structures
* The process of applying rules, broadly, uses the concept of fixed point
* Working thru constraints is handled by work-lists

I'll go into depth on the notation below, as some of the book is written needlessly academically (poorly) in how it uses terms.

A. Syntax: The language is broken down along syntax into nodes. Implicitly there is only one operation per node. Expressions are decomposed into separate sub-expression for each action

Note: To look at an analysis, the book often defines a small grammar; some massaging is often needed to make the analysis work.

B. Semantics: (1) A set of values, state, variables and their type, sets of variables (closures). (2) Specifies how a program transforms one value into another

C. Program analysis examines (1) sets of properties (2) specifies how a program transforms one property into another

D. Labels. Nodes are assigned a unique numerical identifier. A node could be identified by an internal pointer. Using a file-line-column-span (e.g. mapping to the source file) is not recommended. Constant folding and merging duplicate code operations, make it possible for several different source-file locations to map to the same node.

E. "Fixed point" is a term that the book uses, but no one should ever use -- it's arrogant, and there are easier ways to say any statement that uses the term. "Fixed point" is used, idiomatically, to mean repeatedly resolving references - e.g. values expressions - until no more can be resolved. Specific examples of use include: Producing a trace, Constant folding, Dead Code elimination, Abstract interpretation

The technical meaning of fixed point is a value that a function (when given it as an argument) returns. In this case, the "value" is the set of variables and their values (or unresolved expression, as the case may be). The function is the process of resolving expressions into values. This is repeated until nothing more can be resolved this way.

F. "Lattice". The text prefers to make structures into complete lattice for its analysis. Again, this term is arrogant, and there is always a clearer, easier way to make any statement that employs it. Lattices are essentially tree structures: the set of child nodes (of two nodes) don't partially overlap - they are either a subset, the same, or share no common elements. In, complete lattices all children (subsets) have a greatest lower bound, a least upper bound, a least and a greatest element. The right most child node is often the left most child of a sibling.

Treating lattices with is indicated to be done bit vectors, although not clearly defined in the book.

G. Work-list builds a set of items that satisfies constraints. These constraints are in a graph structure, and numbered. These algorithms relate to repeatedly applying the rules until solved (see fixed point)

II. Analysis
The techniques described should be sound and complete, and the book includes a brief discussion on how to tell if they are. Start with a restricted class analysis. Define correctness relations for each type of analysis. Starts with simple and expands to more intermediary steps in the analysis. This leads to what the elements analysis are: Values, Heap, Property, Expression, Pointer, Selector, Type, State, Location, Variable, Label, Constraint

Types of analysis by pairs of these elements:
* Going from one state to another in in the program uses "Constant propagation analysis" techniques
* Going from one environment to another in the program uses "Control flow analysis" techniques
* Where (the label) variables got their value uses "Data flow" techniques
And so on.

II. Analysis
This is where the book does much better. It describes how to perform a variety of analysis techniques (not just the ones indicated above): value and data flow (with equational and constraint based approaches), variable analysis, type analysis, utility (liveliness) of variables and expressions, reference and shape analysis, control flow analysis, constraint based analysis, working with object-oriented languages, intraprocedural and interprocedural analysis, and abstract interpretation

The book also includes the use of types in a program -- something academics texts occasionally like to pretend doesn't exist, rendering them useless.
7 von 15 Kunden fanden die folgende Rezension hilfreich
2.0 von 5 Sternen Felt apart after a bit 3. Oktober 2010
Von Yiu Yu Ho - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe|Verifizierter Kauf
I had to get this book for our Program Analysis class. The content seems decent, although I am haven't read enough of it to say too much. The exercises were helpful, and difficult (or tedious). However, the book felt apart in the middle of the semester. Pages were falling off quickly, and I haven't even really read much of it. I really don't like books that breaks since then I have to spend a lot of attention at arranging the pages and worrying about missing pages.
1 von 6 Kunden fanden die folgende Rezension hilfreich
5.0 von 5 Sternen great book ! 25. Februar 2012
Von luke - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe|Verifizierter Kauf
I help my classmate bought this book! it is a classic book !
but I think it is a little expensive !
Waren diese Rezensionen hilfreich?   Wir wollen von Ihnen hören.
Kundenrezensionen suchen
Nur in den Rezensionen zu diesem Produkt suchen

Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen, Meinungen austauschen, Einblicke gewinnen
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 

Kundendiskussionen durchsuchen
Alle Amazon-Diskussionen durchsuchen
   


Ähnliche Artikel finden


Ihr Kommentar