CSC 7110: Software Engineering Environments and Tools

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 (


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.

Quizzes to be announced later.

# Date
Assignment (dates subject to change!)
Static Analysis
  Jan 06 Campus closed due to weather -- No class    
1 Jan 08‡ Course introduction  

‡ Jan 17: Last Day to Register/Add Classes

2 Jan 13 Introduction to Static Analysis
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


Install 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 Analysis (written)
(Due Feb. 24)
12 Feb 19 Dataflow Analysis: Correctness: Termination; Soundness    
13 Feb 24 Midterm Review    
14 Feb 26 Crystal Static Analysis Framework   Assignment4: Dataflow Analysis (written/programming)
(Due Mar. 17)
15 Mar 03 Midterm Exam    
16 Mar 05 Midterm Solution    
  Mar 10

Spring Break -- No classes

‡ Mar 10-- Mar 15: Spring Break.
Mar 12
17 Mar 17 Project discussion     
Analysis tools
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    
Type systems
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    
25 Apr 14 Check-Your-Understanding (CYU) activity
Review of Featherweight Java quiz
Special topics
26 Apr 16 Industry case studies: quality at Microsoft
27 Apr 21‡ Wrap-up: the value of static analysis
Presentation partial dry-runs
Official Course Evaluations
  ‡ April 21: Classes End.
‡ Instructor will not be present while students complete the evaluation forms.
28 Friday Apr 25 Final Project Presentations
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.

Possible topics

Possible tools

Possible assignments


Possible readings

Credits and Acknowledgements

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