CSC 7110: Software Engineering Environments and Tools

Winter Term 2013
Meetings: Monday and Wednesday 03:00PM - 04:20PM
Room: 0313 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, after class, 4:20PM – 5:30PM or by appointment.

Blackboard: Important information will be posted on Blackboard (


There are no required textbooks. Some optional references:

Schedule of Topics, Readings, and Assignments

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.

# Date
Assignment (dates subject to change!)
Static Analysis
1 Jan 07 Course introduction    
2 Jan 09‡ Introduction to Static Analysis
Abstract Syntax Trees

‡ Jan 12: Last Day to Register/Add Classes

3 Jan 14 Program Semantics 1
4 Jan 16 Program Semantics 2   Assignment1: Program Semantics and Representation (written)
(Due Jan. 23)
  Jan 21‡ Holiday -- University closed  

‡ Jan 21: Holiday - University Closed

5 Jan 23 Visitor design pattern
Crystal Static Analysis Framework: AST-based analyses
Crystal Static Analysis Framework: Demo
  Install Crystal static analysis framework
Read Getting Started
Assignment2:  Visitor-based static analysis using Eclipse/Crystal
(Due Feb. 11)
6 Jan 28 Overview of Eclipse
Using Eclipse for Static Analysis
7 Jan 30 Dataflow Analysis: Introduction; Zero Analysis    
8 Feb 04 Dataflow Analysis: Lattices, Abstraction Functions, Control Flow Graphs    
9 Feb 06 Dataflow Analysis: Flow functions    
10 Feb 11 Dataflow Analysis: Worklist algorithm    
11 Feb 13 Dataflow Analysis: Constant Propagation; Flow sensitivity;   Assignment3: Dataflow Analysis (written)
(Due Feb. 20)
12 Feb 18 Dataflow Analysis: Reaching Definitions; Live Variables;    
13 Feb 20 Midterm Review; Correctness;    
14 Feb 25 Termination; Soundness    
15 Feb 27 Midterm Exam   Assignment4: Dataflow Analysis (written/programming)
(Due Mar. 18)
Analysis tools
16 Mar 04 Crystal Static Analysis Framework
17 Mar 06 Dataflow Analysis: PREfix
Project discussion
A Static Analyzer for Finding Dynamic Programming Errors  
  Mar 11

Spring Break -- No classes

‡ Mar 11-- Mar 16: Spring Break.
Mar 13
18 Mar 18 Dataflow Analysis: Inter-procedural analysis
Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions  
19 Mar 20‡ FindBugs  
Mar 23: Last day to Withdraw.
Type systems
20 Mar 25 Featherweight Java 1 Featherweight Java: a Minimal Core Calculus for Java and GJ
(first 11 pages)
Project: proposals due
21 Mar 27 Featherweight Java 2    
22 Apr 01 Ownership types 1 Ownership Domains: Separating Aliasing Policy from Mechanism
Alias Annotations for Program Understanding 
Project: interim status report due
23 Apr 03 Ownership types 2    
Dynamic analysis
24 Apr 08 Dynamic analysis 1   Read about The Elevation of Privilege (EOP) Game - Microsoft
25 Apr 10 Dynamic analysis 2    
Special topics
26 Apr 15 Threat-based security design    
27 Apr 17 Elevation of Privilege (EoP): class activity in threat modeling
Official Course Evaluations ‡
  ‡ Instructor will not be present while students complete the evaluation forms. 
28 Apr 22‡ Industry case studies: quality at Microsoft   ‡ April 22: Classes End.
29 Friday Apr 26 Project Presentations (1:20 -- 3:50PM)   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.

Possible topics


Possible assignments

Possible readings

Credits and Acknowledgements

This course reuses, by written permission, material by Professor Jonathan Aldrich from Carnegie Mellon University.

Last Updated: Tuesday, March 26, 2013 11:25:15 AM