CS 590T Model Based Software Testinng

Fall 2005 Schedule (Dynamic)

Lecture T TH 4:30-5:45pm REC 227
Office Hours: Thursday 3-4:20pm Math 900

SPECIAL INDUSTRY LECTURE

Applying Computer Models to the Development of Implantable Cardiac Rhythm Management Devices

Jim Mapel

Manager, Product Software Engineering

October 18, 4:30-5:45pm REC 227

This page last revised: November 26, 2005

Midterm: October 6, 2005 (4:30-5:45pm)

Final Exam or Special research presentation: TBD

Textbook/Reading: (a) Chapter's from Mathur's "Foundations of Software Testing," Draft V1.0 and(b) Research publications.

Students: MUST: Discuss your final exam schedule with the instructor on or before Tuesday November 22, 2005.
Powerpoint presentations

Week Date Topic Reference Comments
1 8/23
  • Course introduction.
  • Organizational issues.
  • Team formation.
  • Literature summary.
Mathur book: Chapter 1

slides (Preliminaries (not from book but recommended reading)

slides (Errors, not from the book)

Additional readings:

Ariane 5: Flight 501 Failure

An Investigation of the Therac-25 Accidents," IEEE Computer Applications in Power, July 1993, pp. 18-41

Planned: Reading assignment: To be decided in class. [Actual: Chapter 1]

Practice problems: 1.2, 1.3, 1.4, 1.5, 1.8, 1.9, 1.10, 1.11, 1.16, 1.17.

8/25 Software testing: Fundamentals-I Use slides from 8/23.
2 8/30
  • Presentations on the reading assignment
Mathur: slides (Functional)

Planned: Progress made during the previous week will be assessed via 5-10 minute presentation by each team. [Actual: Teams spent much more time making presentations. The class ended 15 minutes past the due finish time.]
9/1
  • Presentations on the reading assignment
Four research publications assigned for reading.
3 9/6
  • Research Progress Assessment
  • Software testing: Input domain models , equivalence partitioning and boundary value analysis.
Mathur book: Chapter 4 Planned: FSM testing. Actual: Equivalence partitioning/BVA.
9/8
  • Test generation from predicates
Mathur book: Chapter 4
4 9/13
  • Research Progress Assessment
  • Test generation from predicates

Mathur book: Chapter 4

Practice problems: 4.3, 4.7, 4.10, 4.11, 4.27, 4.38
4.8, 4.16, 4.25, 4.30, 4.31, 4.35
9/15
  • Test generation from Finite State models: W method (Chow)
Mathur book: Chapter 5
5 9/20
  • Research Progress Assessment
  • Finite state modeling: The Wp method
Mathur book: Chapter 5 Practice problems: 5.5, 5.10, 5.11, 5.13, 5.22, 5.23, 5.24
9/22
  • W and Wp methods
  • CIS and ESG approaches to GUI modeling
Mathur book: Chapter 5
6 9/27
  • Research Progress Assessment
  • Modeling and test generation using statecharts
Mathur book: Chapter 6

slides (Chapter 5)

9/29
  • Test generation : combinatorial designs I
Mathur book: Chapter 11
7 10/4 Midterm review How to prepare for the midterm?

Chapters to be covered: Chapters 1, 4, and 5.

(a) Read and understand Chapter 1 (exclude 1.11). Chapter 4 (Exclude 4.5, 4.6.5 (BRE), and 4.6.7). Chapter 5: (Exclude 5.6).

(b) Solve practice problems.

10/6 Midterm [Solutions]
8 10/12 October break. No meeting.
10/13
  • Research Progress Assessment
  • Test generation : combinatorial designs II
9 10/18 Industrial Presentation: Jim Mapel, Guidant Corporation Mathur book: Chapter 14 Title: Applying Computer Models to the Development of Implantable Cardiac Rhythm Management Devices:
10/20 Class does not meet; instructor away at a conference. Lost time will be made up by extending each of the in-class presentations by a few minutes and used for discussion.
10 10/25
  • Research Progress Assessment
  • Test assessment I: Control flow
Mathur book: Chapter 15
10/27
Class does not meet; instructor at a conference
Lost time will be made up by extending each of the in-class presentations by a few minutes and used for discussion.
11 11/1

James Roberts

Nwokedi Idika

James: Medical Sotware Testing

Nwokedi: Software Vulnerability Testing

Research presentations by students.

Each presentation is 45 minutes in duration that includes all question answers and set up time. Please have your powerpoint presentation reviewed by the instructor at least a day prior to your presentation.

11/3 Hiroshi Yamauchi

Ammar Masood

Hiroshi: Testing Compilers

Amar: Testing real-time systems

12 11/8 K. Jayaram

Chetak Sirsat

Jayaram: Test generation from statecharts. UMLSec

Chetak: Regression testing

11/10 Yunlin Xu

Ashish Kundu

Yunlin: Nuclear Reactor Instrument and Control system Testing

Ashish: Automatic Detection and Isolation of Software Faults

13 11/15 Test assessment I: Control flow Chapter 14
11/17 Industrial Applications. Invited Presentation II. Jo Kim from RedstoneSoftware Talk and demo of Eggplant, a regression testing tool.
14 11/22 Test assessment II: Data flow Chapter 14
11/24 Thanksgiving break. No meeting.
15 11/29 Test assessment III: Data flow/Mutation Chapter 15
12/1 Test assessment IV: Mutation

Course review/assessment

Chapter 15
16 12/6

4:30: Ammar Masood

4:50: Yunlin Xu

5:10: Chetak Sirsat

5:30: K. Jayaram

Presentations 20 minutes each.
12/8

4:30: Ashish Kundu

4:50: Hiroshi Yamauchi

5:10: Nwokedi Idika

5:30: James Roberts

Presentations 20 minutes each.
17 MUST: Discuss your final exam schedule with the instructor on or before Tuesday November 22.

Each student selects three papers from the set below and sends a prioritized list to the instructor. The instructor will assign one paper to each student. There is no guarantee that a student will be assigned a paper from the list sent.

List of research publications to be read in liu of the final exam:

1. Regression testing:

@inproceedings{ball98limit,
author = "Thomas Ball",
title = "On the Limit of Control Flow Analysis for Regression Test Selection",
booktitle = "International Symposium on Software Testing and Analysis",
pages = "134-142",
year = "1998"
}

2. Testing non-deterministic FSMs

@article{gang-bochmann-petrenko,
author = "L. Gang and G. v. Bochmann and A. Petrenko",
title = "Test selection based on communicating nondeterministic finite-state machines using a generalized Wp-method",
journal = "IEEE Transaction on Software Engineering",
month = "February",
volume="20",
number=2,
year = "1994",
pages = "149 -162"
}

3. Random testing:

@article{gutjahr,
author = "W. J. Gutjahr",
title = "Partition testing vs. random testing: the influence of uncertainty",
journal = "IEEE Transactions on Software Engineering",
volume = "25",
number = "5",
pages = "661-674",
month= "November",
year = "1999"
}

4. Efficient code instrumentation:

@inproceedings{agrawal-dominators,
title={Dominators, super blocks, and program coverage},
author={H. Agrawal},
booktitle={In Proceedings of POPL 94},
location={Portland, Oregon},
year={1994},
pages={25--34}
}

5. Database testing:

@inproceedings{deng-phyllis-chays,
author = {Y. Deng and P. Frankl and D. Chays},
title = {Testing database transactions with AGENDA},
booktitle = {ICSE '05: Proceedings of the 27th international conference on Software engineering},
year = {2005},
pages = {78--87},
location = {St. Louis, MO, USA},
publisher = {ACM Press},
address = {New York, NY, USA}
}

6. GUI testing

@incollection{belli-budnik-nissanke,
author={F. Belli and C.J. Budnik and N, Nissanke},
title={Finite-state modeling, analysis, and testing of system vulnerabilities},
booktitle={Proceedings of Organic and Pervasive Computing Workshops (ARCS), Lecture Notes in Informatics},
volume={41},
pages={19--33},
year={2004}
}

7. OO testing

@article{chen-tse-chan-chen,
author = {H. Y. Chen and T. H. Tse and F. T. Chan and T. Y. Chen},
title = {In black and white: an integrated approach to class-level testing of object-oriented programs},
journal = {ACM Transactions on Software Engineering Methodology},
volume = {7},
number = {3},
year = {1998},
pages = {250--295},
publisher = {ACM Press},
address = {New York, NY, USA},
}

8. Testing distributed systems

@inproceedings{carver-tai,
author={R. H. Carver and K. -C. Tai},
title={Test sequence generation from formal specifications of distributed programs},
booktitle={Proceedings of the 15th International Conference on Distributed Computing Systems},
year={1995},
pages={360--367}
}