# Portfolio(程式相關作品集) ## Presentation introduction to profuzz https://www.slideshare.net/slideshow/compiler-fuzzer-prog-fuzz/228654387 Use spike and open source SystemC library to build a PoC virtual platform https://docs.google.com/presentation/d/1fy65IMA9gLl79ZkAcmf-DCeDrQFh3beN5mZRxSBNlKg/edit ## open source contribution gem5 https://github.com/gem5/gem5/issues?q=state%3Aclosed%20is%3Apr%20author%3ATommyWu-fdgkhdkgh --- spike-vp Use spike and VCML to build a SystemC virtual platform. https://github.com/TommyWu-fdgkhdkgh/spike-vp --- glog [Accepted] https://github.com/google/glog/commit/18836106d1fe6893c5cf3db1682b6916fdd4f34c -- this patch make glog 50% faster in specific situaltion -- thank [ᴀᴇsᴏᴘʜᴏʀ](https://github.com/aesophor) for advice. --- QEMU https://lore.kernel.org/all/?q=tommy.wu@sifive.com [Ongoing] target/riscv: Align the AIA model to v1.0 ratified spec https://mail.gnu.org/archive/html/qemu-riscv/2023-08/msg00261.html [Accepted] hw/intc: If mmsiaddrcfgh.L == 1, smsiaddrcfg and smsiaddrcfgh are read-only. https://mail.gnu.org/archive/html/qemu-riscv/2023-06/msg00252.html [Cancel] Refresh the dynamic CSR xml after updating the state of the cpu. https://mail.gnu.org/archive/html/qemu-riscv/2023-05/msg00454.html [Ongoing] target/riscv: Add Smrnmi mnret instruction. https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg05262.html [Accepted] Fix an infinite loop in Xilinx-AXIDMA. https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg04796.html [Duplicated] Fix the type of parent_obj of SiFiveEState. https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg02863.html [Code review] The risc-v disassembler. https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg03771.html [Accepted] Watchdog Timer for HiFive 1 rev b. https://lists.gnu.org/archive/html/qemu-riscv/2022-09/msg00167.html ## course project of nand2tetris https://github.com/fdgkhdkgh/nand2tetris ## course project of linux kernel internals (NCKU) Instructor: Jim Huang (黃敬群) quiz0 https://hackmd.io/@fdgkhdkgh/linux2021-quiz quiz1 : hideproc https://hackmd.io/@fdgkhdkgh/hideproc quiz2 : hazard pointer https://hackmd.io/@fdgkhdkgh/hp ## MediaTek vAward -- 2022/05/15 Develop a framework based on GoogleTest to do UnitTest on Modem firmware code vAward -- 2021/02/08 Reduce the amount of memory used by internal tools. ## Bugs reported 碩士論文:支援多目標的模糊測試,目前的成果 ### CVE CVE-2020-35536: GCC: Bug 93027 - ICE: in match_reload, at lra-constraints.c:1060 CVE-2020-35537: GCC: Bug 93015 - [10 Regression] Segmentation fault (ipcp_store_vr_results(void)) -- 感謝[吳宗遠](https://github.com/zodf0055980)同學幫忙向相關機構回報漏洞 ### binutils afl + coverage guided combinatorial fuzzing test [1]https://sourceware.org/bugzilla/show_bug.cgi?id=25191 [2]https://sourceware.org/bugzilla/show_bug.cgi?id=25196 [3]https://sourceware.org/bugzilla/show_bug.cgi?id=25197 [4]https://sourceware.org/bugzilla/show_bug.cgi?id=25200 [5]https://sourceware.org/bugzilla/show_bug.cgi?id=25220 [6]https://sourceware.org/bugzilla/show_bug.cgi?id=25221 [7]https://sourceware.org/bugzilla/show_bug.cgi?id=25444 [8]https://sourceware.org/bugzilla/show_bug.cgi?id=25629 [9]https://sourceware.org/bugzilla/show_bug.cgi?id=25637 [10]https://sourceware.org/bugzilla/show_bug.cgi?id=25648 [11]https://sourceware.org/bugzilla/show_bug.cgi?id=25651 [12]https://sourceware.org/bugzilla/show_bug.cgi?id=25673 [13]https://sourceware.org/bugzilla/show_bug.cgi?id=25675 [14]https://sourceware.org/bugzilla/show_bug.cgi?id=25687 [15]https://sourceware.org/bugzilla/show_bug.cgi?id=25688 [16]https://sourceware.org/bugzilla/show_bug.cgi?id=25699 [17]https://sourceware.org/bugzilla/show_bug.cgi?id=25714 [18]https://github.com/libjpeg-turbo/libjpeg-turbo/issues/441 -- 感謝[吳宗遠](https://github.com/zodf0055980)同學使用 SQ-Fuzz 發現漏洞並進行回報 ### gcc prog-fuzz + pure combinatorial fuzzing test [1]https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93027 [2]https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93015 ## Phison Electronics intern(群聯電子實習成果) Slides for project https://docs.google.com/presentation/d/1nmhN8VAP7qeqrOc40_hIAZnEUT8oYXoEZwv80twyTyU/edit#slide=id.p ## course project of Parallel Programming @ NCTU, Fall 2020 Instructor : Prof. Yi-Ping You (游逸平) [lab 1](https://github.com/fdgkhdkgh/nctu_parallel_programming_2020/tree/master/hw1) -- part 1 : using SIMD simulation instruction set to parallel a simple program -- part 2 : using llvm to vectorize a simple program, and answer some question about the "loop-access" pass of llvm. [lab 2](https://github.com/fdgkhdkgh/nctu_parallel_programming_2020/tree/master/hw2) -- part 1 : simple pthread programming, calculate pi using rejection sampling -- part 2 : simple std::thread programming to draw Mandelbrot set, learn how to do efficient parallel coding ## course on udemy : Microcontroller Embedded C Programming: absolute beginners [certificate](https://www.udemy.com/certificate/UC-888676ac-230b-4401-be40-46827085fa40/) ## course project of IC LAB(NCTU) [lab01](https://hackmd.io/TMgjXEkhQKulAXu-tDN-_w?view) [lab02](https://hackmd.io/79D1SGH9RIK9j9M3dTFlBg) [lab03](https://hackmd.io/VSxPchwkQRSGhpIwgodanA) ## course project of linux kernel internals (NCKU) Instructor: Jim Huang (黃敬群) homework1(lab0-c) [journal](https://hackmd.io/@a9QcOODkShinCEt-HW_nug/HkXkO-Z48) / [github](https://github.com/fdgkhdkgh/lab0-c) homework2(fibdrv) [journal](https://hackmd.io/@a9QcOODkShinCEt-HW_nug/rJryWXCOI) / [github](https://github.com/fdgkhdkgh/fibdrv) homework4(khttpd) [journal](https://hackmd.io/@a9QcOODkShinCEt-HW_nug/Hy1l1IecL) / [github](https://github.com/fdgkhdkgh/khttpd) ## course project of Software-defined networking (NCTU) A source learning switch with onos https://github.com/fdgkhdkgh/sdn_lab3 ## course project of Operating System Design and Implementation(OSDI)(NCTU) A simple bootable kernel https://github.com/fdgkhdkgh/nctu_osdi_part2 ## course project of advanced unix programming(NCTU) All the labs https://github.com/fdgkhdkgh/nctu_advanced_unix Final project : a simple debugger https://github.com/fdgkhdkgh/simpleDebugger ## course project of network programming(NCTU) All the projects https://github.com/fdgkhdkgh/nctu_network_programming ## course project of operating system(NCTU) single thread, multi client server & multi thread, multi client server take a video, using openalpr to detect License Plate, and then send result to the hadoop distributed file system https://github.com/fdgkhdkgh/os_project ## final project of compiler (National Central University) A Lisp interpreter - Lex and Yacc based. https://github.com/fdgkhdkgh/a_simple_lisp_interpreter