BEng in Computer Science, 2022
The Hong Kong University of Science and Technology
I am John LAM (林俊傑, Lam Chun Kit), a PhD student of TACO Lab and ALPACAS group of HKUST under the supervision of Prof. Parreaux and Prof. Goharshady. My research interest is mainly about type system and static analysis for program optimization. I also use techniques from parameterized algorithm for speeding up program analysis, to make the analysis applicable to large scale real world projects.
Abstraction allows us to build more complex programs while maintaining sanity, but this can also hide performance issues, such as accidentally implementing a linear time algorithm with quadratic time complexity, or using the wrong memory causing a 100x slowdown. I believe that with better language design and program optimization, we can make it easier to create correct and efficient programs.
However, static analysis required for program optimization are often computationally expensive, making it hard to scale to programs with over thousand lines of code. In fact, basic problems such as register allocation and instruction scheduling are NP Hard. Existing tools often use heuristics to avoid this issue, which are sometimes brittle and far from optimal. With parameterized algorithms, we can exploit the inherent properties of these problems, such as the control flow graph of C goto-free programs have bounded treewidth, to devise better algorithms that are feasible for larger instances.