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:
- study, discuss, and critique research papers appearing in the current literature
- report on an original project or a replication of a paper in the area
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:
- the raw data that is produced by modern software release and operations practices
- how to architect, design, and implement a software analytics system, which processes the raw data to derive value
- the measures by which a software analytics system may be evaluated
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.
Evaluation
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:
- Proposal (5%): The proposal (one page, IEEE format) should provide a brief motivation of the problem, a detailed discussion of the data that will be used, a timeline of project milestones, and the expected outcome.
- Progress update (5%): In week 8, the proposal will need to be updated to add two pages of content describing the status of the project. In this report, each student will at least present (a) a summary of the data collected for each project; (b) an update about whether the planned milestones have been met; and (c) a re-examination of the remaining planned milestones.
- Final presentation (15%): Each project will be presented and discussed during the final two weeks of the semester.
- Final report (25%): The final project report (five pages, IEEE format) will argue for the importance of the project, situate the project with respect to the related work, describe the design and results of the analysis, and discuss the broader implications of the results.
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).