cid 23b01bfd8bfeb483070c97879e7d137638786063d78284997ae908374f93f459 · original · open access · via openalex
Title: Incrementalizing Production CodeQL Analyses Authors: Tamás Szabó Venue: ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) Year: 2023 Canonical: doi:10.1145/3611643.3613860 URL: https://doi.org/10.1145/3611643.3613860 Collector: openalex OA: true ABSTRACT Instead of repeatedly re-analyzing from scratch, an incremental static analysis only analyzes a codebase once completely, and then it updates the previous results based on the code changes. While this sounds promising to achieve speed-ups, the reality is that sophisticated static analyses typically employ features that can ruin incremental performance, such as inter-procedurality or context-sensitivity. In this study, we set out to explore whether incrementalization can help to achieve speed-ups for production CodeQL analyses that provide automated feedback on pull requests on GitHub. We first empirically validate the idea by measuring the potential for reuse on real-world codebases, and then we create a prototype incremental solver for CodeQL that exploits incrementality. We report on experimental results showing that we can indeed achieve update times proportional to the size of the code change, and we also discuss the limitations of our prototype.