ECE 754 - Spring 2016

ECE 754 - Software Bug Detection and Tolerance

Instructor

Professor Lin Tan
Office: DC 2536
Office hours: by appointment.
She may be reached by email. Be sure to add [ECE754] to your email subject line.
Visit her website.

Course Website

Course material can be found on the course website and LEARN for assignment/lab submissions and password protected content.

Lectures

Tuesday 2:30-5:20, EIT 3151/3153

Textbook:

No required textbook. Lecture notes/slides will be provided.

Rationale

Software needs to be reliable and secure; otherwise, they can cause casualty, financial losses, and many other damages. Software bugs significantly hurt software reliability and security: causing 30% of system failures and at least 39% of the reported security vulnerabilities. Bugs are estimated to cost our economy billions of dollars annually.This course discusses a broad range of techniques to reduce the negative impact of software bugs to improve software reliability and security.

Main Topics

  • Fundamental Software Reliability and Security Concepts
  • Software Bug Detection, Prediction and Diagnosis
  • Software Bug Tolerance and Recovery
  • Security Attacks and Security Bugs
  • Performance Bugs
  • Text Analytics

Recommended Background

ECE 254 (Operating Systems and Systems Programming) or equivalent; or permission of the instructor.

Grading (Grades may be curved or adjusted at the instructor's discretion)

  • Research Project: 50%
    • Project Topic Selection 5%
    • Project Proposal, Literature Survey & Presentation 15%
    • Project Final Paper and Demo 30%
  • Paper Critiques and Assignments: 24%
  • Paper Presentation(s): 16%
  • Participation: 10%

Example Papers

  • Automatically Learning Semantic Features for Defect Prediction (ICSE’16)
  • Coverage Is Not Strongly Correlated With Test Suite Effectiveness (ICSE’14)
  • On the "Naturalness" of software (ICSE’12)
  • An Empirical Study on Configuration Errors in Commercial and Open Source Systems (SOSP’11)
  • Debugging in the (Very) Large: Ten Years of Implementation and Experience (SOSP’09)
  • /* iComment: Bugs or Bad Comments? */ (SOSP’07)
  • Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code. (SOSP’01)
  • Fundamental Concepts of Dependability (2000)

Policies

By registering for this class, students agree to the following class policies:

  • Independent work: All work turned in on critiques and individual presentations will be that of the individual student. Discussions are allowed only for group presentations and group projects. Violations would result in zero credit to all students concerned.
  • Lateness: students are responsible to submit their paper critiques and reports on time. No late submission will be taken without a well justified reason (for example, documented medical or family emergency).
  • Make-up Critiques: If you miss submitting the critique for one paper, you can submit a critique for a paper from the “Additional Reading” list of the same topic. You can do this for up to four papers. The papers must have not been presented by the time of the makeup critique submission. All makeup critiques must be submitted by the last critique submission deadline (week 11’s critique deadline).

Paper Critiques

Students are required to read and submit paper critiques (1 page per paper and 1 pdf file per week) for the papers we discuss each week. The critiques for each week are due by 1:00 PM Monday in pdf format. Papers can be downloaded from the schedule page. You may be required to answer specific questions regarding these papers.

The purpose of critiques is to help you gain more from reading papers. The critique must have the following content:

  • Brief summary of the paper (about 2-3 sentences)
  • Key contributions of this paper (what are different from previous work)
  • Shortcomings of this paper (at least one that is not mentioned in the paper)
  • Future work that the paper inspired you to think of (at least one that is not mentioned in the paper)
  • Ideas that you can borrow from this work to apply to your own or others’ work
  • At least one question that you want to discuss in class

The critique may contain the following content:

  • Assumptions in the paper that you disagree with and how you think different assumptions would affect the outcome
  • Comparisons between the paper and another paper or approach for the same problem
  • Relationship between the problem being attacked in this paper and another problem
  • How the paper relates to other papers or approaches

Paper Presentation

Each student is required to give individual paper presentations. The student must email the instructor his/ her pdf (preferred for better compatibility) or power-point slides by 1:00 PM Monday so other students can download the slides in advance. Make sure your email subject contains [ECE754].

Participation

Students are required to attend lectures and actively participate in classroom discussions by asking questions, pointing out problems, proposing new or crazy ideas.

Required inclusions

  • Academic integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.
  • Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department’s administrative assistant who will provide further assistance.
  • Discipline: A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties check Guidelines for the Assessment of Penalties.
  • Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals).
  • Note for students with disabilities: The AccessAbility Services, located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the AccessAbility Services at the beginning of each academic term.