COMP90053 Program Analysis and Transformation
|Dates & Locations:|| |
This subject is not offered in 2011.
|Time Commitment:||Contact Hours: 36 hours, made up of 24 one-hour lectures (two per week) and 12 one-hour workshops (one per week)hours, made up of 24 one-hour lectures (two per week) and 12 one-hour workshops (one per week) |
Total Time Commitment: 120 hours
|Recommended Background Knowledge:|| |
|Non Allowed Subjects:|| |
|Core Participation Requirements:||For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Students Experiencing Academic Disadvantage Policy, academic requirements for this subject are articulated in the Subject Description, Subject Objectives, Generic Skills and Assessment Requirements of this entry.The University is dedicated to provide support to those with special requirements. Further details on the Disability support scheme can be found at the Disability Liaison Unit Website: http://www.services.unimelb.edu.au/disability/|
Associate Professor Tim Baldwin
|Subject Overview:|| |
Programmers analyse and transform programs every day, e.g. to look for security problems and to add runtime checks that fix them. Many such tasks can now be done automatically, making programmers more productive, and yielding better results (since computers don't get bored or make mistakes). This subject will introduce the main techniques and applications of program analysis and transformation.
Topics will include the following: semantics of programming languages; program representations; principles of program analysis, including collecting semantics, abstract interpretation, constraint-based analysis, and using lattices in fixpoint iterations; and meta-interpreters and program transformations.
Additional topics will be selected from the following: program analyses for advanced type systems; analysing programs for statically detectable violations of safety and/or security policies, and program transformations to detect such violations at runtime; analyses and transformations for finding and implementing parallelism; program analyses and transformations for program optimization; program transformations for various forms of profiling; techniques for analysing very large programs; and declarative debugging.
On completion if this subject students should be able to:
|Assessment:||Project work during semester, expected to take about 36 hours (30%); a mid-semester test (10%); and a 2-hour end-of-semester written examination (60%). To pass the subject, students must obtain 15/30 in project work, and 35/70 in the mid-semester test and end-of-semester written examination combined.|
|Prescribed Texts:|| |
|Breadth Options:|| |
This subject is not available as a breadth subject.
|Fees Information:||Subject EFTSL, Level, Discipline & Census Date|
|Generic Skills:|| |
On completion of this subject students should have the:
|Master of Science (Computer Science) |
Master of Software Systems Engineering
|B-ENG Software Engineering stream |
Master of Engineering (Software)