Skip to content

prosyslab-classroom/is661-advanced-software-security

Repository files navigation

IS661: Advanced Software Security (고급 소프트웨어 보안)

Logistics

Course Description

The goal of this course is to develop scientific communication skills. Students will learn how to write a research paper, give a technical talk, and review a research paper. Students will propose and complete a research project during the semester.

Grading

  • Homework: 40%
  • Final project: 50%
  • Participation: 10%

Project Theme: Understandable & Explainable Programming Systems

Observation is the beginning of all sciences. For example, Heliocentrism, one of the most important scientific discoveries, started from several critical observations by Galileo Galilei. This observation led to the development of modern astronomy. Computer science is no exception. Only when we observe the behavior of large and complicated software systems, we can understand how they work and discover new knowledge.

The project theme of this course is "Be Galileo of Programming Systems". Students will make a visualization tool for understandable and explainable programming systems (e.g., program analyzer, fuzzer, synthesizer, compiler, etc). The visualization tool should help users understand the behavior of the underlying programming system. For example, such tools can provide the following benefits:

  • Help computer scientists (e.g., yourself) find new research problems in programming language, software engineering, or security.
  • Help non-expert users understand the behavior of software analyzers.

Students can refer to the following projects for inspiration:

Paper & Proposal Review

We use HotCRP.

Academic Integrity Violation

Students who violate academic integrity will get an F. See the KAIST CS honor code.

Student Artifacts

Visit this page and have fun with student artifacts.

Schedule

Date Topics Watching Homework
2/27 Introduction
2/29 You and Your Research
3/5 Discussion HW1: Essay (due: 3/3 23:59:59)
3/7 How to Write a Great Research Paper
3/12 How to Write Papers So People Can Read Them
Data Visualization
3/14 Discussion HW2: Your quick sort paper (due: 3/12 23:59:59)
3/19 How to Give a Great Research Talk
3/21 Research Talk 1 HW3: Review (due: 3/21 23:59:59)
3/26 Research Talk 2
3/28 Research Talk 3
4/2 How to Write a Grant Proposal
4/4 Project Proposal Talk 1 HW4: Project Proposal (due: 4/2 23:59:59)
4/9 Project Proposal Talk 2
4/11 Project Proposal Talk 3
4/16 Mid term week (no class)
4/18 Mid term week (no class)
4/23 Paper Presentation 1
4/25 Paper Presentation 2
4/30 Paper Presentation 3
5/2 Paper Presentation 4
5/7 Paper Presentation 5
5/9 Paper Presentation 6
5/14 Paper Presentation 7 HW5: Paper Review (due: 5/14 23:59:59)
5/16 Final Project Presentation 1
5/21 No Class
5/23 Final Project Presentation 2
5/28 Final Project Presentation 3
5/30 Final Project Presentation 4
6/4 Final Project Presentation 5 Project: Paper (due: 6/5 23:59:59)

Papers

Program Analysis & Testing

Program Verification

Program Synthesis

AI-based Programming Systems & Large Language Models