SHF: Small: Pa3S: Towards Pointer Analysis as a Service Grant uri icon

abstract

  • Pointer analysis is a fundamental technique that underpins a wide range of applications in software construction, maintenance and performance optimization, such as compiler optimization, bug detection, security analysis, testing, debugging, verification, program comprehension, and so on. However, despite decades of research there still exists a huge gap between the principled promise of pointer analysis and its practical usage in the real world. Due to the inherent computational complexity of pointer analysis, most production compilers today use only imprecise intra-procedural pointer analyses, and a whole-program interprocedural pointer analysis has rarely been successfully applied to large real-world applications such as the Linux kernel or the Google Chrome browser. This project will create a software as a service (SaaS) platform for pointer analysis, which provides a set of standard APIs for computing pointer analysis and answering pointer analysis queries from users over the Internet, regardless of their applications, execution environments, or physical locations. SaaS provides a promising solution to address the performance and usability challenges of pointer analysis by using a centralized server to compute and memorize the pointer analysis results, and sharing the computation and results effectively among users. To realize such a platform, this project will develop new distributed incremental pointer-analysis algorithms, new APIs for pointer-analysis queries, and evaluations on large-scale applications with compiler optimizations and bug detection. If successful, these techniques will make pointer analysis more scalable and more widely applicable to large complex code bases, eventually leading to faster and more secure end-user software products. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

date/time interval

  • 2020 - 2023