Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Principles of program analysis

    Principles of program analysis

    Flemming Nielson, Hanne Riis Nielson, Chris Hankin · 1999

    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.

    Computer ScienceProgrammingSoftware Engineering
    Open LibraryAmazon
    Stats for nerds
    7recommend
    15mentions
    11people
    2011–2024years
    53% recommend40% neutral7% critical

    Mentions per year

    20112013201520172019202120232024

    What Hacker News says

    1. aleclmSep 2022
      For compiler theory, "Principles of Program Analysis" (by Nielson, Nielson, Hankin).

      It is so foundational to what we do at rev.ng, that we gift a physical copy of the book to every interviewee, even if they don't pass.

      thread
    2. int0x80Aug 2022
      "Principles of Program Analysis" covers the subject very well. It's not an easy or beginner book because it's very formal, but very complete and with plenty of examples.
      thread
    3. tom_melliorAug 2017
      > a symbol table on each block level, which helps in differentiating names

      Yes, that's something that every compiler (for languages with scopes that allow hiding) needs. Typically you also never compare variables by name but by pointer to a symbol structure or some numeric ID.

      > Does anyone know of code that makes clear what is involved in def-use for a variable without saying "this is an exercise for the reader" ?

      It's not code, but chapter 2 of Nielson/Nielson/Hankin's Principles of Program Analysis discusses how to do this. See accompanying slides on the book's website: http://www.imm.dtu.dk/~hrni/PPA/ppasup2004.html

      In a sense, this must be an exercise for the reader, since if you are working on your own compiler, nobody's code will be compatible with yours.

      thread
    4. nextosJan 2017
      Try Principles of Program Analysis by Nielson & Nielson. Uber hardcore and beautiful approaches to static analysis and optimization, on a very general mathematical framework.
      thread
    5. kushtiDec 2013
      "Types and Programming Languages" by Benjamin C. Pierce "Principles of Program Analysis" by Nielson, Nielson, Hankin
      thread
    6. timtadhApr 2013
      I also highly recommend "Semantics with Applications" by Nielson and Nielson. I read it this January and it is an excellent book. It is very approachable for someone with only the lightest background in formal methods. If you are looking for a good introduction to the field I would start there. I am definitely going to look into the OPs book it looks awesome.

      download http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.html

      print http://www.amazon.com/Semantics-Applications-Appetizer-Under...

      EDIT:

      after reading the author page it looks like the OPs book has not been updated so keep in mind that it is the state of the field as of the 80s. The work by Nielson and Nielson is fairly recent. I would also suggest "Principles of Program Analysis" for a follow up book.

      http://www.amazon.com/Principles-Program-Analysis-Flemming-N...

      thread

    Related

    Cover of Semantics with applications
    2009–2020

    Semantics with applications

    Hanne Riis Nielson
    5 recommend · 9
    Software FoundationsBenjamin C. Pierce
    2011–2026

    Software Foundations

    Benjamin C. Pierce
    58 recommend · 77
    Cover of Compilers, principles, techniques, and tools
    2007–2026

    Compilers, principles, techniques, and tools

    Alfred V. Aho
    195 recommend · 958
    Cover of Types and Programming Languages
    2008–2026

    Types and Programming Languages

    Benjamin C. Pierce
    132 recommend · 321
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of The Elements of Computing Systems
    2008–2026

    The Elements of Computing Systems

    Noam Nisan
    204 recommend · 344
    Cover of Concepts, techniques, and models of computer programming
    2007–2026

    Concepts, techniques, and models of computer programming

    Peter Van Roy
    70 recommend · 133
    Cover of How to Design Programs
    2007–2026

    How to Design Programs

    Matthias Felleisen
    277 recommend · 776