CS598LMZ: Software Quality Assurance with Generative AI

Course Overview

Topics: Modern Large Language Models (LLMs) like ChatGPT have demonstrated remarkable capabilities across diverse fields, notably in natural language processing and programming. In this course, we will together explore the impact of such advanced generative AI techniques on the important area of software quality assurance. This course will dive deep into the intersection of generative AI and software quality assurance, illustrating how these technologies can be synergistically combined to elevate software reliability, robustness, and correctness. We will cover a range of interesting topics, including foundational principles and cutting-edge research on software quality assurance, recent representative LLMs for code, emerging techniques on leveraging LLMs for software quality assurance, as well as innovative methods targeting quality assurance of LLMs themselves.

Prerequisites: Note that this is a research-driven course, and requires students with strong backgrounds in both machine learning and programming:

Class Organization

This course does not require any textbook. In each class, the students will participate in the discussion of research papers related to the same topic. Note that each student is expected to read the papers before each class. During the class, the students will be randomly chosen to answer questions related to the papers, such as:

Grading Details

There is no exam! The grading will be mainly based on the following aspects:

Based on your points, you will get at least these grades: A (93%), A- (90%), B+ (87%), B (83%), B- (80%), C+ (77%), C (73%), C- (70%), D+ (67%), D (63%), D- (60%), and F (for less than 60%). The instructor reserves the right to lower the number of required points but will not increase them.

Tentative Schedule

Date Topics/Readings Memo
Module I: Background and Basics
01/16 Course Introduction
    Presenter: Lingming Zhang (Slides)
    01/18 Program Analysis Basics (I)
      Presenter: Lingming Zhang (Slides)
      01/23 Program Analysis Basics (II)
        Presenter: Lingming Zhang (see above link)
        01/25 Software Testing Presenter: Lingming Zhang (Slides)
        01/30 Automated Debugging Presenter: Lingming Zhang (Slides)
        02/01 LLM Basics
          Presenter: Steven Xia (Slides)
          Module II: Code LLMs
          02/06 Encoder-only Models Presenter:
          02/08 Encoder-Decoder Models Presenter:
          02/13 Decoder-only Models Presenter:
          02/15 Proposal Presentation Each team should prepare 4-5 slides to present your proposal in class for about 5min, including:
          • Problem: the problem you want to work on and the background
          • Proposed solution: how you want to solve it
          • Evaluation: how you will evaluate it (e.g., with what benchmarks/subjects and what metrics)
          • Initial results: what you did so far
          • Future plan: what you will do in the midterm and final reports
          02/20 Trained on Foundation Models Presenter:
          02/22 Instruction Tuning Presenter:
          02/27 Others Presenter:
          Module III: Code LLMs for Software QA
          02/29 Fuzz Testing I Presenter:
          03/05 Fuzz Testing II Presenter:
          03/07 Unit Testing Presenter:
          03/12 Spring Break
          03/14 Spring Break
          03/19 Program Repair Presenter:
          03/21 Automated Debugging Presenter:
          03/26 Project Midterm Presentation Each team should prepare 8-9 slides to present the midterm progress report in class for about 8min (plus 2min for Q&A), including:
          • Problem: the problem you are working on
          • Solution: how you are currently solving it
          • Evaluation: how you are evaluating it
          • Current results: what you did so far and whether you have met your midterm goal
          • Future plan: what you will do in the next month to wrap up the project
          03/28 Project Midterm Presentation
          04/02 Program Analysis Presenter:
          04/04 Software Verification Presenter:
          Module IV: Software QA for Code LLMs
          04/09 Benchmarking Presenter:
          04/11 Code Correctness Presenter:
          04/16 Code Security Presenter:
          04/18 Model Security Presenter:
          04/23 Project Final Presentation Each team should prepare 10-15 slides to present the final report in class for about 10min (plus 2min for Q&A), including:
          • Problem: the problem you are working on
          • Solution: how you are currently solving it
          • Evaluation: how you are evaluating it
          • Current results: what you did so far and whether you have met your final goal
          • [Optional] Future plan: some potential future work if you still have bandwidth after the course
          04/25 Project Final Presentation
          04/30 System Reliability Presenter:

          Academic Integrity Policy

          The University of Illinois at Urbana-Champaign Student Code should also be considered as a part of this syllabus. Students should pay particular attention to Article 1, Part 4: Academic Integrity. Read the Code at the following URL: http://studentcode.illinois.edu/.

          Academic dishonesty may result in a failing grade. Every student is expected to review and abide by the Academic Integrity Policy: http://studentcode.illinois.edu/. Ignorance is not an excuse for any academic dishonesty. It is your responsibility to read this policy to avoid any misunderstanding. Do not hesitate to ask the instructor(s) if you are ever in doubt about what constitutes plagiarism, cheating, or any other breach of academic integrity.

          Students with Disabilities

          To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the as soon as possible. To insure that disability-related concerns are properly addressed from the beginning, students with disabilities who require assistance to participate in this class should contact Disability Resources and Educational Services (DRES) and see the instructor as soon as possible. If you need accommodations for any sort of disability, please speak to me after class, or make an appointment to see me, or see me during my office hours. DRES provides students with academic accommodations, access, and support services. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TDD), or e-mail a message to disability@uiuc.edu. Please refer to http://www.disability.illinois.edu/.

          Family Educational Rights and Privacy Act (FERPA)

          Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. See http://registrar.illinois.edu/ferpa for more information on FERPA.

          Statement on Mental Health

          Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional well-being. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University's resources provided below. Getting help is a smart and courageous thing to do -- for yourself and for those who care about you.

          Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820

          McKinley Health Center:217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801

          University wellness center: https://wellness.illinois.edu/

          Statement on Anti-Racism and Inclusivity

          The intent of this section is to raise student and instructor awareness of the ongoing threat of bias and racism and of the need to take personal responsibility in creating an inclusive learning environment.

          The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

          The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) (https://bart.illinois.edu/). Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.

          Sexual Misconduct Policy and Reporting

          The University of Illinois is committed to combating sexual misconduct. As such, you should know that faculty and staff members are required to report any instances of sexual misconduct—which can include harassment, sexual assault, sexual exploitation, dating violence, domestic violence, and stalking—to the University's Title IX Office. What this means is that as your instructor, I am required to report any incidents of sexual misconduct that are directly reported to me, or of which I am somehow made aware. When a report is received, an individual with the Title IX Office reaches out to provide information about rights and options, including accommodations, support services, the campus disciplinary process, and law enforcement options.

          There is an exception to this reporting requirement about which you should be aware. A list of the designated University employees who, as counselors, confidential advisors, and medical professionals, do not have this reporting responsibility and can maintain confidentiality, can be found here: wecare.illinois.edu/resources/students/#confidential.

          Appointments with our campus's confidential advisors, who are specifically trained to support students who have experienced sexual misconduct, can be made by calling 217-333-3137 or emailing wrcadvocacy@illinois.edu.

          Other information about resources and reporting is available here: wecare.illinois.edu.