CSC 7110: Software Engineering Environments and Tools

Winter Term 2011
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
Static Analysis
1 Jan 10 Course introduction
Introduction to Static Analysis 1
2 Jan 12 Introduction to Static Analysis 2
Abstract Syntax Trees
  Assignment0: Install Crystal static analysis framework
Read Getting Started
(Due Jan. 19)
  Jan 17

Martin Luther King Day -- No class

3 Jan 19 Visitor design pattern
Crystal Static Analysis Framework: AST-based analyses
  Assignment1:  Visitor-based static analysis using Eclipse/Crystal
(Due Jan. 31)
4 Jan 24‡ Eclipse Overview   ‡Jan 24: Last Day to Register/Add Classes
‡Jan 24: Last day for tuition cancellation
5 Jan 26 Program Semantics    
6 Jan 31 Introduction to Dataflow Analysis: Zero Analysis   Assignment2: Program Representation and Semantics (written)
(Due Feb. 7)
7 Feb 02 Snow day -- University Closed
8 Feb 07 Dataflow Analysis: Zero Analysis, Lattices, Abstraction Functions, Control Flow Graphs    
9 Feb 09 Dataflow Analysis:  Flow functions, Worklist algorithm   Assignment3: Dataflow Analysis (written)
(Due Feb. 21)
10 Feb 14 Dataflow Analysis: Constant Propagation    
11 Feb 16 Dataflow Analysis: Reading Definitions, Live Variables    
12 Feb 21 Snow day -- University Closed    
13 Feb 23 Dataflow Analysis: Correctness     
14 Feb 28 Dataflow Analysis: Assignment discussion; Midterm Review    
15 Mar 02 Midterm Exam    
16 Mar 07 Crystal Static Analysis Framework   Assignment4: Dataflow Analysis (written/programming)
(Due Mar. 21)
17 Mar 09 Project discussion
  Mar 14

Spring Break -- No classes

Mar 16
18 Mar 21 Dataflow Analysis: PREfix A Static Analyzer for Finding Dynamic Programming Errors Project: proposals due
19 Mar 23 Dataflow Analysis: Inter-procedural analysis    
Type systems
20 Mar 28 Featherweight Java 1 Featherweight Java: a Minimal Core Calculus for Java and GJ
(first 11 pages)
21 Mar 30 Featherweight Java 2    
22 Apr 04 Featherweight Java 3
Ownership types 2
  Project: interim status report due
23 Apr 06 Ownership types 1 Ownership Domains: Separating Aliasing Policy from Mechanism
Alias Annotations for Program Understanding
24 Apr 11 No class
Individual meetings with instructor to discuss projects
25 Apr 13 No class
Individual meetings with instructor to discuss projects
Special topics
26 Apr 18 Dynamic analysis 1   ‡ Instructor will not be present while students complete the evaluation forms.
27 Apr 20 Dynamic analysis 2
Official Course Evaluations ‡
28 Apr 25‡ Industry case studies: quality at Microsoft
Course wrap-up
  ‡ April 25: Last day of classes
‡ April 26:
Last day to withdraw from classes, with instructor approval.
29 Friday Apr 29 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: Monday, April 18, 2011 11:36:26 AM