CISC 872 Infrastructure Project

Fall 2001

 

Learning Objectives: Graduate students completing this project should be able to independently and successfully:

  1. Inspect and understand a compiler infrastructure’s documentation and possibly the code, identifying components of relevance to a particular task and understanding how various aspects have been implemented.
  2. Select an appropriate compiler infrastructure for a particular implementation task and experimental evaluation.
  3. Create a high quality poster presentation as a form of scientific communication.

 

The Project: The project can be broken into the following sequence of steps:

(1) Select an infrastructure from the list given on the web page for cisc 872 or other source as approved by the instructor.

  1. Read the information concerning the infrastructure to answer the following questions:

  1. What static program analyses does it implement now?
  2. Is it interprocedural analysis, or only intraprocedural analysis?
  3. What algorithm do they use for the data flow analysis?
  4. What transformations are performed by the compiler for improved compiler analysis or for optimization?
  5. What program representation(s) is(are) used within a procedure? Interprocedurally? (draw a picture for a small program to illustrate to the class)
  6. Are there multiple levels of program representations?
  7. Draw a picture of the phases of the compiler and label it with the program representation generated at each phase.
  8. What benchmarks do the infrastructure developers claim will run successfully through their system?
  9. What has this infrastructure already been used for in research?

è Hand in a report that lists each of these questions and your answers, including the pictures.

Deadlines:

Step (1): Sep 27

Step (2): Oct 9 (2 %) Report on questions above

Step (3): Nov 19 (2 %) Draft of poster panels

Step (3): Finals week (3 %) Final Poster Presentation

Restrictions/Suggestions:

* You may not use a project that you have already started prior to this semester as this course project.

 

* You should work individually on this project, as the class will benefit from getting exposure to many more infrastructures that are available for use.

 

* Choice of infrastructure will be made on a first come first serve basis. Each person must choose a different infrastructure.

 

 

Poster Requirements:

* Your poster should consist of 9-12 panels of 8 ˝" by 11" each, pasted or tacked to a background posterboard. Colored posterboard allows the white panels to stand out more clearly.

 

* Your poster should contain the title of your infrastructure, the name and location of the developers of the infrastructure, and your name. This information can be separate at the top of your posterboard or the first panel.

 

* The poster should contain the following information at a minimum:

 

- overall goals of the infrastructure

- what kinds of research the infrastructure has been successfully used for

- picture of the framework/architecture of the infrastructure

- program representations generated/used in the infrastructure for their analysis

- static analysis performed by the infrastructure

(intraprocedural/interprocedural?)

- if applicable, transformations performed by the infrastructure

- details of any phases/components of most interest to this course

- advertised/unadvertised but observed restrictions on the infrastructure:

kinds of benchmarks that can be run through, kinds of programs it can analyze, assumptions of the analyses,...

- your assessment of the infrastructure and its utility (when most appropriate, stable and used by many other than developers?, only local to developers?...)

 

* For guidelines for poster design and presentation, take a look at:

www.cis.udel.edu/~pollock/sigplan/posterauthorsinst.html

 

Grading Criteria:

 

- content: The content of your poster is the most important aspect of the poster. The content should adequately cover the topics above, and be correct, without too much extraneous information.

- organization: The poster should flow clearly from one panel to the next in an organized manner.

- presentation: The poster should be easy to understand, appealing to the audience, but not too distracting.