CSC 7110: Software Engineering Environments and Tools

Winter Term 2012
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 09 Course introduction    
2 Jan 11‡ Introduction to Static Analysis  

‡Jan 14: Last Day to Register/Add Classes

  Jan 16

Martin Luther King Day -- No class

3 Jan 18 Abstract Syntax Trees
Visitor design pattern
Crystal Static Analysis Framework: AST-based analyses
  Install Crystal static analysis framework
Read Getting Started
Assignment1:  Visitor-based static analysis using Eclipse/Crystal
(Due Feb. 01)
4 Jan 23 Crystal Static Analysis Framework: Demo
Brief Overview of Eclipse
5 Jan 25 Program Semantics    
6 Jan 30 Dataflow Analysis: Introduction; Zero Analysis    
7 Feb 01 Dataflow Analysis: Lattices, Abstraction Functions, Control Flow Graphs   Assignment2: Program Representation and Semantics (written)
(Due Feb. 08)
8 Feb 06 Dataflow Analysis: Flow functions, Worklist algorithm    
9 Feb 08 Dataflow Analysis: Worklist algorithm; Constant Propagation    Assignment3: Dataflow Analysis (written)
(Due Feb. 15)
10 Feb 13 Dataflow Analysis: Flow sensitivity; Reading Definitions; Live Variables    
11 Feb 15 Dataflow Analysis: Assignment discussion; Midterm Review    
12 Feb 20 Dataflow Analysis: Correctness    
13 Feb 22 Midterm Exam   Assignment4: Dataflow Analysis (written/programming)
(Due Mar. 12)
14 Feb 27 Crystal Static Analysis Framework    
15 Feb 29 Dataflow Analysis: PREfix A Static Analyzer for Finding Dynamic Programming Errors  
16 Mar 05 Dataflow Analysis: Inter-procedural analysis    
17 Mar 07 Project discussion    
  Mar 12

Spring Break -- No classes

Mar 14
Analysis tools
18 Mar 19 Metal Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions Project: proposals due
19 Mar 21 Industry case studies: quality at Microsoft    
Dynamic analysis
20 Mar 26 Dynamic analysis 1    
21 Mar 28 Dynamic analysis 2    
Security analysis
22 Apr 02 Software security   Project: interim status report due
23 Apr 04 Threat-based security design    
24 Apr 09 Elevation of Privilege (EoP)   Read about The Elevation of Privilege (EOP) Game - Microsoft
25 Apr 11 Elevation of Privilege (EoP): class activity in threat modeling    
26 Apr 16 Web security    
Special topics
27 Apr 18 Protocol checking
Official Course Evaluations ‡
  ‡ Instructor will not be present while students complete the evaluation forms. 
28 Apr 23‡ Course wrap-up   ‡ April 24: Last day of classes
‡ April 26:
Last day to withdraw from classes, with instructor approval.
29 Friday Apr 27 Project Presentations (1:20 -- 3:50PM)   Project: presentations and final reports due (*)
* Unless you are using any remaining late days.
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 7 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.

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: Wednesday, April 18, 2012 12:44:00 PM