iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: https://api.crossref.org/works/10.1002/CPE.1760
{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,2,9]],"date-time":"2024-02-09T23:28:39Z","timestamp":1707521319372},"reference-count":46,"publisher":"Wiley","issue":"15","license":[{"start":{"date-parts":[[2011,5,2]],"date-time":"2011-05-02T00:00:00Z","timestamp":1304294400000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Concurrency and Computation"],"published-print":{"date-parts":[[2011,10]]},"abstract":"Abstract<\/jats:title>Many profilers for virtual execution environments, such as the Java virtual machine (JVM), are implemented with low\u2010level bytecode instrumentation techniques, which is tedious, error\u2010prone, and complicates maintenance and extension of the tools. In order to reduce the development time and cost, we promote building profilers for the JVM using high\u2010level aspect\u2010oriented programming (AOP). We show that the use of aspects yields concise profilers that are easy to develop, extend, and maintain, because low\u2010level instrumentation details are hidden from the tool developer. In order to build efficient profilers, we introduce inter\u2010advice communication, an extension to common AOP languages that enables efficient data passing between advices that are woven into the same method using local variables. We illustrate our approach with two case studies. First, we show that an existing, instrumentation\u2010based tool for listener latency profiling can be easily recast as an aspect. Second, we present an aspect for comprehensive calling context profiling. In order to reduce profiling overhead, our aspect parallelizes application execution and profile creation, resulting in a speedup of 110% on a machine with more than two cores, compared with\na primitive, non\u2010parallel approach. Copyright \u00a9 2011 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/cpe.1760","type":"journal-article","created":{"date-parts":[[2011,5,3]],"date-time":"2011-05-03T02:43:31Z","timestamp":1304390611000},"page":"1749-1773","source":"Crossref","is-referenced-by-count":14,"title":["Flexible and efficient profiling with aspect\u2010oriented programming"],"prefix":"10.1002","volume":"23","author":[{"given":"Walter","family":"Binder","sequence":"first","affiliation":[]},{"given":"Danilo","family":"Ansaloni","sequence":"additional","affiliation":[]},{"given":"Alex","family":"Villaz\u00f3n","sequence":"additional","affiliation":[]},{"given":"Philippe","family":"Moret","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2011,5,2]]},"reference":[{"key":"e_1_2_11_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/949344.949425"},{"key":"e_1_2_11_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/974044.974067"},{"key":"e_1_2_11_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/1411732.1411751"},{"key":"e_1_2_11_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.890"},{"key":"e_1_2_11_6_2","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1145\/1480945.1480967","volume-title":"PEPM '09: Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation","author":"Moret P","year":"2009"},{"key":"e_1_2_11_7_2","unstructured":"Sun Microsystems Inc. JVM Tool Interface (JVMTI) Version 1.1 2006. Available at:http:\/\/java.sun.com\/javase\/6\/docs\/platform\/jvmti\/jvmti.html[19 April2011]."},{"key":"e_1_2_11_8_2","unstructured":"The Apache Jakarta Project. The Byte Code Engineering Library (BCEL). Available at:http:\/\/jakarta.apache.org\/bcel\/[19 April2011]."},{"key":"e_1_2_11_9_2","unstructured":"OW2 Consortium. ASM\u2014A Java bytecode engineering library. Available at:http:\/\/asm.ow2.org\/[19 April2011]."},{"key":"e_1_2_11_10_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45102-1_16"},{"key":"e_1_2_11_11_2","doi-asserted-by":"crossref","unstructured":"Vall\u00e9e\u2010RaiR GagnonE HendrenLJ LamP PominvilleP SundaresanV.Optimizing Java bytecode using the Soot framework: Is it feasible? Compiler Construction the Ninth International Conference (CC 2000) Berlin Germany 2000;18\u201334.","DOI":"10.1007\/3-540-46423-9_2"},{"key":"e_1_2_11_12_2","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0053381"},{"key":"e_1_2_11_13_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45337-7_18"},{"key":"e_1_2_11_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/1052898.1052906"},{"key":"e_1_2_11_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/1411732.1411754"},{"key":"e_1_2_11_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/1509239.1509249"},{"key":"e_1_2_11_17_2","doi-asserted-by":"crossref","unstructured":"Villaz\u00f3nA BinderW MoretP AnsaloniD. Comprehensive aspect weaving for Java. Science of Computer Programming 2010. Available at:http:\/\/dx.doi.org\/10.1016\/j.scico.2010.04.007[19 April2011].","DOI":"10.1016\/j.scico.2010.04.007"},{"key":"e_1_2_11_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/1294325.1294344"},{"key":"e_1_2_11_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258924"},{"key":"e_1_2_11_20_2","unstructured":"ArnoldM SweeneyPF.Approximating the calling context tree via sampling. Research Report RC21789 IBM T.J. Watson Research Center July2000."},{"key":"e_1_2_11_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/337449.337483"},{"key":"e_1_2_11_22_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.562"},{"key":"e_1_2_11_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134012"},{"key":"e_1_2_11_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297035"},{"key":"e_1_2_11_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_2_11_26_2","unstructured":"The Standard Performance Evaluation Corporation. SPECjvm2008 Benchmarks 2008. Available at:http:\/\/www.spec.org\/jvm2008\/[19 April2011]."},{"key":"e_1_2_11_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/1621607.1621621"},{"key":"e_1_2_11_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/1596655.1596672"},{"key":"e_1_2_11_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/1712605.1712616"},{"key":"e_1_2_11_30_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.788"},{"key":"e_1_2_11_31_2","first-page":"183","volume-title":"Middleware '08: Proceedings of the Ninth ACM\/IFIP\/USENIX International Conference on Middleware","author":"Benavides LD","year":"2008"},{"key":"e_1_2_11_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/1173706.1173733"},{"key":"e_1_2_11_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976276"},{"key":"e_1_2_11_34_2","series-title":"The Java Series","volume-title":"The Java Language Specification","author":"Gosling J","year":"2005"},{"key":"e_1_2_11_35_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.391.0211"},{"key":"e_1_2_11_36_2","unstructured":"NetBeans. The NetBeans Profiler Project. Available at:http:\/\/profiler.netbeans.org\/[19 April2011]."},{"key":"e_1_2_11_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.35"},{"key":"e_1_2_11_38_2","first-page":"191","volume-title":"PLDI 2005: Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation","author":"Luk C\u2010K","year":"2005"},{"key":"e_1_2_11_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.37"},{"key":"e_1_2_11_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640101"},{"key":"e_1_2_11_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/1356058.1356083"},{"key":"e_1_2_11_42_2","unstructured":"BrueningD GarnettT AmarasingheS.An infrastructure for adaptive dynamic optimization. CGO 2003: Proceedings of the International Symposium on Code Generation and Optimization San Francisco CA U.S.A. 2003;265\u2013276."},{"key":"e_1_2_11_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/1064979.1065000"},{"key":"e_1_2_11_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167483"},{"key":"e_1_2_11_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/508386.508404"},{"key":"e_1_2_11_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643614"},{"key":"e_1_2_11_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/QEST.2008.39"}],"container-title":["Concurrency and Computation: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fcpe.1760","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.1760","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,11]],"date-time":"2023-10-11T23:01:17Z","timestamp":1697065277000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/cpe.1760"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,5,2]]},"references-count":46,"journal-issue":{"issue":"15","published-print":{"date-parts":[[2011,10]]}},"alternative-id":["10.1002\/cpe.1760"],"URL":"http:\/\/dx.doi.org\/10.1002\/cpe.1760","archive":["Portico"],"relation":{},"ISSN":["1532-0626","1532-0634"],"issn-type":[{"value":"1532-0626","type":"print"},{"value":"1532-0634","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011,5,2]]}}}