Shop Cakes body
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows.
Buy New
-47% $48.05
FREE delivery Monday, May 4
Ships from: Amazon.com
Sold by: Amazon.com
$48.05 with 47 percent savings
List Price: $89.99 Image
FREE delivery Monday, May 4
Or Prime members get FREE delivery Tomorrow, April 30. Order within 6 hrs 20 mins. Join Prime
Only 3 left in stock (more on the way).
$$48.05 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$48.05
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Shipper / Seller
Amazon.com
Amazon.com
Shipper / Seller
Amazon.com
Returns
FREE 30-day refund/replacement
FREE 30-day refund/replacement
Quick refund
Usually issued within 24 hours. See exceptions
FREE return
At least one free return option available.
Convenient dropoff
At any of our 50,000 US locations.
See return policy
Gift options
Available at checkout
Available at checkout This item is a gift. Change
At checkout, you can add a custom message, a gift receipt for easy returns and have the item gift-wrapped
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$31.90
Connecting readers with great books since 1972! Used textbooks may not include companion materials such as access codes, etc. May have some wear or writing/highlighting. We ship orders daily and Customer Service is our top priority! Connecting readers with great books since 1972! Used textbooks may not include companion materials such as access codes, etc. May have some wear or writing/highlighting. We ship orders daily and Customer Service is our top priority! See less
$3.99 delivery Thursday, May 7. Details
Only 1 left in stock - order soon.
$$48.05 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$48.05
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Ships from and sold by HPB-Red.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

  • Principles of Program Analysis

Follow the authors

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Principles of Program Analysis 1999th Edition

3.6 out of 5 stars (18)

{"desktop_buybox_group_1":[{"displayPrice":"$48.05","priceAmount":48.05,"currencySymbol":"$","integerValue":"48","decimalSeparator":".","fractionalValue":"05","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"eoN2fMqrsOv8xdoQRxWoDoqH1UjnXzifoWbBVcqifZ4wCihPEtkrTIq%2FUL4GhkBiXUNJHwXtB59%2FSGuKQge7lEljrJkvnoK2J4bRXxNTCHyjtNT7a9V4Zwxzp5ATbSYyzSeAv1gJ7FA%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$31.90","priceAmount":31.90,"currencySymbol":"$","integerValue":"31","decimalSeparator":".","fractionalValue":"90","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"eoN2fMqrsOv8xdoQRxWoDoqH1UjnXzifFTc6uCHzVZvr8d7r%2BnzMxnCHbqyvTtzwLaj1Tux6ItBTrotTjMeZ88oRErXy3N91TykkF1Q6cblELNUj6wnXnUgNrt%2Fn19M4YHRUDmFbl5EYJ7ypmiceYWr%2FbsKw4ZsNKUH%2FFgBKy71wYc2dSqMO1500poCWjVw9","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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.
Sponsored

Frequently bought together

This item: Principles of Program Analysis
$48.05
Get it as soon as Monday, May 4
Only 3 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$75.00
Get it as soon as Monday, May 4
Only 4 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$85.00
Get it as soon as Monday, May 4
Only 3 left in stock (more on the way).
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Customers also bought or read

Loading...

Product details

  • Publisher ‏ : ‎ Springer
  • Publication date ‏ : ‎ October 22, 1999
  • Edition ‏ : ‎ 1999th
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 473 pages
  • ISBN-10 ‏ : ‎ 3540654100
  • ISBN-13 ‏ : ‎ 978-3540654100
  • Item Weight ‏ : ‎ 1.65 pounds
  • Dimensions ‏ : ‎ 6.5 x 1.25 x 9.5 inches
  • Best Sellers Rank: #1,315,061 in Books (See Top 100 in Books)
  • Customer Reviews:
    3.6 out of 5 stars (18)

About the authors

Follow authors to get new release updates, plus improved recommendations.
Sponsored

Customer reviews

3.6 out of 5 stars
18 global ratings
Sponsored

Top reviews from the United States

  • Reviewed in the United States on February 25, 2012
    Format: HardcoverVerified Purchase
    I help my classmate bought this book! it is a classic book !
    but I think it is a little expensive !
    One person found this helpful
    Report
  • Reviewed in the United States on December 11, 2016
    Format: HardcoverVerified Purchase
    Excellent
  • Reviewed in the United States on September 10, 2015
    Format: PaperbackVerified Purchase
    I had to buy this book for my program analysis class. There are too much Math in this book ... Impossible to understand.
    One person found this helpful
    Report
  • Reviewed in the United States on July 24, 2013
    Format: HardcoverVerified Purchase
    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.
    15 people found this helpful
    Report
  • Reviewed in the United States on October 3, 2010
    Format: HardcoverVerified Purchase
    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.
    8 people found this helpful
    Report
  • Reviewed in the United States on November 24, 2010
    Format: Paperback
    As a graduate student in programming languages, I'm finding this textbook a very useful tool to help bring me up to speed. It really helps in understanding theoretical papers on various kinds of static analyses. The book benefits from its segmented approach, so the sections on type and effect systems and data flow analysis, for instance, can be read independently without much of an interdependency.
    13 people found this helpful
    Report
  • Reviewed in the United States on September 9, 2014
    Format: PaperbackVerified Purchase
    I gave up at page 8. Too mathematical, everything is explained using an abstract WHILE language, no practical examples.
    4 people found this helpful
    Report
  • Reviewed in the United States on November 1, 2020
    Format: Paperback
    If you aren't already familiar with abstract interpretation and some theory of computation, do yourself a favor and read Xavier Rival's introduction on static analysis first.
    3 people found this helpful
    Report

Top reviews from other countries

  • Sukanta
    1.0 out of 5 stars old book
    Reviewed in India on July 27, 2014
    Format: HardcoverVerified Purchase
    Book is very old. Front cover is little bit torned. I expect the book with better condition. . . .
  • Eduard J. Smits
    5.0 out of 5 stars Clear explanation and examples for a fascinating topic
    Reviewed in Germany on April 25, 2013
    Format: HardcoverVerified Purchase
    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.