{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,7]],"date-time":"2024-09-07T19:35:57Z","timestamp":1725737757514},"publisher-location":"Berlin, Heidelberg","reference-count":33,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642390371"},{"type":"electronic","value":"9783642390388"}],"license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013]]},"DOI":"10.1007\/978-3-642-39038-8_15","type":"book-chapter","created":{"date-parts":[[2013,6,25]],"date-time":"2013-06-25T14:29:00Z","timestamp":1372170540000},"page":"352-377","source":"Crossref","is-referenced-by-count":6,"title":["Enabling Modularity and Re-use in Dynamic Program Analysis Tools for the Java Virtual Machine"],"prefix":"10.1007","author":[{"given":"Danilo","family":"Ansaloni","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stephen","family":"Kell","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yudi","family":"Zheng","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lubom\u00edr","family":"Bulej","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Walter","family":"Binder","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Petr","family":"T\u016fma","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"15_CR1","doi-asserted-by":"crossref","unstructured":"Ammons, G., Ball, T., Larus, J.R.: Exploiting hardware performance counters with flow and context sensitive profiling. In: Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 85\u201396. ACM (1997)","DOI":"10.1145\/258916.258924"},{"key":"15_CR2","doi-asserted-by":"crossref","unstructured":"Ansaloni, D., Binder, W., Villaz\u00f3n, A., Moret, P.: Parallel dynamic analysis on multicores with aspect-oriented programming. In: AOSD 2010: Proceedings of the 9th International Conference on Aspect-Oriented Software Development, pp. 1\u201312. ACM Press (March 2010)","DOI":"10.1145\/1739230.1739232"},{"key":"15_CR3","doi-asserted-by":"crossref","unstructured":"Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanovi\u0107, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: Proc. 21st ACM SIGPLAN Conf. on Object-Oriented Programing, Systems, Languages, and Applications, OOPSLA 2006 (2006)","DOI":"10.1145\/1167473.1167488"},{"key":"15_CR4","doi-asserted-by":"crossref","unstructured":"Bodden, E., Havelund, K.: Racer: effective race detection using AspectJ. In: Proc. Int. Symp. on Software Testing and Analysis, ISSTA 2008, pp. 155\u2013166. ACM (2008)","DOI":"10.1145\/1390630.1390650"},{"key":"15_CR5","unstructured":"Cantrill, B.M., Shapiro, M.W., Leventhal, A.H.: Dynamic instrumentation of production systems. In: Proc. USENIX Annual Technical Conference, ATEC 2004, p. 2. USENIX Association (2004)"},{"key":"15_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"313","DOI":"10.1007\/3-540-45102-1_16","volume-title":"ECOOP 2000 - Object-Oriented Programming","author":"S. Chiba","year":"2000","unstructured":"Chiba, S.: Load-time structural reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol.\u00a01850, pp. 313\u2013336. Springer, Heidelberg (2000)"},{"key":"15_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"364","DOI":"10.1007\/978-3-540-39815-8_22","volume-title":"Generative Programming and Component Engineering","author":"S. Chiba","year":"2003","unstructured":"Chiba, S., Nishizawa, M.: An easy-to-use toolkit for efficient Java bytecode translators. In: Pfenning, F., Macko, M. (eds.) GPCE 2003. LNCS, vol.\u00a02830, pp. 364\u2013376. Springer, Heidelberg (2003)"},{"issue":"5","key":"15_CR8","doi-asserted-by":"publisher","first-page":"88","DOI":"10.1145\/503271.503223","volume":"26","author":"Y. Coady","year":"2001","unstructured":"Coady, Y., Kiczales, G., Feeley, M., Smolyn, G.: Using aspectC to improve the modularity of path-specific customization in operating system code. SIGSOFT Softw. Eng. Notes\u00a026(5), 88\u201398 (2001)","journal-title":"SIGSOFT Softw. Eng. Notes"},{"key":"15_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"29","DOI":"10.1007\/3-540-45241-9_3","volume-title":"Practical Aspects of Declarative Languages","author":"A. Courtney","year":"2001","unstructured":"Courtney, A.: Frapp\u00e9: Functional reactive programming in Java. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol.\u00a01990, pp. 29\u201344. Springer, Heidelberg (2001)"},{"key":"15_CR10","unstructured":"Enck, W., Gilbert, P., Chun, B.-G., Cox, L.P., Jung, J., McDaniel, P., Sheth, A.N.: TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones. In: Proc. 9th USENIX Conference on Operating Systems Design and Implementation, OSDI 2010, pp. 1\u20136. USENIX Association (2010)"},{"key":"15_CR11","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. In: Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 121\u2013133. ACM (2009)","DOI":"10.1145\/1543135.1542490"},{"key":"15_CR12","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Freund, S.N.: The RoadRunner dynamic analysis framework for concurrent programs. In: Proc. 9th Workshop on Program Analysis for Software Tools and Engineering, PASTE 2010, pp. 1\u20138. ACM (2010)","DOI":"10.1145\/1806672.1806674"},{"key":"15_CR13","doi-asserted-by":"crossref","unstructured":"Graham, S.L., Kessler, P.B., Mckusick, M.K.: Gprof: A call graph execution profiler. In: Proc. SIGPLAN Symposium on Compiler Construction, SIGPLAN 1982, pp. 120\u2013126. ACM (1982)","DOI":"10.1145\/872726.806987"},{"key":"15_CR14","doi-asserted-by":"crossref","unstructured":"Hertz, M., Blackburn, S.M., Moss, J.E.B., McKinley, K.S., Stefanovi\u0107, D.: Error-free garbage collection traces: how to cheat and not get caught. In: Proc. ACM SIGMETRICS Int. Conf. on Measurement and Modeling of Computer Systems, SIGMETRICS 2002, pp. 140\u2013151. ACM (2002)","DOI":"10.1145\/511348.511352"},{"key":"15_CR15","unstructured":"Hollingsworth, J., Niam, O., Miller, B., Xu, Z., Goncalves, M., Zheng, L.: MDL: a language and compiler for dynamic program instrumentation. In: Proc. Conf. Parallel Architectures and Compilation Techniques, pp. 201\u2013212. IEEE (1997)"},{"issue":"11","key":"15_CR16","doi-asserted-by":"publisher","first-page":"1054","DOI":"10.1016\/j.scico.2010.04.009","volume":"76","author":"M. Jovic","year":"2011","unstructured":"Jovic, M., Hauswirth, M.: Listener latency profiling: Measuring the perceptible performance of interactive java applications. Science of Computer Programming\u00a076(11), 1054\u20131072 (2011)","journal-title":"Science of Computer Programming"},{"key":"15_CR17","doi-asserted-by":"crossref","unstructured":"Jump, M., McKinley, K.S.: Dynamic shape analysis via degree metrics. In: Proc. Int. Symp. on Memory Management, ISMM 2009, pp. 119\u2013128. ACM (2009)","DOI":"10.1145\/1542431.1542449"},{"key":"15_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1007\/3-540-45337-7_18","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 327\u2013353. Springer, Heidelberg (2001)"},{"key":"15_CR19","unstructured":"Lattner, C., Adve, V.: LLVM: A compilation framework for lifelong program analysis & transformation. In: Proc. Int. Symp. on Code Generation and Optimization, CGO 2004 (2004)"},{"key":"15_CR20","unstructured":"Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley (1999)"},{"key":"15_CR21","unstructured":"Luk, C.-K., Cohn, R., Muth, R., Ptil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V., Hazelwood, K.: Pin: Building customized program analysis tools with dynamic instrumentation. In: Proce. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 191\u2013200. ACM (2005)"},{"key":"15_CR22","unstructured":"Maier, I., Odersky, M.: Deprecating the Observer Pattern with Scala.react. Technical report, EPFL (2012)"},{"key":"15_CR23","doi-asserted-by":"crossref","unstructured":"Marek, L., Villaz\u00f3n, A., Zheng, Y., Ansaloni, D., Binder, W., Qi, Z.: DiSL: a domain-specific language for bytecode instrumentation. In: Proc. 11th Int. Conf. on Aspect-Oriented Software Development, pp. 239\u2013250 (2012)","DOI":"10.1145\/2162049.2162077"},{"key":"15_CR24","doi-asserted-by":"crossref","unstructured":"Meyerovich, L.A., Guha, A., Baskin, J., Cooper, G.H., Greenberg, M., Bromfield, A., Krishnamurthi, S.: Flapjax: a programming language for Ajax applications. In: 24th ACM SIGPLAN Conf. on Object Oriented Programming: Systems Languages and Applications, OOPSLA 2009, pp. 1\u201320. ACM (2009)","DOI":"10.1145\/1640089.1640091"},{"key":"15_CR25","doi-asserted-by":"crossref","unstructured":"Nethercote, N., Seward, J.: Valgrind: A framework for heavyweight dynamic binary instrumentation. In: Proc. ACM SIGPLAN 2007 Conf. on Programming Language Design and Implementation, pp. 89\u2013100. ACM (2007)","DOI":"10.1145\/1250734.1250746"},{"key":"15_CR26","doi-asserted-by":"crossref","unstructured":"Ricci, N.P., Guyer, S.Z., Moss, J.E.B.: Elephant Tracks: generating program traces with object death records. In: Proc. 9th Int. Conf. on Principles and Practice of Programming in Java, PPPJ 2011, pp. 139\u2013142. ACM (2011)","DOI":"10.1145\/2093157.2093178"},{"issue":"3","key":"15_CR27","doi-asserted-by":"publisher","first-page":"579","DOI":"10.1109\/TSE.2011.42","volume":"38","author":"D. Rothlisberger","year":"2012","unstructured":"Rothlisberger, D., Harry, M., Binder, W., Moret, P., Ansaloni, D., Villazon, A., Nierstrasz, O.: Exploiting dynamic information in ides improves speed and correctness of software maintenance tasks. IEEE Transactions on Software Engineering\u00a038(3), 579\u2013591 (2012)","journal-title":"IEEE Transactions on Software Engineering"},{"issue":"4","key":"15_CR28","doi-asserted-by":"publisher","first-page":"391","DOI":"10.1145\/265924.265927","volume":"15","author":"S. Savage","year":"1997","unstructured":"Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst.\u00a015(4), 391\u2013411 (1997)","journal-title":"ACM Trans. Comput. Syst."},{"key":"15_CR29","doi-asserted-by":"crossref","unstructured":"Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for c. In: Proc. 10th European Software Engineering Conf. Held Jointly with 13th ACM SIGSOFT Int. Symp. on Foundations of Software Engineering, ESEC\/FSE-13, pp. 263\u2013272. ACM (2005)","DOI":"10.1145\/1081706.1081750"},{"key":"15_CR30","doi-asserted-by":"crossref","unstructured":"Shi, Y., Park, S., Yin, Z., Lu, S., Zhou, Y., Chen, W., Zheng, W.: Do I use the wrong definition?: DeFuse: definition-use invariants for detecting concurrency and sequential bugs. In: Proc. ACM Int. Conf. on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 160\u2013174. ACM (2010)","DOI":"10.1145\/1932682.1869474"},{"issue":"1","key":"15_CR31","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1109\/TSE.1986.6312929","volume":"12","author":"R.E. Strom","year":"1986","unstructured":"Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Softw. Eng.\u00a012(1), 157\u2013171 (1986)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"15_CR32","doi-asserted-by":"crossref","unstructured":"Weidendorfer, J.: Sequential performance analysis with callgrind and kcachegrind. In: Resch, M., Keller, R., Himmler, V., Krammer, B., Schulz, A. (eds.) Tools for High Performance Computing, pp. 93\u2013113. Springer (2008)","DOI":"10.1007\/978-3-540-68564-7_7"},{"key":"15_CR33","unstructured":"Zukowski, J.: The Definitive Guide to Java Swing. 3rd edn. Apress (2005)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2013 \u2013 Object-Oriented Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-39038-8_15","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T01:38:25Z","timestamp":1558316305000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-39038-8_15"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013]]},"ISBN":["9783642390371","9783642390388"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-39038-8_15","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2013]]}}}