CSC 7110: Software Engineering Environments and Tools

Winter Term 2010
Meetings: Monday and Wednesday 03:00PM - 04:20PM
Room: 0400 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: 448 State Hall
Office Hours: Monday and Wednesday 4:30PM – 6:00PM or by appointment.

Blackboard: Important information will be posted on Blackboard (

Class Overview

This class is about software analysis tools and will cover the following topics:


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
Tool Evaluation
1 Jan 11 Course introduction by instructor.
Exploratory & evaluative studies: Guest Lecture by Thomas Latoza
  Please attend Graduate Seminar on Jan. 12th at 3:00pm Rm. 110 Purdy-Kresge Library
Speaker: Thomas Latoza. Topic: Answering Reachability Questions.
2 Jan 13 Designing studies & analyzing data: Guest Lecture by Thomas Latoza    
  Jan 18

Martin Luther King Day -- No class

Static Analysis
3 Jan 20 Program Representation: Abstract Syntax Trees; Visitor design pattern    
4 Jan 25 Course Analysis Toolkit: Eclipse, Crystal Static Analysis Framework   Last Day to Register/Add Classes
5 Jan 27 Program Semantics   Assignment1:  Visitor-based static analysis using Eclipse/Crystal
(Due Feb. 08)
6 Feb 01 Introduction to Dataflow Analysis: Zero Analysis, Lattices    
7 Feb 03 Dataflow Analysis: Lattices, Abstraction Functions, Control Flow Graphs    
8 Feb 08 Dataflow Analysis: Flow functions   Assignment2: Program Semantics, Representation and Static Analysis (written)
(Due Feb. 22)
  Feb 10

Snow Day (University Closed) -- No class

9 Feb 15 Dataflow Analysis: Constant Propagation, Reading Definitions, Live Variables    
10 Feb 17 Dataflow Analysis: Correctness    
11 Feb 22 Dataflow Analysis: PREfix A Static Analyzer for Finding Dynamic Programming Errors  
12 Feb 24 Dataflow Analysis: Inter-procedural analysis;
Assignment 2 discussion; Review
13 Mar 01 Midterm exam   Assignment3: Dataflow analysis implementation (programming)
(Due Mar. 15)
14 Mar 03 Dataflow Analysis: Crystal Static Analysis Framework
Assignment 1 discussion
Type systems
15 Mar 08 Type systems    
16 Mar 10 Featherweight Java Featherweight Java: A Minimal Core Calculus for Java and GJ Project: tool evaluation
  Mar 15

Spring Break -- No classes

Mar 17
17 Mar 22 Ownership types Alias Annotations for Program Understanding
Ownership Domains: Separating Aliasing Policy from Mechanism
Project: project bids due
18 Mar 24 Adding and Checking Ownership Domain Annotations    
Project meetings
19 Mar 29 Individual/team meetings with instructor to discuss projects    
Dynamic analysis
20 Mar 31 Dynamic analysis 1    
21 Apr 05 Dynamic analysis 2   Project: interim report due
Special topics
22 Apr 07 Industry case studies: quality at Microsoft    
23 Apr 12 Impact analysis: guest lecture by Radu Vanciu    
24 Apr 14 Security analysis    
25 Apr 19 Reengineering analysis: Reflexion Models
Official Course Evaluations
  Instructor will not be present while students complete the evaluation forms.
26 Apr 21 Safe Concurrency/SureLogic (Fluid)    
27 Apr 26 Course wrap-up    
28 Friday Apr 30 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.


Evaluation will be based on the following approximate percentages:

Late Work Policy

Each student has 5 late days for the entire semester which can be used in 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 Professors Jonathan Aldrich and William Scherlis from Carnegie Mellon University.

Last Updated: Monday, May 03, 2010 09:57:33 AM