CS 846-043: Software Analytics for Release Pipelines

In this course, students will learn about the application of analytics (i.e., the discovery and communication of meaningful patterns in data) to software release processes. Throughout the course, students will:

Learning Outcomes

The main objective of this course is to introduce students to how the field of software analytics (i.e., the discovery and communication of meaningful patterns in software data) can be leveraged to improve software release pipelines (i.e., the process by which new software releases are produced). By the end of this course, students should understand:

Course Content

The course is comprised of three modules. In addition to laying out course expectations, the instructor-lead preliminaries module introduces students to (a) the basics of software analytics and (b) the sources of data that one should expect in modern software release and operations processes. In the integration practices and release practices modules, students will be exposed to key findings and recent trends in the literature.


Students will be evaluated using the following breakdown:

Adversarial Presentations (10%)

Each scheduled paper will be assigned to two students. One student will present the paper and champion it in a discussion period (see Champion Presentation below). The other student will take an adversarial position, pointing out controversial points in the paper and limitations in its scope, evaluation, or applicability.

Each student will play the role of adversary at least two times, with each presentation being worth 5% of the final grade. If a student is asked to present more than two times, the highest two grades will be retained and the lowest grade(s) will be dropped.

Champion Presentations (10%)

Each paper will be assigned a champion. The champion will deliver a 20-minute presentation on the paper to the class. The champion will also lead break-out group discussions where other students may ask detailed questions about the work.

Each student will play the role of champion at least two times. Again, if a student is asked to present more than twice, the lowest grade(s) will be dropped and the remaining two grades will be worth 5% of the final grade.

Critiques (20%)

Students must submit a 500-word (strict!) critique for at least ten papers in the schedule. Students may not submit a critique for papers for which they are scheduled to act as the champion or the adversary. Your critiques must follow the template for critiques.

Each critique will be worth 2% of the final grade. For students who submit more than ten critiques, their highest ten grades will be retained and their lowest grades will be dropped.

Project (50%)

Each student will produce a individual project. The project may be either a replication of one of the papers scheduled for this course or an original project of an agreed upon topic and scope. Regardless of which project option is selected, each student should schedule a brief meeting with the instructor to discuss the project plan.

The grade for the project is further decomposed into:

Participation (10%)

Being a seminar-style graduate course, the value that students derived from the material will be proportional to the effort they put into engaging with the content both in preperation for and during class. Students are expected to read all of the scheduled papers, and come to class prepared to take part in the discussion.

Class Schedule

Classes will be held weekly on Tuesdays at 11:00am–2:00pm EST.

The detailed schedule is available online. Students must use the same page to sign up for champion and adversary slots. Please request access to the sheet using your Google-enabled account. Email the instructor using your @uwaterloo.ca email address to provide a trace (include the phrase [CS 846] in the subject line).


Shane McIntosh
Email: [first_name].[family_name]@uwaterloo.ca

To receive a speedy response, include [CS 846] in the subject of your emails.