{"title":"基于静态分析的定制仪器","authors":"T. Gutzmann, Welf Löwe","doi":"10.1145/2002951.2002957","DOIUrl":null,"url":null,"abstract":"Many dynamic analysis tools capture the occurrences of events at runtime. The longer programs are being monitored, the more accurate the data they provide to the user. Then, the runtime overhead must be kept as low as possible, because it decreases the user's productivity.\n Runtime performance overhead occurs due to identifying events, and storing them in a result data-structure.\n We address the latter issue by generating custom-made instrumentation code for each program. By using static analysis to get a priori knowledge about which events of interest can occur and where they can occur, tailored code for storing those events can be generated for each program.\n We evaluate our idea by comparing the runtime overhead of a \"general purpose\" dynamic analysis tool that captures points-to information for Java programs with approaches based on custom-made instrumentation code. Experiments suggest highly reduced performance overhead for the latter.","PeriodicalId":315305,"journal":{"name":"International Workshop on Dynamic Analysis","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Custom-made instrumentation based on static analysis\",\"authors\":\"T. Gutzmann, Welf Löwe\",\"doi\":\"10.1145/2002951.2002957\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Many dynamic analysis tools capture the occurrences of events at runtime. The longer programs are being monitored, the more accurate the data they provide to the user. Then, the runtime overhead must be kept as low as possible, because it decreases the user's productivity.\\n Runtime performance overhead occurs due to identifying events, and storing them in a result data-structure.\\n We address the latter issue by generating custom-made instrumentation code for each program. By using static analysis to get a priori knowledge about which events of interest can occur and where they can occur, tailored code for storing those events can be generated for each program.\\n We evaluate our idea by comparing the runtime overhead of a \\\"general purpose\\\" dynamic analysis tool that captures points-to information for Java programs with approaches based on custom-made instrumentation code. Experiments suggest highly reduced performance overhead for the latter.\",\"PeriodicalId\":315305,\"journal\":{\"name\":\"International Workshop on Dynamic Analysis\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-07-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Workshop on Dynamic Analysis\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2002951.2002957\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop on Dynamic Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2002951.2002957","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Custom-made instrumentation based on static analysis
Many dynamic analysis tools capture the occurrences of events at runtime. The longer programs are being monitored, the more accurate the data they provide to the user. Then, the runtime overhead must be kept as low as possible, because it decreases the user's productivity.
Runtime performance overhead occurs due to identifying events, and storing them in a result data-structure.
We address the latter issue by generating custom-made instrumentation code for each program. By using static analysis to get a priori knowledge about which events of interest can occur and where they can occur, tailored code for storing those events can be generated for each program.
We evaluate our idea by comparing the runtime overhead of a "general purpose" dynamic analysis tool that captures points-to information for Java programs with approaches based on custom-made instrumentation code. Experiments suggest highly reduced performance overhead for the latter.