I'm William Aaron Cheung. You can call me William or Aaron, whichever you find easy to read. My formal name is Wuqi Zhang but it is a bit difficult to pronounce so I prefer to use the previous English name in most informal cases.
I recognize myself as two roles: a Full-Stack Software Developer and a Software Engineering Researcher. Please see explanations bellow.
I am a PhD candidate in the Hong Kong University of Science and Technology (HKUST). I do research in Software Engineering (SE) in CASTLE research group under the supervision of Prof. Shing-Chi Cheung.
My research currently focuses on program analysis and software testing with the application to blockchain applications such as smart contracts and DApps. I am also interested in Deep Learning (DL) application testing, Internet of Things (IoT) software testing, website fingerprinting attack and defense, etc. You can find my research experience and publications in my personal website: https://troublor.xyz
I believe a good SE researcher should be an excellent software engineer in the first place. Therefore, I am also a full stack software developer capable of:
- Web Development with Typescript and React.js
- Server-side Development with Golang, and Node.js
- Command Line Tool development with Golang, Typescript, Rust, and Haskell
- Scripting with Python (yes, Python is just a script language. π§ I don't accept arguments), Bash, and Zsh
- and so many more...
I am passionate in functional programming and strongly typed programming languages, and recently program a lot in Typescript and Haskell.