SOFTWARE ENGINEERING CS510


Week

Material

1

Introduction to Software Engineering [pdf]

Assignment 1

2

Software Testing, JUnit [pdf]

Assignment 2

READING: Software debugging, testing, and verification
READING: Programmer's Dozen

3

Agile Development Methodologies: Extreme Programming [pdf],
SE Projects [pdf]

Assignment 3

5-MIN TALK: Automatic Discovery of API-Level Vulnerabilities (jv)

4

Software Design Pattern [pdf] part 2 [pdf]

Papers on the expression problem: Wadler [txt], Zenger [pdf], Torgersen [pdf], Krishnamurthi [pdf], Grothoff [pdf], and as a practical example: Palacz [pdf]

5-MIN TALK:
Locating Causes of Program Failures  (boley)

5
7-11 feb

Refactoring [pdf]

5-MIN TALK: Is Mutation an Appropriate Tool for Testing Experiments?  (xbin)

6

Refactoring & Coding Standards [pdf] and [pdf]
Aspect Oriented Programming [pdf] and [pdf]

--no friday project progress meeting--

5-MIN TALK: Fragment Class Analysis for Testing of Polymorphism in Java Software  (etapia)

7

21 Feb

Data Flow Analysis [pdf]

Principles of Program Analysis; Flemming Nielson, Hanne R. Nielson, Chris Hankin, Springer-Verlag, 1999.

Tuesday: Improving Effectiveness of Automated Software Testing, Tao Xie (University of Washington), 10:30 CS111 (blurb)

Thursday: Run-Time Error Handling and Program Reliability, Westley Weimer (Berkeley), 10:30 CS111 (blurb)

5-MIN TALK: Check ’n Crash: Combining Static Checking and Testing  (ssjordan)
5-MIN TALK: Automated Support for Development in the Presence of Implicit Control Flow (lziarek)

8

Data Flow Analysis

9

7 March

Data Flow Analysis
-- No class on Wed. => Midterm! 5min talks on Monday!

5-MIN TALK: Coverage Criteria for Testing of Object Interactions in Sequence Diagrams (schnettl)
5-MIN TALK: An Empirical Comparison of Dynamic Impact Analysis Algorithms  (zwiggins)
5-MIN TALK: Verification and Change-Impact Analysis of Access-Control Policies (ammar)

10

Solving the midterm

5-MIN TALK: Finding latent code errors via machine learning over program executions (johnsobr)

11

Monotone Frameworks

12
April 2

 

Inteprocedural Analysis

5-MIN TALK: Generating Tests from Counterexamples  (jthomas)

13
April 9

Shape Analysis


5-MIN TALK: DiscoTect: A System for Discovering Architectures from Running Systems
 (schatzp)

14
April 16


5-MIN TALK: Simplifying and Isolating Failure-Inducing Input  (luke)
15
April 23
Review
5-MIN TALK: Refactoring for generalization using type constraints  ()
16
April 30
Exam week

 

5-MIN Talks:

These are short talks covering papers presented at the ICSE software engineering conference. Presentations are limited to 5 minutes (+ question time). Talks are given on Wed. of each week. A subset of these papers will be included in the final and the qualifier exam. Names in parentheses are presenters.


Assignments:

Assignment 1.
Assignment 2, revised interfaces.
Assignment 3,. BitVec implementations [tgz], implementation stress test [tgz]. and one more bitvec implem [tgz], and one more [tgz]