Winter Term 2014
Meetings: Monday and Wednesday 04:30PM - 05:50PM
Room: 318 STAT (State Hall)
Instructor: Prof. Marwan Abi-Antoun
E-mail: (Please include CSC 7110 in the subject line for faster replies.)
Phone: (313) 577-2831 (Please call only during regular office hours. However, you may send email anytime.)
Office: Suite 14.110.2 Maccabees Building
Office Hours: Monday and Wednesday, 3:30PM 4:30PM or by appointment.
Blackboard: Important information will be posted on Blackboard (http://blackboard.wayne.edu).
The slides for the lectures will be in Blackboard. This schedule is tentative and subject to change. Please check back regularly. A date with an asterisk * indicates an exception to the office hours. Please make an appointment to see the instructor at a different time if needed. The important deadlines are highlighted. Generally, all assignments are due before class on the due date.
Quizzes to be announced later.
Assignment (dates subject to
|Jan 06||Campus closed due to weather -- No class|
|1||Jan 08||Course introduction||
Jan 17: Last Day to Register/Add Classes
Introduction to Static
Abstract Syntax Trees
|Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions|
|3||Jan 15||Program Semantics||
Assignment1: Program Semantics and Representation (written)
(Due Jan. 22)
|Jan 20||Holiday -- University closed||
Jan 20: Holiday - University Closed
|4||Jan 22||Visitor design pattern
|5||Jan 27||Crystal Static Analysis Framework: AST-based analyses
Crystal Static Analysis Framework: Demo
Crystal static analysis framework
Read Getting Started
Assignment2: Visitor-based static analysis using Eclipse/Crystal
(Due Feb. 10)
|6||Jan 29||Overview of Eclipse
Using Eclipse for Static Analysis
|7||Feb 03||Dataflow Analysis:
Introduction; Zero Analysis
|8||Feb 05||Dataflow Analysis: Lattices, Abstraction Functions, Control Flow Graphs|
|9||Feb 10||Dataflow Analysis: Flow functions, Worklist algorithm|
|10||Feb 12||Dataflow Analysis: Constant Propagation; Flow sensitivity;|
|11||Feb 17||Dataflow Analysis: Reaching Definitions; Live Variables;||Assignment3: Dataflow
(Due Feb. 24)
|12||Feb 19||Dataflow Analysis: Correctness: Termination; Soundness|
|13||Feb 24||Midterm Review|
|14||Feb 26||Crystal Static Analysis Framework||
(Due Mar. 17)
|15||Mar 03||Midterm Exam|
|16||Mar 05||Midterm Solution|
Spring Break -- No classes
| Mar 10-- Mar 15: Spring Break.|
|17||Mar 17||Project discussion|
|18||Mar 19||Dataflow Analysis: PREfix||A Static Analyzer for Finding Dynamic Programming Errors||
Mar 23: Last day to Withdraw.
|19||Mar 24||Project discussion||Project: proposals due|
|20||Mar 26||Dataflow Analysis: Inter-procedural analysis|
|21||Mar 31||Featherweight Java 1||
Featherweight Java: a Minimal Core Calculus for Java and GJ
(first 11 pages)
|22||Apr 02||Featherweight Java 2||
Quiz1 on Featherweight Java
Project: interim status report due
|23||Apr 07||Featherweight Java 3||Quiz2 on Featherweight Java|
|24||Apr 09||Guest lecture: static analysis of programs with richer types|
Check-Your-Understanding (CYU) activity
Review of Featherweight Java quiz
Industry case studies: quality at Microsoft
Wrap-up: the value of static analysis
Presentation partial dry-runs
Official Course Evaluations
Instructor will not be present while students complete the evaluation forms.
|28||Friday Apr 25||
Same time, same room: 04:30PM - 05:50PM, STAT 318
(may run longer)
Project: presentations and final reports due
Please note the different day and time, based on the University's official schedule for finals.
Academic integrity: Violations of academic integrity will be handled in accordance with the WSU policy.
Special accommodations: If you have a documented disability that requires accommodations, you will need to register with Student Disability Services for coordination of your academic accommodations. The Student Disability Services (SDS) office is located at 1600 David Adamany Undergraduate Library in the Student Academic Success Services department. SDS telephone number is 313-577-1851 or 313-577-3365 (TDD only). Once you have your accommodations in place, I will be glad to meet with you privately during my office hours to discuss your special needs. Student Disability Services mission is to assist the university in creating an accessible community where students with disabilities have an equal opportunity to fully participate in their educational experience at Wayne State University.
Late day policy: Each student has 5 late days for the entire semester which can be used on any assignment, so long as the assignment hand-in is not on the critical path for the following assignment. When turning in your work, just let the instructor know how many late days you are using for that assignment. Work turned in late after the late days are used up will only be accepted under extraordinary circumstances, such as a documented medical emergency. In other words, after you use all your late days, you will get a grade of zero for every assignment that you turn in late. Late days cannot be used for the final project presentations or reports.
Assignment: design analysis
Assignment: security analysis
This course reuses, by written permission, material by Professor Jonathan Aldrich from Carnegie Mellon University.
Last Updated: Friday, April 25, 2014 03:19:16 PM