{"title":"用于模块化静态分析的运行时可重用性","authors":"Florian Kübler, Patrick Müller, Ben Hermann","doi":"10.1145/3088515.3088518","DOIUrl":null,"url":null,"abstract":"In order to achieve a higher reusability and testability, static analyses are increasingly being build as modular pipelines of analysis components. However, to build, debug, test, and evaluate these components the complete pipeline has to be executed every time. This process recomputes intermediate results which have already been computed in a previous run but are lost because the preceding process ended and removed them from memory. We propose to leverage runtime reusability for static analysis pipelines and introduce SootKeeper, a framework to modularize static analyses into OSGi (Open Service Gateway initiative) bundles, which takes care of the automatic caching of intermediate results. Little to no change to the original analysis is necessary to use SootKeeper while speeding up the execution of code-build-debug cycles or evaluation pipelines significantly.","PeriodicalId":368102,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis","volume":"64 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"SootKeeper: runtime reusability for modular static analysis\",\"authors\":\"Florian Kübler, Patrick Müller, Ben Hermann\",\"doi\":\"10.1145/3088515.3088518\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In order to achieve a higher reusability and testability, static analyses are increasingly being build as modular pipelines of analysis components. However, to build, debug, test, and evaluate these components the complete pipeline has to be executed every time. This process recomputes intermediate results which have already been computed in a previous run but are lost because the preceding process ended and removed them from memory. We propose to leverage runtime reusability for static analysis pipelines and introduce SootKeeper, a framework to modularize static analyses into OSGi (Open Service Gateway initiative) bundles, which takes care of the automatic caching of intermediate results. Little to no change to the original analysis is necessary to use SootKeeper while speeding up the execution of code-build-debug cycles or evaluation pipelines significantly.\",\"PeriodicalId\":368102,\"journal\":{\"name\":\"Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis\",\"volume\":\"64 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-06-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3088515.3088518\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3088515.3088518","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
摘要
为了实现更高的可重用性和可测试性,静态分析越来越多地被构建为分析组件的模块化管道。然而,为了构建、调试、测试和评估这些组件,每次都必须执行完整的管道。这个进程重新计算中间结果,这些中间结果已经在前一个运行中计算过,但由于前一个进程结束并将它们从内存中删除而丢失。我们建议利用静态分析管道的运行时可重用性,并引入SootKeeper,这是一个将静态分析模块化到OSGi (Open Service Gateway initiative)包中的框架,它负责中间结果的自动缓存。使用SootKeeper几乎不需要更改原始分析,同时显著加快代码构建调试周期或评估管道的执行。
SootKeeper: runtime reusability for modular static analysis
In order to achieve a higher reusability and testability, static analyses are increasingly being build as modular pipelines of analysis components. However, to build, debug, test, and evaluate these components the complete pipeline has to be executed every time. This process recomputes intermediate results which have already been computed in a previous run but are lost because the preceding process ended and removed them from memory. We propose to leverage runtime reusability for static analysis pipelines and introduce SootKeeper, a framework to modularize static analyses into OSGi (Open Service Gateway initiative) bundles, which takes care of the automatic caching of intermediate results. Little to no change to the original analysis is necessary to use SootKeeper while speeding up the execution of code-build-debug cycles or evaluation pipelines significantly.