We propose a novel approach for publishing, linking, and re-using (partial) results of static program analyses and find that it improves the performance of existing analyses, while also providing benefits for other areas of application, including artifact evaluation.
Our research paper Persisting and Reusing Results of Static Program Analyses on a Large Scale was accepted at ASE 2023 in Luxembourg. In our work, we survey 40 state-of-the-art implementations of static program analyses (SPAs) regarding the format and semantics of their outputs. We find that while more and more analyses are built in a modular fashion - and would therefore benefit from using partial or precomputed results - in practice such results are rarely documented or even persisted. To tackle the problem, we propose SPARRI, a novel tool for publishing, reusing, and indexing results of SPAs in a unified, explainable result format. SPARRI provides built-in facilities to reference software artifacts located on Maven central but is extendable to support arbitrary ecosystems and repositories. Our evaluation of SPARRI shows that reusing partial results can reduce execution times for tasks like whole-program call graph construction by up to 92%. Furthermore, we see potential in applying it to other research areas like empirical software studies, benchmark creation, and artifact evaluation.
Persisting and Reusing Results of Static Program Analyses on a Large Scale
Johannes Düsing, Ben Hermann
In Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE 2023).