CSc 553 Fall 2018: Term Paper
Mon Nov 19, 2018
Due: 11:59 PM, Mon Dec 3
How to access papers in ACM's Digital Library
1. Topics and Reading List
-
Improving instruction cache performance.
-
Karl Pettis and Robert C. Hansen.
"Profile guided
code positioning".
Proceedings of the ACM SIGPLAN 1990 conference on Programming language
design and implementation, May 1990.
(Discussed in class.)
-
Amir H. Hashemi, David R. Kaeli, and Brad Calder.
"Efficient procedure
mapping using cache line coloring".
Proceedings of the ACM SIGPLAN 1997 conference on Programming language
design and implementation, May 1997.
-
Nikolas Gloy and Michael D. Smith.
"Procedure placement
using temporal-ordering information.
ACM Transactions on Programming Languages and Systems (TOPLAS),
Volume 21 Issue 5, Sept. 1999.
-
Jonathan Lifflander and Sriram Krishnamurthy.
Cache locality optimization for recursive programs.
Proceedings of the 38th ACM SIGPLAN Conference on Programming Language
Design and Implementation, June 2017.
-
Improving data cache performance.
-
Brad Calder, Chandra Krintz, Simmi John, and Todd Austin.
"Cache-conscious
data placement".
Proceedings of the eighth international conference on Architectural
support for programming languages and operating systems (ASPLOS),
Dec. 1998.
-
Trishul M. Chilimbi, Mark D. Hill, and James R. Larus.
"Cache-conscious
structure layout"
Proceedings of the ACM SIGPLAN 1999 conference on Programming
language design and implementation, May 1999.
-
Register allocation.
-
Guei-Yuan Lueh, Thomas Gross, and Ali-Reza Adl-Tabatabai.
"Fusion-based
register allocation"
ACM Transactions on Programming Languages and Systems (TOPLAS)
Volume 22 Issue 3, May 2000.
-
Fernando Magno Quintão Pereira and Jens Palsberg.
"Register
allocation by puzzle solving".
Proceedings of the 2008 ACM SIGPLAN conference on Programming
language design and implementation, June 2008.
-
Program analysis.
-
Robert P. Wilson and Monica S. Lam.
"Efficient
context-sensitive pointer analysis for C programs."
Proceedings of the ACM SIGPLAN 1995 conference on Programming language
design and implementation, June 1995.
-
Bjarne Steensgaard.
"Points-to analysis
in almost linear time"
Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of
programming languages, Jan. 1996.
-
A compiler topic of your choice.
If there's any compiler-related topic that you're interested in learning more
about, but which isn't in the list given above, please bring it to me so we can
try to identify an appropriate set of papers for you to read.
2. Formatting Guidelines
-
Length: 5–8 pages.
-
Font size:
Sans-serif fonts (e.g., Arial, Helvetica, Calibri): 10 points;
Serif fonts (e.g., Times New Roman): 11 points.
-
Line spacing: single-spaced.
-
Margins: 1 inch on each side.
3. Suggested Structure
The intended audience for your paper is a student in
CSC 553
or comparable graduate compiler
class. You should assume the background that a student in such a class can
be expected to have.
Structure your paper into a series of sections, followed by
a bibliography. The following is a suggested (not mandatory)
set of sections; the page lengths given are intended as a rough guide, not as
absolute limits.
-
Introduction. (¾ – 1 page) Describe the problem being solved,
why the problem
is important, what contribution the papers make, a few sentences on how
they differ. The reader should get some idea of what your paper is
about from reading the introduction.
-
Background [optional].
(0 – ¾ page)
This section is useful for introducing any terminology, notation, or
concepts that are used by the papers and are helpful to know
going into a discussion of the papers.
-
Individual discussion of each paper (1½ – 2½ pages per paper).
-
Discussion (1 – 1½ pages).
Compare the papers to each other, discuss their strengths
and weaknesses, say what the reader should take away.
-
Conclusions (one or two paragraphs). Briefly summarize your
take on the papers.
-
Bibliography. Works mentioned in your paper should be
adequately cited. Research papers in computer science generally use the
ACM style
or IEEE style
of citation so I suggest that you use this as well, but this is not
mandatory.
4. Submission
Submit your term paper as a PDF file (NOT docx, or rtf, or txt, or any
other document format) using the command:
turnin cs553f18_paper filename
5. Grading
-
10% Introduction.
Does the introduction give the reader a good idea of what to expect
in the rest of the paper?
-
40% Technical content.
Is the technical material of the papers being discussed presented
fairly and accurately? Are the important points covered?
-
20% Discussion.
Is the comparison of the papers, and/or discussion of their
strengths and weaknesses, accurate and appropriate?
-
25% Clarity of presentation.
Is the paper structured in a sensible way? Are ideas presented
in a coherent and easy-to-understand way? Is terminology and notation
defined clearly before being used? Do the conclusions of the paper
follow from what is presented?
-
5% Bibliography.
Are the references cited adequate?