Resources
This page provides information on some of the resources available for students in Com S 641. The page is organized as follows:
- Miscellaneous Resources: about the course, program analysis, semantics in general, and programming languages.
- Reserve List: A list of materials on reserve at the Library
Miscellaneous Resources
The following are some links to various resources you may find useful about this course, program analysis, semantics in general, and programming languages.
Course Resources
- Web page for the book Principles of Program Analysis, by Flemming Nielson, Hanne Riis Nielson, and Chris Hankin (Springer-Verlag, 1999). ISBN 3-540-65410-0.
- The course documentation directory.
- Meeting outlines directory, containing outline files for the "lectures".
- Lecture notes directory, containing strangely formatted notes for the "lectures". We recommend that students use the meeting outlines (above) instead.
- The course bin directory, containing various shell scripts.
Program Analysis Resources
Most of the links in this section were found by students in the class. Thanks!
General Resources about Program Analysis
- Wikipedia definitions for data flow analysis, abstract interpretation, and type system.
- Patrick Cousot's page of research on abstract interpretation, which includes the paper Abstract Interpretation from ACM Computing Surveys, 28(2):324--328, June 1996. See also his MIT course on abstract interpretation.
- Alexandru Salcianu's Notes on Abstract Interpretation (unpublished manuscript).
- MIT's Program Analysis Group, which has several projects including Daikon.
- Microsoft's Program Analysis Research Group.
- IBM's Program Analysis, Transformation, and Visualization group, and page on Program Analysis and Transformation.
- Bill Pugh's 2002 University of Maryland class on Program analysis and Understanding.
- Tao Xie's Software Engineering Research Links.
- Set theory page by Wolfram Research.
Tools for Implementing Program Analyses
- PAG/WWW program analyzer generator.
- TVLA, the three-valued logic analysis engine.
- Banshee a tool for building constraint-based analyses. This is a successor to Alex Aiken's BANE system.
- Indus, a "collection of program analyses and transformations implemented in Java to customize and adapt Java programs."
- Soot a Java Optimization Framework.
Applications of Program Analysis
- Bandera a model checker and model checking framework for Java programs.
- Bogor "an extensible software model checking framework".
- Static source code analysis tools for C (a listing).
- Chava, a tool that analyzes and tracks changes in Java applets.
- C Global Surveyor, a tool that finds bugs in C programs using abstract interpretation.
- Java PathFinder, and explicit state model checker.
- Superwomble, a "lightweight tool for extracting object models from Java bytecode".
- CoffeeStrainer, checks definitions and uses of Java types.
General Semantics Resources
Programming Language Resources
- Lambda the Ultimate programming languages weblog.
- Gary Leavens's programming languages page with various links
- The Types mailing list.
- Other programming language related links.
- Google's directory of programming languages.
Reserve List
To check out one of these (for a few hours), go to the Parks Library reserve desk. Take along the call number and title, or look up Com S 641 there.
Author | Nielson, Flemming, et al. |
Title | Principles of Programming Analysis |
Publisher | Berlin: Springer-Verlag ; c1999. |
Call Number | QA76.6 N537 1999 |
Last modified Thursday, April 20, 2006.
This web page is for the Spring 2006 offering of Com S 641 at Iowa State University. The details of this course are subject to change as experience dictates. You will be informed of any changes. Thanks to Curtis Clifton for help with these web pages. Please direct any comments or questions to Gary T. Leavens.