HackerPapers

arXiv:2012.10086cs.PL

Program Analysis (an Appetizer)

Flemming Nielson, Hanne Riis Nielson

Abstract

This book is an introduction to program analysis that is meant to be considerably more elementary than our advanced book Principles of Program Analysis (Springer, 2005). Rather than using flow charts as the model of programs, the book follows our introductory book Formal Methods an Appetizer (Springer, 2019) using program graphs as the model of programs. In our experience this makes the underlying ideas more accessible to our computer science and computer engineering students on the master course 02242: Program Analysis at The Technical University of Denmark. Here we have gradually replaced our use of the more elementary parts of Principles of Program Analysis with material from the current book.

arXiv comments
208 pages
Journal reference
DOI
Subjects
cs.PLProgramming Languages

On Hacker News

Linked by 2 identifiable commenters in 8 comments across 8 threads, from Jan 2021 to Mar 2025. Found in 3 HN submissions from Jan 2021 to Sep 2022. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments8 threads

    • Galois connections are super useful for static program analysis. In particular, for abstract interpretation. A great intro book is [1]. [1] Program Analysis – An Appetizer. https://arxiv.org/pdf/2012.10086

      nextosView on HNParent context

    • The main strategy is to build sound but imperfect analyzers, i.e. analyzers that never raise false negatives but that may raise some false positives. See §1.6 in [1], a simplified version of the classic Principles of Program Analysis. Good analyzers are practical, rarely raising…

      nextosView on HNParent context

  1. The Power of Prolog 1 comment
    • > "The Art of Prolog" and "The Craft of Prolog" were also two of the better programming books I have read in my life. IMHO, The Art of Prolog is along with Concepts, Techniques, and Models of Computer Programming, Paradigms of AI Programming, and Structure and Interpretation of…

      nextosView on HNParent context

    • Abstract interpreters and static analyzers are really powerful and not that hard to implement, compared to the little competition we have in this space. I am surprised with the lack of startups in the area. It's just a bit of abstract algebra. With Datalog, the barrier of entry…

      nextosView on HNParent context

    • The top books in static analysis are by the Nielsons: * https://link.springer.com/book/10.1007/978-3-662-03811-6 * https://arxiv.org/abs/2012.10086

      nextosView on HNParent context

    • Wow, I never expected Nielson & Nielson to be mentioned here. It's one of my favorite books, I have referred to it in some of my past comments, and certainly the best static analysis textbook out there. I actually took several courses from the authors some years back, and…

      nextosView on HNParent context

    • There's some nice literature. I got into the field 15 years ago and there were practically no good textbooks. Things are way better now: https://avigad.github.io/formal_methods_in_education/ Nielson & Nielson have the standard textbook in static program analysis that is used…

      nextosView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.