Course Data :

Course Objectives:

To thoroughly read some of the latest papers in the area of compilers (including program optimizations, program analysis, parallelization, language design and so on).

To learn to critique and review papers.

To present papers in a detailed manner.

Course Content:

The areas covered may be chosen from the following set:

Program Analysis (Static and Dynamic).

Program Optimization.

Machine specific optimizations.

Concurrency.

Programming Language Design.

Program Verification/Validation.

Memory management / Garbage Collection.

Power-aware compilation

Text Books

The course would be based on recent research papers in journals such as ACM Transactions on Programming Languages and Systems (TOPLAS), ACM Transactions on Software Engineering and Methodology (TOSEM), IEEE Transactions on Software Engineering (TSE), International Journal of Parallel Programming (IJPP), Journal of Parallel and Distributed Computing (JPDC), Transactions on Architecture and Compiler Optimizations (TACO), and conferences proceedings such as Symposium on Principles of Programming Languages (POPL), Programming Language Design and Implementation (PLDI), Architectural Support for Programming Languages and Operating Systems (ASPLOS), SuperComputing (SC), International Conference on Software Engineering (ICSE), International Conference on Super Computing (ICS), Parallel Architectures and Compilation Techniques (PACT), Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), and so on.