||ML Modules, First order type systems
Luca Cardelli, Type Systems, Sections 2-3
Martin, R. C. (1996, Mar). The Liskov Substitution Principle. C++ Report
||Lambda calculus, higher
order type systems
Luca Cardelli, Type Systems, Sections 4-6
||Guest lecture by Jeff Foster
of Type Qualifiers
Detecting Format-String Vulnerabilities with Type Qualifiers
||Why Functional Programming Matters
|| Dataflow analysis, use-def chains, etc.
||A unified approach to global program optimization
||Reaching Defs and SSA form
||"Is it a Tree, a DAG, or a Cyclic Graph? A Shape Analysis for Heap-Directed Pointers in C,"
Rakesh Ghiya and Laurie J. Hendren,
in Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages,
St. Petersburg, Florida, pp. 1-15, January 1996.
Code Optimization Relevant?
Haven't We Solved This Problem Yet?
2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'01),
Snowbird, Utah, June 18-19, 2001.
Efficient Context-Sensitive Pointer
Analysis For C Programs, Bob Wilson and Monica Lam,
Proceedings of the ACM SIGPLAN'95 Conference on Programming Language Design and Implementation, 1995.
Points-to Analysis in Almost Linear Time, Bjarne Steensgaard, Proceedings
of the Twentythird Annual ACM SIGPLAN-SIGACT Symposium on Principles
of Programming Languages, 1996.
Unification-Based Pointer Analysis with Directional Assignments,
PLDI '00: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language
Design and Implementation, Vancouver, BC, Canada, June 2000.
Fast Static Analysis of C++ Virtual Function Calls ,
D. Bacon and P. Sweeney
OOPSLA'96 Conference Proceedings: Object-Oriented Programming Systems,
Languages , and Applications, ACM SIGPLAN Notices volume 31 number 10, San Jose, California,
Interprocedural Class Analysis,
Greg DeFouw, David Grove, and Craig Chambers,
In Conference Record of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1998.
GC notes by Alexander Mosolov
GC notes by Bogdan Stroe
Animation of Cheney algorithm
Powerpoint Show on Garbage Collection by Richard Jones
Uniprocessor Garbage Collection Techniques, Paul Wilson, International
Workshop on Memory Management, 1992.
An API for Runtime Code Patching, by
Bryan Buck and Jeffrey K. Hollingsworth.
Efficient Instrumentation for Code Coverage Testing,
M. Tikir and J. K. Hollingsworth
ISSTA'02 July 2002.
Diduce Notes by Zhongchao Yu
Diduce Notes by Jeff Odom
``Dynamically Discovering Likely Program Invariants to Support Program Evolution''M by Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin. IEEE Transactions in Software Engineering, v27#2, Feb 2001, pp 1-25.
Tracking Down Software Bugs Using Automatic Anomaly Detection,
Sudheendra Hangal and Monica S. Lam,
In Proceedings of the International Conference on Software Engineering, pages 291-301, May 2002.
Notes by Nathaniel Waisbrot
Notes by Walid Gomaa
Notes by Ruggero Morselli
||Type-Based Analysis and Applications
Jens Palsberg, PASTE 2001 (Slides)
Lackwit: A Program Understanding Tool Based on Type Inference, Robert O'Callahan and Daniel Jackson, International Conference on Software Engineerin
Tsz-Chiu's collection of links on model checking
Merz's slides on model checking
Slides on Bandera
Bandera notes by Steve Haga
Model Checking: A Tutorial Overview
Modeling and Verification of Parallel Processes. LNCS 2067, Springer-Verlag
Bandera : Extracting Finite-state Models from Java Source Code,
James Corbett, Matthew Dwyer, John Hatcliff, Corina Pasareanu, Robby, Shawn Laubach, Hongjun Zheng in Proceedings of the 22nd International Conference on Software Engineering, June, 2000.
Notes by Austin Parker
Foundational Calculi for Programming Languages
Lecture notes on the Pi Calculus
Lecture notes on CCS
Types as Models
as Models: Model Checking Message-Passing Programs,
Sagar Chaki, Sriram K. Rajamani and Jakob Rehof
Proceedings POPL 02, 29th Annual ACM SIGPLAN - SIGACT Symposium on Principles of
Programming Languages, Portland, January 16-18, 2002.
Modern Concurrency Abstractions for C#,
Nick Benton, Luca Cardelli, Cedric Fournet.
Example of Prefix output
Prefix notes by Minkyoung Cho
Prefix slides by Minkyoung Cho
Prefix notes by Nikhil Swamy
Prefix notes by Matthew Snover
ESC-java notes by Che-Rung Lee
ESC-java notes by Weihan Huang
Static Analyzer for Finding Dynamic Programming Errors, William R.
Bush, Jonathan D. Pincus and David J. Sielaff, Software--Practice and
Experience , 2000.
Extended static checking for Java
K. Rustan M. Leino,
James B. Saxe and
Notes by Abheek Anand
PLDI 2002 presentation
A system and language for building system-specific, static analyses,
Yichen Xie, and
Dawson Engler, PLDI 2002
Notes by Vasile Bagurici on predicate abstraction
Notes by John Rose on Mining Specifications
Notes by Feng Peng on Mining Specifications
PLDI 2001 presentation of Automatic Predicate Abstraction of C Programs
High level overview of Mining Specifications
Detailed discussion of Mining Specifications
Automatic Predicate Abstraction of C Programs, Thomas Ball,
Rupak Majumdar, Todd Millstein and Sriram Rajam, In Proceedings of the SIGPLAN C onference on Programming Language Design and Implementation, 2001.
Glenn Ammons and Rastislav Bodik and James R. Larus,
To appear at Principles of Programming Languages (POPL02), Portland, Oregon, 16-
18 January 2002
Notes on Lerner et al. by Konstantinos Bitsakos
Notes on Lernet et al. by Polyvios Pratikakis
Slides on Lerner et al. by John Jorgensen, McGill
ICSE slides on ArchJava
OOPSLA slides on AliasJava
Notes on AliasJava by Daniel Khodorkovsky
Composing Dataflow Analyses and Transformations,
Sorin Lerner, David Grove and Craig Chambers,
Principles of Programming Languages (POPL02), Portland, Oregon, 16-
18 January 2002
Alias Annotations for Program
Jonathan Aldrich, Valentin Kostadinov, and Craig Chambers
The Conference on Object-Oriented Programming Systems, Languages, and Applicatio
ns (OOPSLA '02), Seattle, Washington, November 4-8, 2002.
Connecting Software Architecture to Implementation,
Jonathan Aldrich, Craig Chambers, and David Notkin,
The International Conference on Software Engineering (ICSE '02), Orlando, Florid
a, May 19-25, 2002.
Notes on AspectJ by Tai Hu
Notes on AspectJ by David Greenfield
Example by David Greenfield:
An Overview of AspectJ,
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm and
William G. Griswold.
In ECOOP 2001.
Maya: multiple-dispatch syntax extension in Java
Jason Baker and
Wilson C. Hsieh,