About Me
This is Xiao Chen (陈骁). Thank you very much for visiting my website.
I am a second-year master student in Computer Science at Northwestern University. Currently, I'm focusing on enforcing the type integrity in gradual typing systems, advised by Prof. Christos Dimoulas.
Previously, I worked with Prof. Simone Campanoni on program analysis and parallelizing compilers, which is part of the NOELLE project.
Academic Background
[Highlight] I'm applying for 24 Fall PhD in Programming Languages.
Research Interests
My research interests primarily lie in the area of Programming Languages, spanning from the theoretical foundation to the implementation of compilers. Broadly speaking, I enjoy designing and implementing new language features that could facilitate the development of programmers.
-
Currently, my research revolves around Complete Monitoring, a property that formalizes the flow of values in gradual typing systems using ownership annotations and propagation rules for ownership to help assess the quality of blame assignments for responsible components when a runtime type mismatch occurs. I've derived new syntactic techniques that help eliminate the necessity for ownership annotations by introducing collecting semantics, along with the rigorous proof to show the program behavior is preserved. The main focus in the future is to enhance the collecting semantics based on uniform rules about how locations are associated with types they must satisfy, so that we could not only track but also enforce the type integrity of the program.
-
Therefore, I'm working on a high-order dynamic semantics that could eagerly check inconsistency in the typing history of each value. Different from the Amnesic semantics, the type history is encoded in the memory instead of being explicitly recorded in the expression. This strategy makes this new semantics more efficient because the type history will be incrementally updated during evaluation, while being decoded and checked only when type mismatch actually happens.
-
Previously, I worked on parallelizing compilers in the NOELLE project, with the goal of mapping programs to a multicore platform gaining nontrivial speedup. Specifically, I implemented a new intraprocedural may points-to analysis, and integrated it into a privatizer that converts dynamic memory allocations and global variables into local variables while preserving program semantics to enable transformations only applicable to AllocaInsts. In addition, this may points-to analysis helped remove overly conservative loop-carried memory dependencies in the program dependence graph to eliminate unnecessary synchronizations and achieve higher speedup for parallelization.
News and Updates
-
Oct. 6, 2023: I'm lucky enough to have some instructive talks with Max, Eric, Edward, Guannan and Pedro in the Midwest PL Summit 2023.
-
Oct. 5, 2023: I'm gonna join the Midwest PL Summit 2023 tomorrow. Ann Arbor is a very beautiful city.
-
Sep. 22, 2023: My work has been completely merged into the NOELLE project.