CMPS290G: Topics in Software Engineering

Research Workshop in Automated Software Defect Detection

Instructor: Raymie Stata
Class hours: TuTh 10-11:45, Porter 246
Office hours: Thursdays, 2-3:30p (or by appointment), BE357A

Schedule and readings


This semester, 290G will be a project-based workshop on the actual process of research. Through a guided, hands-on experience, the goal of this course is to give you first-hand experience with both the nature and process of a certain type of research in Software Engineering. (As "certain type of research" suggests, there are many ways to do research, and the field of Software Engineering is borad. The style and topics of research demonstrated in this workship will obviously be biased by the instructor.) In this course, you will: Of course, a hallmark of research is risk-taking, thus it's quite possible that you'll fail to prove your hypothesis or otherwise generate interesting results. Such an outcome is fine. At the same time, an important goal is to help you learn to scope a project, that is, we'll be actively avoiding the failure-mode in which you fail to run an interesting experiment because you simply ran out of time.

After the first two- to three-weeks of the course, class time will be devoted to presentations and discuss of student projects. You'll be expected to lead some of these discussions and participate in all of them.

The projects in this class will be restricted to the area of "Computer-Assisted Software Defect Detection." The goal of this line of research is to build systems that assist developers find defects in their software. This line of research is typically focused on the class of defects called "bugs" - defects that cause the program to crash or to otherwise violate its functional specification - versus defects in other areas (e.g., the functionality, usability). Examples of this type of research include:

You'll be encouraged to work in groups of two, although other arrangements will be satisfactory.

(To access the rest of the course materials, use "cmps290g" as both username and password.)

P.S. A number of students have asked about overlap between this quarter's 290G and last quarter's. There will indeed be a fair bit of overlap in readings and ideas. However, the focus of this quarter is less on the actual content and more on the doing research. So I believe people who participated in 290G last quarter will benefit from this quarter's approach.