{"title":"Java虚拟机上动态程序分析的检测技术比较","authors":"Aibek Sarimbekov","doi":"10.1145/2457392.2457406","DOIUrl":null,"url":null,"abstract":"Dynamic Program Analysis (DPA) tools commonly rely on bytecode instrumentation which is done by means of low-level bytecode manipulation libraries. While providing a lot of flexibility and expressiveness to developers, using those libraries is usually time consuming, error-prone, and tedious. Approaches that leverage aspect-oriented programming (AOP) serve to reduce the development effort by providing higher abstraction layer for creating instrumentations. However, AOP-based tools have certain known limitations, high performance overhead being one of them. This work is intended to help DPA tool developers to choose the proper instrumentation framework that fully satisfies their needs.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Comparison of instrumentation techniques for dynamic program analysis on the Java virtual machine\",\"authors\":\"Aibek Sarimbekov\",\"doi\":\"10.1145/2457392.2457406\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Dynamic Program Analysis (DPA) tools commonly rely on bytecode instrumentation which is done by means of low-level bytecode manipulation libraries. While providing a lot of flexibility and expressiveness to developers, using those libraries is usually time consuming, error-prone, and tedious. Approaches that leverage aspect-oriented programming (AOP) serve to reduce the development effort by providing higher abstraction layer for creating instrumentations. However, AOP-based tools have certain known limitations, high performance overhead being one of them. This work is intended to help DPA tool developers to choose the proper instrumentation framework that fully satisfies their needs.\",\"PeriodicalId\":353153,\"journal\":{\"name\":\"Aspect-Oriented Software Development\",\"volume\":\"2 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-03-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Aspect-Oriented Software Development\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2457392.2457406\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Aspect-Oriented Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2457392.2457406","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Comparison of instrumentation techniques for dynamic program analysis on the Java virtual machine
Dynamic Program Analysis (DPA) tools commonly rely on bytecode instrumentation which is done by means of low-level bytecode manipulation libraries. While providing a lot of flexibility and expressiveness to developers, using those libraries is usually time consuming, error-prone, and tedious. Approaches that leverage aspect-oriented programming (AOP) serve to reduce the development effort by providing higher abstraction layer for creating instrumentations. However, AOP-based tools have certain known limitations, high performance overhead being one of them. This work is intended to help DPA tool developers to choose the proper instrumentation framework that fully satisfies their needs.