CS 6340: Software Analysis and Testing
Fall 2009 Schedule (Dynamic)

Home Page - Syllabus

Schedule

 

 

 

 

NOTES:

  • The Readings are listed on the day that they are due. You are responsible for studying the reading before class, and being prepared for a quiz on the reading and for participation in the class discussion.
  • The Assignments are also listed on the date they are due. Note that assignments are due at the beginning of class on the due date.

 

 

Week

Date

Topic

Readings (due date; date discussed)

Assignments (due date)

1

8/18

Introduction

Basic Analyses (1):

Control-flow, search, ordering, dominance, postdominance

 

Student Information

 

8/20

Basic Analyses (2): Loop analysis, reducibility, data-flow analysis

Representation and Analysis of Software (Sections 1-5)

 

Additional reading: depth-first presentation, data-flow analysis, etc.

 

2

8/25

Basic Analyses (3): Data-flow analysis (cont’d)

Additional reading: data-flow analysis (1);

 

Additional reading: data-flow analysis (2)

 

Problem Set 1

Graders: Xiong Pengcheng, Deepal Jayasinghe

 

8/27

Basic Analyses (4): Control-dependence analysis

The Program Dependence Graph and Its Use in Optimization

 

[top]

 

 

 

 

3

9/1

Basic Analyses (5): Static single assignment and control dependence

Efficiently Computing Static Single Assignment and the Control Dependence Graph

 

9/3

Basic Analyses (6): Program slicing

A Survey of Program Slicing Techniques: Sections 1, 2, 3.1, 3.6, 4.1

Problem Set 2

Graders: Vivek Agate, Hrishikesh Pathak

4

9/8

Basic Analyses (7): Program slicing (cont’d)

Problem Set 3

Graders: Changhee Jung, Phillip Wright

 

9/10

Complications of analysis (1): calling context; interprocedural slicing

Interprocedural Slicing Using Dependence Graphs.

 

5

9/15

Project Discussion

 

Complications of analysis (2): arbitrary interprocedural control flow and dependence

Interprocedural Control Dependence

Problem Set 4

Graders: Chetan Pawgi, Parikshit Sudumbrekar

 

 

9/17

Complications of analysis (3): pointers, aliasing

Notes on Representation and Analysis of Software (Sections 9,10)

 

Additional reading: data-flow analysis with arrays and pointers

 

Efficient Points-To Analysis for Whole-Program Analysis

 

[top]

 

 

 

 

6

9/22

Symbolic execution

Symbolic Evaluation Methods and Program Analysis

Problem Set 5

Graders: Mijung Kim, Minjang Kim

Initial Project Proposal

 

9/24

Static/Dynamic Analysis

 

7

9/29

Discussion of Projects

Software Testing and Verification

 

Introduction to Software Testing

Final Project Proposal

 

10/1

Testing Basics

Category Partition Method

 

An Applicable Family of Data Flow Testing Criteria

 

 

8

10/6

No class

Fall Break

 

 

10/8

Testing Basics (cont’d)

A Safe, Efficient Regression Test Selection Technique

 

Scaling Regression Testing to Large Software Systems

9

10/13

Regression Testing

Test Case Prioritization

 

 

10/15

Prioritization, Instrumentation

Efficient Path Profiling

Problem Set 6

Graders: Kane Bonnette, Aaron Ciaghi, Andrea Dalla Valle, Temidayo Yembra

 

 

 

10/22

Acyclic Path Profiling, Debugging

Automatic Test-data Generation Survey

11

10/27

Fault localization, Test-case Generation

Test-data generation using genetic algorithms

 

Concolic test-data generation

 

Test-data generation for coverage

Problem Set 8

Graders: Mahaadevi Govindarajan, Preethi Mali Mahalingam

 

 

10/29

Test-case Generation

Project progress report: One-two pages that describes your progress toward your project goals (as presented in your Project Proposal), a discussion of the missing steps for the completion of the work, and a tentative schedule for such steps.

12

11/3

Review for exam

Problem Set 9

 

 

11/5

Jim Clause: The GAMMA Project

 

 

13

11/10

No class

 

 

 

11/12

Exam

 

14

11/17

Discussion of exam; discussion of Project Paper

Take-home part of exam (see T-Square for copy)

 

11/19

Presentation Discussion

 

 

15

11/24

Project paper

 

11/26

No class

Thanksgiving

16

12/1

Project presentations

 

Project presentations

 

12/3

Project presentations