CSC 8110: Seminar in Software Engineering and Environments

Fall Term 2013

Cohort 1: Tue 10:30--12:00noon
Cohort 2: Wed 10:30--12:00noon
Make-up: Fri 2:00--3:30pm

Room: TBD/Varies
Professor: Prof. Marwan Abi-Antoun
Assistant: Radu Vanciu
E-mail: (Please include CSC 8110 in the subject line for faster replies.)
Phone: (313) 577-2831 (Please call only during regular office hours. You may send email anytime.)
Office: Suite 14.110.2, 14th floor of  5057 Woodward Avenue (Maccabees Building)
Office Hours: By appointment only.

Blackboard: Important information will be posted on Blackboard (

Fall 2013 Schedule of Topics, Readings, and Assignments

A date with an asterisk * indicates an exception to the regular meeting date/time.

Week # Date
Assignment for Other Projects (Survey, Tool Implementation) Assignments for Tool Evaluation Project
Aug. 26 01 Thu. Aug. 29 Course overview
Discussion of possible projects
Types in Object-Oriented Languages
Sep. 02 02 Tue. Sep. 03 Alias Annotations
Alias Annotations for Program Understanding. OOPSLA 2002. Survey:

Select a number of papers
Present papers
Write summaries of papers

Read OOPSLA'02 paper, focusing on the examples and informal description.
You may skip the formal sections, but feel free to read them as well.
03 Wed. Sep. 04 Ownership Domains
Ownership Domains: Separating Aliasing Policy from Mechanism. ECOOP 2004.
  Read ECOOP'04 paper, focusing on the examples and informal description.
You may skip the formal sections, but feel free to read them as well.
Sep. 09 04 Tue. Sep. 10  Ownership Domains Demo 1
05 Wed. Sep.11  Ownership Domains Demo 2
Sep. 16 06 Tue. Sep. 17 Ownership Domains Demo 3
    Lab #1: Annotations.
Please read lab instructions
Due by Tue. Sep. 24
07 Wed. Sep. 18 Laura: dry-run for her upcoming ICSM ERA paper [P1]

Oscar: paper presentation [P2]
[P1] Moreno, L., Bandara, W., Haiduc, S., Marcus, A., "On the Vocabulary Relationship between Bug Reports and Source Code", in IEEE International Conference on Software Maintenance (ICSM), 2013, ERA track paper.

[P2] G. Bavota, A. De Lucia, A. Marcus, R. Oliveto. Automating Extract Class Refactoring: an Improved Method and its Evaluation. Empirical Software Engineering (EMSE) (2013) To appear. DOI: 10.1007/s10664-013-9256-x

Static Analysis of Object-Oriented Programs
Sep. 23
ICSM week
08 Tue. Sep. 24 Quiz 1 (in class)      
09 Wed. Sep. 25 Static Extraction of Hierarchical Object Graphs 1
Illustrated on CourSys and Listeners
    Lab #2: Analysis/Extraction.
Please read lab instructions.
Due by Tue. Oct. 01
Sep. 30 10 Tue. Oct. 01 Static Extraction of Hierarchical Object Graphs 2
Illustrated on CryptoDB
Read Chapter 2, entitled Object Graph Extraction, in Ph.D. thesis       
11 Wed. Oct. 02 Introduction to the Project [Radu]
  Firm up survey topic  
Tool evaluation project  -- Iteration #1
Oct. 07 12 Tue. Oct. 08


Scoria Overview -- Part 1:
Dataflow edges, value flow graph
[Radu] [extended FOOL]
Skim FOOL paper, focusing on informal explanation 

Vanciu, R. and Abi-Antoun, M. Extracting Dataflow Objects and other Flow Objects. In 20th International Workshop on Foundations of Object-Oriented Languages (FOOL), 2013. To appear. This paper has a companion technical report that includes a soundness proof.

  Lab #3: Dataflow edges.
Please read lab instructions.
Practice with example (ObjectSensitivity1).

Project: analyze your assigned test cases.
Read project instructions in Blackboard (SVN access, assigned test cases, etc.)
Due by Tue. Nov. 05

13 Wed. Oct. 09 Discuss Lab #3
Discuss Project

Oscar: paper presentation

Ouni, A.; Kessentini, M.; Sahraoui, H. & Hamdi, M. S., The use of development history in software refactoring using a multi-objective evolutionary algorithm, Proceeding of the fifteenth annual conference on Genetic and evolutionary computation conference, ACM, 2013, pp.1461-1468
Architectural-Level Reasoning
Oct. 14
Proficiency Exams Week
14 Tue. Oct. 15 Scoria Overview -- Part 2:
Security analysis
[extended ASE + DEMO]
    Lab #4: Security analysis.
Please read lab instructions.
Practice with example.
  Wed. Oct. 16 No meeting (proficiency exam)      
15* Fri. Oct. 18 Informal dry-run [Radu]
[ScoriaSec redux]
    * Make-up meeting due to conflict
Oct. 21 16 Tue. Oct. 22 Andrew Dry-run
17 Wed. Oct. 23 Workshop paper dry-run [Radu]
18 Fri. Oct. 25 Tool demo dry-run [Radu]
    * Make-up meeting due to travel
Oct. 28
SPLASH  week
  No meetings*
Instructor away
    Individual work on survey Project: continue analyzing your assigned test cases.
Read instructions in Blackboard.
Nov. 04 19 Tue. Nov. 05 Project Presentations     Phase I: What did you learn from adding annotations, and running the static analysis?
Focus on fundamental difficulties (what was hard to express), rather than accidental difficulties (the tool crashed, I could not set it up on my MacOS 64-bit, there is a bug, etc.)
20 Wed. Nov. 06 Conference paper dry-run [Radu]
Read ASE paper

Vanciu, R. and Abi-Antoun, M. Finding Architectural Flaws Using Constraints. In IEEE/ACM Conference on Automated Software Engineering (ASE), 2013. Technical research full paper. To appear.

Tool evaluation project -- Iteration #2
Nov. 11
ASE week
  No meetings*
Instructor away
    Individual work on survey Individual work on project
Nov. 18 21 Tue. Nov. 19 Project Presentations     Phase II: What did you learn when using this approach/tool to reason about security?
Did you understand the output of the tool? Were there usability issues?
Were there expressiveness issues?
How did you refine the annotations you added in Phase I in order to
complete Phase II?
22 Wed. Nov. 20

Oscar: paper presentation

Terra, R.; Valente, M. T.; Czarnecki, K. & Bigonha, R. S., A recommendation system for repairing violations detected by static architecture conformance checking, Software: Practice and Experience, 2013, 1-36    
Nov. 25
Thanksgiving week
23 Tue. Nov. 26 Featherweight Java 1 Featherweight Java: a Minimal Core Calculus for Java and GJ
(first 11 pages)
  Wed. Nov. 27
University Holiday      
Tool evaluation project -- Iteration #3
Dec. 02 24 Tue. Dec. 03 Featherweight Java 2      
25 Wed. Dec. 04 Oscar paper presentation

Laura: research presentation on current work
Tourwé, T. & Mens, T. Identifying Refactoring Opportunities Using Logic Meta Programming. Proceedings of the Seventh European Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2003.    
Dec. 09
26 Thu. Dec. 12 Final survey presentations     Note: Classes end on Dec. 09
  27 Mon. Dec. 16 Final project presentations     Summative analysis/discussion


Requested Dry-runs:

Radu -- FOOL workshop practice talk (Sept 30 - Oct 4 - due before Oct. 26)
Radu -- SPLASH tool DEMO dry-run (Oct 7-11 due before Oct 26)
Radu -- ASE conference practice talk (Oct 21-25 - due before Nov 11)

Radu + Marwan: Oct. 26 -- 31 (SPLASH)
Radu + Marwan: Nov. 12--15 (ASE)
Andi + Laura: entire week of Sept 23 - ICSM
Andi: entire week of Oct 21 - Japan seminar
Laura: entire week of November 11 - India

Misc topics:

Reasoning about Security
Writing security constraints
CERT rules for Java
Introduction to Android
Android security policy

Add Back [if time allows]

Discuss most related technologies


    A type system and analysis for the automatic extraction and enforcement of design information
[Lam and Rinard]
Read the paper: A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information  

Other Topics [to be determined]

Featherweight Java + focus on formalization of Ownership type systems

Ownership types: Read the formal part of the ECOOP'04 paper

Quiz: Featherweight Java

Discuss ArchDoc project in general meeting

Reasoning about Conformance

Program Comprehension

Metrics: LNCS metrics paper



Last Updated: Thursday, December 05, 2013 07:54:18 PM