--- title: 'Main Page - Fall 2021 CSE410/510' tags: fall21-st-cse410/510 --- # Fall 2021 CSE410/510: Software Testing ## Table of Contents [TOC] ## Announcement CSE410/510 in Fall 2021 will be an **in person** course. 1. **However, due to the pandemic, the course attendance is not required. I'll record the course lectures** so that students who do not wish to come in person can still access the course materials. 2. The office hours will be **online via [Zoom](https://buffalo.zoom.us/j/99193718383?pwd=V09mQjc3Q2ZXYkJWNVJFeE1IZkFYUT09)**. 3. **We do not have midterm/final** exams. 4. Instead, **there will be a course project**. Project details will be released in September 20's class. ### Updates * Oct 11: Bug study report/presentation templates are uploaded to UBbox. Also, Mon Oct 11’s slides and recording are uploaded. * Oct 7: Mon Oct 4’s slides and recording are uploaded to UBbox. * Sep 27: Mon Sep 27's slides and recording are uploaded to UBbox (Please let me know if you cannot access to the course folder on UBbox). * Aug 30: Mon Aug 30's slides are shared on UBbox (Please let me know if you cannot access to the course folder on UBbox). ## Contacting the Instructor Prof. Weihang Wang * Office: Davis 338G * Email: weihangw@buffalo.edu * Office Hours: Monday 6pm-7pm, and by appointment When you send an email regarding the class, please have ``[CSE410/510]`` in your email subject. For example, Subject: ``[CSE410/510] Questions for ...`` Due to the large volumn of the emails I receive, if you don't add ``[CSE410/510] ``to the subject, I may not be able to find your email. ## Topics This course focuses on algorithmic software engineering. The topics will be covered include program tracing, program profiling, slicing, delta debugging, software model checking, symbolic execution, fuzzing, and concolic testing. The goal of this course is to learn fundamental software engineering techniques and their applications in software testing, debugging, maintenance, and software security. ## Project We will have **one course project** related to WebAssembly. The following is some background knowledge about WebAssembly. ### References for WebAssembly: Regarding resource for WebAssembly usage, here are some links to get familiar with the WebAssembly design and usage: * https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6 * https://dev.to/captainsafia/why-the-heck-is-everyone-talking-about-webassembly-455a * https://www.freecodecamp.org/news/get-started-with-webassembly-using-only-14-lines-of-javascript-b37b6aaca1e4/ * https://wasmbyexample.dev/ * https://developer.mozilla.org/en-US/docs/WebAssembly/C_to_wasm * https://github.com/mdn/webassembly-examples For code development, you could use Visual Studio Code with the WebAssembly extension enabled. In addition, there is an online IDE for WebAssembly: * https://webassembly.studio/ ## Grading Policy We expect to determine grades as follows: | Item | Percentage of Final Grade | | -------- | -------- | | Report | 40% | | Project Demo | 40% | | Results | 20% | | **Total** | **100%** | ## Academic Integrity (AI) **Please do not share your work or copy others' work.** If you have technical difficulties, consult with the course instructor early enough. Failing to adhere to AI policies may result in **F or other severe consequences**. ## Accomodations If you need any kind of special accommodations, including but not limited to disability, learning needs, illness, or personal circumstances, please contact us as soon as you are aware of these needs. We aim to be as accommodating and fair as possible. ---