Master’s Thesis Presentation • Software Engineering • Fuzzing OpenMP CompilersExport this event to calendar

Friday, June 14, 2024 — 4:00 PM to 5:00 PM EDT

Please note: This master’s thesis presentation will take place online.

Raymond Chang, Master’s candidate
David R. Cheriton School of Computer Science

Supervisor: Professor Chengnian Sun

OpenMP is a widely used API for parallel programming in C/C++ and Fortran. Its flexibility and simplicity have made its usage popular in many numerical or scientific applications. The prevalence of OpenMP programs in such important areas makes its respective compiler’s correctness significant. Unfortunately, OpenMP compilers are not tested as thoroughly as regular C/C++ compilers. More importantly, it is difficult to apply previous mutation-based testing techniques like EMI because of the parallelism in seed programs.

This thesis introduces new fuzz testing approaches specifically for OpenMP compilers. For existing OpenMP programs, we de-parallelize and mutate them with dead code injection and false parallelization. We also transform existing regular C programs into OpenMP programs with template-based mutations. Two test suites were used for the evaluation, the OpenMP Offloading Validation & Verification Suite (SOLLVE VV) and programs generated from Csmith. For SOLLVE VV and with GCC and LLVM, the proposed techniques have been shown to increase coverage by at least 4.4% and 1.81% respectively. Compared to Csmith programs, coverage is improved by at least 3.9% for GCC and 1.85% for LLVM.


To attend this master’s thesis presentation on Zoom, please go to https://uwaterloo.zoom.us/j/99693643894.

Location 
Online master’s thesis presentation
200 University Ave West

Waterloo, ON N2L 3G1
Canada
Event tags 

S M T W T F S
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
  1. 2024 (182)
    1. September (1)
    2. August (4)
    3. July (19)
    4. June (17)
    5. May (23)
    6. April (41)
    7. March (27)
    8. February (25)
    9. January (25)
  2. 2023 (296)
    1. December (20)
    2. November (28)
    3. October (15)
    4. September (25)
    5. August (30)
    6. July (30)
    7. June (22)
    8. May (23)
    9. April (32)
    10. March (31)
    11. February (18)
    12. January (22)
  3. 2022 (245)
  4. 2021 (210)
  5. 2020 (217)
  6. 2019 (255)
  7. 2018 (217)
  8. 2017 (36)
  9. 2016 (21)
  10. 2015 (36)
  11. 2014 (33)
  12. 2013 (23)
  13. 2012 (4)
  14. 2011 (1)
  15. 2010 (1)
  16. 2009 (1)
  17. 2008 (1)