The project concerns algorithmic solutions for writing fast codes.

How should we write a fast code? This is the main question behind the field of performance engineering. There has been a lot of effort for providing tools and methods to facilitate writing of the fast code. Our project broadly concerns algorithmic and analytic approaches for better understanding and improving the software engineering solutions. For example, parallelization is widely used to achieve performant codes, and there are many solutions which facilitate writing parallel codes. These solutions often involve data structures and algorithms that are the main subject of this project. For instance, Cilksan is a determinacy race detector for parallel Cilk programs which embeds data structures such as union-find structure. Despite its efficiency, it is desirable to improve Cilksan in terms of its speed and memory usage in order to utilize it for finding determinacy bugs in very-large software systems. Our approach in this project is to apply algorithmic techniques to make improve performance engineering tools such as Cilksan.

Research Areas

Impact Areas