{"_id":"21598","oa":"1","date_created":"2021-04-08T11:24:59Z","publication":"European Conference on Object-Oriented Programming (ECOOP)","type":"conference","title":"Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis","department":[{"_id":"76"}],"author":[{"id":"60543","first_name":"Philipp","orcid":"0000-0002-8674-1859","last_name":"Schubert","full_name":"Schubert, Philipp"},{"full_name":"Hermann, Ben","last_name":"Hermann","orcid":"0000-0001-9848-2017","id":"66173","first_name":"Ben"},{"id":"59256","first_name":"Eric","full_name":"Bodden, Eric","orcid":"0000-0003-3470-3647","last_name":"Bodden"}],"project":[{"name":"SFB 901 - Project Area B","_id":"3"},{"_id":"12","name":"SFB 901 - Subproject B4"},{"_id":"1","name":"SFB 901"}],"user_id":"60543","abstract":[{"text":"Static analysis is used to automatically detect bugs and security breaches, and aids compileroptimization. Whole-program analysis (WPA) can yield high precision, however causes long analysistimes and thus does not match common software-development workflows, making it often impracticalto use for large, real-world applications.This paper thus presents the design and implementation ofModAlyzer, a novel static-analysisapproach that aims at accelerating whole-program analysis by making the analysis modular andcompositional. It shows how to computelossless, persisted summaries for callgraph, points-to anddata-flow information, and it reports under which circumstances this function-level compositionalanalysis outperforms WPA.We implementedModAlyzeras an extension to LLVM and PhASAR, and applied it to 12 real-world C and C++ applications. At analysis time,ModAlyzermodularly and losslessly summarizesthe analysis effect of the library code those applications share, hence avoiding its repeated re-analysis.The experimental results show that the reuse of these summaries can save, on average, 72% ofanalysis time over WPA. Moreover, because it is lossless, the module-wise analysis fully retainsprecision and recall. Surprisingly, as our results show, it sometimes even yields precision superior toWPA. The initial summary generation, on average, takes about 3.67 times as long as WPA.","lang":"eng"}],"date_updated":"2022-03-25T07:49:35Z","citation":{"bibtex":"@inproceedings{Schubert_Hermann_Bodden_2021, title={Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis}, booktitle={European Conference on Object-Oriented Programming (ECOOP)}, author={Schubert, Philipp and Hermann, Ben and Bodden, Eric}, year={2021} }","ieee":"P. Schubert, B. Hermann, and E. Bodden, “Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis,” 2021.","chicago":"Schubert, Philipp, Ben Hermann, and Eric Bodden. “Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis.” In European Conference on Object-Oriented Programming (ECOOP), 2021.","short":"P. Schubert, B. Hermann, E. Bodden, in: European Conference on Object-Oriented Programming (ECOOP), 2021.","mla":"Schubert, Philipp, et al. “Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis.” European Conference on Object-Oriented Programming (ECOOP), 2021.","apa":"Schubert, P., Hermann, B., & Bodden, E. (2021). Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis. European Conference on Object-Oriented Programming (ECOOP).","ama":"Schubert P, Hermann B, Bodden E. Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis. In: European Conference on Object-Oriented Programming (ECOOP). ; 2021."},"year":"2021","language":[{"iso":"eng"}],"status":"public","main_file_link":[{"open_access":"1","url":"https://drops.dagstuhl.de/opus/volltexte/2021/14045/"}]}