SWE 795 Course Syllabus
Advanced Testing Techniques
||Engineering Building 4428, 993-1660
||Monday 4:30 to 7:10, Nyugen Engineering 1103
||SWE 637 or POI.
Contact me if you have questions.
|| Mondays and Thursdays 2-3PM;
This class is a seminar!
It is not a lecture class.
Students should expect to contribute heavily to the class.
This version of SWE 795 is about advanced testing techniques.
I will focus on two (very different)
areas where I am actively involved in research:
I expect that most students will choose to work in one of these
but it is also possible,
with instructor approval,
to focus on a different advanced testing technique.
Mutation testing, including applications to automated program repair (APR).
Testing to support usable security
Note: This class counts towards the
"12 credits from SWE 700-level courses and IT-SWE courses"
Software Engineering Advanced Emphasis Requirement.
We will use
for discussions and posting (most) material.
Brief Introductory Slides
Introduction to Software Testing,
Ammann and Offutt, Cambridge University Press, 2008
Direct Safari Link
General Safari Link (off campus)
Material on mutant subsumption graphs.
We'll start with the only paper on the topic:
Material on APR.
To get you started, here is a
We'll look at some, but not all of these papers.
We'll start with an
which happens to be paper 24 in the list.
Material on case studies (TBD - Probably Yin: depends on class interest level)
Material on usable security: I'll introduce this with a
SECTEST keynote talk
I gave last spring.
Material selected from the literature by students with instructor approval.
Approximate Schedule: Revisions likely!
First few weeks: General (re)orientation in testing,
introduction to proper case study design, and
overview of usable security.
I plan to lead some of these discussions,
but heavy student participation is expected.
Middle section of the semeter:
Student presentations of papers from the literature.
Last few weeks of the semester:
Student presentations of projects/papers.
This will cover your work.
There are three specific expectations of students
in this class.
The simplest is that each student come to lecture prepared
to discuss the topic of the day.
This is a seminar, not a lecture.
Each student is expected to add value to the discussion.
Discussions will continue outside of class on a Piazza forum.
Again, students are expected to contribute.
Each student will lead one or two discussions
in class, as well as one or more online discussions.
This will involve selecting suitable material,
making it available to other students,
and preparing a presentation to guide the discussion.
You should begin researching what topics you would like
to present now.
You should have clear your ideas with me a couple of weeks
before you are scheduled to present.
Group work is certainly allowed - even encouraged -
depending on what is most appropriate for the specific topic.
Each student will prepare a project or paper on
some advanced testing technique.
Again, you should discuss your ideas with me
as early as possible.
Group work is possible in this aspect of the course as well,
but requires a strong rationale and prior instructor approval.
PhD students should aim for a paper/project
that is potentially publishable.
Often, such papers require additional work outside the
scope of the class to bring them to the level of
quality required to satisfy a typical set of reviewers.
MS students are also welcome to aim
However, many MS students are often interested
in more practical applications.
Grades are computed as: Class participation (33%);
Discussion leading (33%);