archives

path-sensitive dataflow analysis. How?

This is a beginner question. In the books I've seen so far (e.g. "Principles of Program Analysis" Nielson&Nielson) simple dataflow analyses are explained. But the more practical/precise applications using DFA are using one which is path-sensitive (SLAM,ESP,etc.).
How do you make a DFA path-sensitive? Do you know any good papers/books which cover this topic?

Thanks.

[Redux] The Polyadic pi-Calculus: a Tutorial (1991) Robin Milner

The paper The Polyadic pi-Calculus: a Tutorial (1991) by Robin Milner doesn't appear to have been mentioned on the front page previously of LtU before. I think it is worth pointing to for beginners, since it appears to do a good job of covering the basics of pi-Calculus.

Abstract: The pi-calculus is a model of concurrent computation based upon the notion of naming . It is first presented in its simplest and original form, with the help of several illustrative applications. Then it is generalized from monadic to polyadic form. Semantics is done in terms of both a reduction system and a version of labelled transitions called commitment ; the known algebraic axiomatization of strong bisimilarity is given in the new setting, and so also is a characterization in modal logic....

For those fairly new to the group, pi-calculus is a formal calculus for studying concurrent computation. This would be a good thread for others not only to comment on this paper, but to mention other good entry points for the study of concurrency, and other calculi related to the pi-calculus.

Java Open Review Project

The Java Open Review Project identifies and reports bugs and security vulnerabilities in widely used Java open source software...The identification process is powered by Fortify Source Code Analysis (SCA) and Findbugs.

This may be an easy way to get a glimpse at what static analysis tools can do. Reviewing the potential defects identified by the automatic tools is a good starting point for thinking about the implications of various decisions about language semantics, and about language expressiveness in general.

To see actual code, you need to login using the guest account details provided on the page.