{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,1]],"date-time":"2026-07-01T15:45:50Z","timestamp":1782920750213,"version":"3.54.5"},"publisher-location":"New York, NY, USA","reference-count":66,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,6,18]],"date-time":"2021-06-18T00:00:00Z","timestamp":1623974400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science Foundation","award":["1613023, 1703598, 1763172, 2006437, 2007737"],"award-info":[{"award-number":["1613023, 1703598, 1763172, 2006437, 2007737"]}]},{"DOI":"10.13039\/501100004608","name":"Natural Science Foundation of Jiangsu Province","doi-asserted-by":"publisher","award":["BK20191247"],"award-info":[{"award-number":["BK20191247"]}],"id":[{"id":"10.13039\/501100004608","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000006","name":"Office of Naval Research","doi-asserted-by":"publisher","award":["N00014-16-1-2913, N00014-18-1-2037"],"award-info":[{"award-number":["N00014-16-1-2913, N00014-18-1-2037"]}],"id":[{"id":"10.13039\/100000006","id-type":"DOI","asserted-by":"publisher"}]},{"name":"National Science Foundation of China","award":["61932021, 61802168"],"award-info":[{"award-number":["61932021, 61802168"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,6,19]]},"DOI":"10.1145\/3453483.3454096","type":"proceedings-article","created":{"date-parts":[[2021,6,24]],"date-time":"2021-06-24T16:58:49Z","timestamp":1624553929000},"page":"1080-1094","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":14,"title":["JPortal: precise and efficient control-flow tracing for JVM programs with Intel processor trace"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4566-7488","authenticated-orcid":false,"given":"Zhiqiang","family":"Zuo","sequence":"first","affiliation":[{"name":"Nanjing University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kai","family":"Ji","sequence":"additional","affiliation":[{"name":"Nanjing University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yifei","family":"Wang","sequence":"additional","affiliation":[{"name":"Nanjing University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wei","family":"Tao","sequence":"additional","affiliation":[{"name":"Nanjing University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Linzhang","family":"Wang","sequence":"additional","affiliation":[{"name":"Nanjing University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xuandong","family":"Li","sequence":"additional","affiliation":[{"name":"Nanjing University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Guoqing Harry","family":"Xu","sequence":"additional","affiliation":[{"name":"University of California at Los Angeles, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,6,18]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"[n.d.]. ASM: an open-source Java bytecode manipulation and analysis framework. https:\/\/asm.ow2.io\/ Accessed: 2020-10-31.  [n.d.]. ASM: an open-source Java bytecode manipulation and analysis framework. https:\/\/asm.ow2.io\/ Accessed: 2020-10-31."},{"key":"e_1_3_2_1_2_1","unstructured":"[n.d.]. DiSL: an open-source Java bytecode instrumentation framework. https:\/\/disl.ow2.org\/view\/Main\/ Accessed: 2020-10-31.  [n.d.]. DiSL: an open-source Java bytecode instrumentation framework. https:\/\/disl.ow2.org\/view\/Main\/ Accessed: 2020-10-31."},{"key":"e_1_3_2_1_3_1","unstructured":"[n.d.]. DynamoRIO: a runtime code manipulation system. https:\/\/dynamorio.org\/ Accessed: 2020-10-31.  [n.d.]. DynamoRIO: a runtime code manipulation system. https:\/\/dynamorio.org\/ Accessed: 2020-10-31."},{"key":"e_1_3_2_1_4_1","unstructured":"[n.d.]. Dyninst: tools for binary instrumentation analysis and modification. https:\/\/dyninst.org\/ Accessed: 2020-10-31.  [n.d.]. Dyninst: tools for binary instrumentation analysis and modification. https:\/\/dyninst.org\/ Accessed: 2020-10-31."},{"key":"e_1_3_2_1_5_1","unstructured":"[n.d.]. Honggfuzz: a feedback-driven security oriented software fuzzer. http:\/\/honggfuzz.com Accessed: 2020-10-31.  [n.d.]. Honggfuzz: a feedback-driven security oriented software fuzzer. http:\/\/honggfuzz.com Accessed: 2020-10-31."},{"key":"e_1_3_2_1_6_1","unstructured":"[n.d.]. hprof: an open source java profiler. http:\/\/java.sun.com\/developer\/technicalArticles\/Programming\/HPROF.html Accessed: 2020-10-31.  [n.d.]. hprof: an open source java profiler. http:\/\/java.sun.com\/developer\/technicalArticles\/Programming\/HPROF.html Accessed: 2020-10-31."},{"key":"e_1_3_2_1_7_1","unstructured":"[n.d.]. Intel\u00ae VTune\u2122 Profiler: a commercial application for software performance analysis. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/tools\/vtune-profiler.html Accessed: 2020-10-31.  [n.d.]. Intel\u00ae VTune\u2122 Profiler: a commercial application for software performance analysis. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/tools\/vtune-profiler.html Accessed: 2020-10-31."},{"key":"e_1_3_2_1_8_1","volume-title":"JProfiler: a commercial java profiler. https:\/\/www.ej-technologies.com\/products\/jprofiler\/overview.html Accessed","year":"2020","unstructured":"[n.d.]. JProfiler: a commercial java profiler. https:\/\/www.ej-technologies.com\/products\/jprofiler\/overview.html Accessed : 2020 . [n.d.]. JProfiler: a commercial java profiler. https:\/\/www.ej-technologies.com\/products\/jprofiler\/overview.html Accessed: 2020."},{"key":"e_1_3_2_1_9_1","unstructured":"[n.d.]. libipt: an Intel(R) Processor Trace decoder library. https:\/\/github.com\/intel\/libipt Accessed: 2020-10-31.  [n.d.]. libipt: an Intel(R) Processor Trace decoder library. https:\/\/github.com\/intel\/libipt Accessed: 2020-10-31."},{"key":"e_1_3_2_1_10_1","volume-title":"LLVM: a compiler infrastructure. https:\/\/llvm.org\/","year":"2021","unstructured":"[n.d.]. LLVM: a compiler infrastructure. https:\/\/llvm.org\/ 2021 . [n.d.]. LLVM: a compiler infrastructure. https:\/\/llvm.org\/ 2021."},{"key":"e_1_3_2_1_11_1","unstructured":"[n.d.]. perf: a performance analyzing tool in Linux. https:\/\/github.com\/torvalds\/linux\/tree\/master\/tools\/perf Accessed: 2020-10-31.  [n.d.]. perf: a performance analyzing tool in Linux. https:\/\/github.com\/torvalds\/linux\/tree\/master\/tools\/perf Accessed: 2020-10-31."},{"key":"e_1_3_2_1_12_1","unstructured":"[n.d.]. Pin: a dynamic binary instrumentation framework. http:\/\/www.intel.com\/software\/pintool Accessed: 2020-10-31.  [n.d.]. Pin: a dynamic binary instrumentation framework. http:\/\/www.intel.com\/software\/pintool Accessed: 2020-10-31."},{"key":"e_1_3_2_1_13_1","unstructured":"[n.d.]. ptm2human: a decoder for trace data outputted by Embedded Trace Macrocell (ETMv4). https:\/\/github.com\/hwangcc23\/ptm2human Accessed: 2020-10-31.  [n.d.]. ptm2human: a decoder for trace data outputted by Embedded Trace Macrocell (ETMv4). https:\/\/github.com\/hwangcc23\/ptm2human Accessed: 2020-10-31."},{"key":"e_1_3_2_1_14_1","unstructured":"[n.d.]. Soot: an open-source Java compiler infrastructure. https:\/\/github.com\/soot-oss\/soot Accessed: 2020-10-31.  [n.d.]. Soot: an open-source Java compiler infrastructure. https:\/\/github.com\/soot-oss\/soot Accessed: 2020-10-31."},{"key":"e_1_3_2_1_15_1","unstructured":"[n.d.]. Valgrind: an instrumentation framework for building dynamic analysis tools. https:\/\/valgrind.org\/ Accessed: 2020-10-31.  [n.d.]. Valgrind: an instrumentation framework for building dynamic analysis tools. https:\/\/valgrind.org\/ Accessed: 2020-10-31."},{"key":"e_1_3_2_1_16_1","unstructured":"[n.d.]. xprof: the internal profiler for hotspot. http:\/\/java.sun.com\/docs\/books\/performance\/1st edition\/html\/JPAppHotspot.fm.html Accessed: 2020-10-31.  [n.d.]. xprof: the internal profiler for hotspot. http:\/\/java.sun.com\/docs\/books\/performance\/1st edition\/html\/JPAppHotspot.fm.html Accessed: 2020-10-31."},{"key":"e_1_3_2_1_17_1","unstructured":"[n.d.]. YourKit: a commercial java profiler. https:\/\/www.yourkit.com\/ Accessed: 2020-10-31.  [n.d.]. YourKit: a commercial java profiler. https:\/\/www.yourkit.com\/ Accessed: 2020-10-31."},{"key":"e_1_3_2_1_18_1","unstructured":"2019. Arm\u00ae Embedded Trace Macrocell Architecture Specification ETMv4.0 to ETMv4.5.  2019. Arm\u00ae Embedded Trace Macrocell Architecture Specification ETMv4.0 to ETMv4.5."},{"key":"e_1_3_2_1_19_1","volume-title":"Intel\u00ae 64 and IA-32 Architectures Software Developer\u2019s Manual","unstructured":"2019. Intel\u00ae 64 and IA-32 Architectures Software Developer\u2019s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide . 2019. Intel\u00ae 64 and IA-32 Architectures Software Developer\u2019s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258924"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378832"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451128"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541973"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/183432.183527"},{"key":"e_1_3_2_1_25_1","volume-title":"Proceedings of the 29th Annual ACM\/IEEE International Symposium on Microarchitecture (MICRO 29)","author":"Ball Thomas","year":"1867","unstructured":"Thomas Ball and James R. Larus . 1996. Efficient Path Profiling . In Proceedings of the 29th Annual ACM\/IEEE International Symposium on Microarchitecture (MICRO 29) . 46\u201357. isbn:08 1867 6418 Thomas Ball and James R. Larus. 1996. Efficient Path Profiling. In Proceedings of the 29th Annual ACM\/IEEE International Symposium on Microarchitecture (MICRO 29). 46\u201357. isbn:0818676418"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192378"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3321705.3329828"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/876638.876643"},{"key":"e_1_3_2_1_30_1","volume-title":"Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201918)","author":"Cui Weidong","year":"2018","unstructured":"Weidong Cui , Xinyang Ge , Baris Kasikci , Ben Niu , Upamanyu Sharma , Ruoyu Wang , and Insu Yun . 2018 . REPT: Reverse Debugging of Failures in Deployed Software . In Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201918) . 17\u201332. isbn:9781931971478 Weidong Cui, Xinyang Ge, Baris Kasikci, Ben Niu, Upamanyu Sharma, Ruoyu Wang, and Insu Yun. 2018. REPT: Reverse Debugging of Failures in Deployed Software. In Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201918). 17\u201332. isbn:9781931971478"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806672.1806674"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037716"},{"key":"e_1_3_2_1_33_1","volume-title":"Reverse Debugging of Kernel Failures in Deployed Systems. In 2020 USENIX Annual Technical Conference, USENIX ATC 2020","author":"Ge Xinyang","year":"2020","unstructured":"Xinyang Ge , Ben Niu , and Weidong Cui . 2020 . Reverse Debugging of Kernel Failures in Deployed Systems. In 2020 USENIX Annual Technical Conference, USENIX ATC 2020 , July 15-17, 2020, Ada Gavrilovska and Erez Zadok (Eds.). 281\u2013292. https:\/\/www.usenix.org\/conference\/atc20\/presentation\/ge Xinyang Ge, Ben Niu, and Weidong Cui. 2020. Reverse Debugging of Kernel Failures in Deployed Systems. In 2020 USENIX Annual Technical Conference, USENIX ATC 2020, July 15-17, 2020, Ada Gavrilovska and Erez Zadok (Eds.). 281\u2013292. https:\/\/www.usenix.org\/conference\/atc20\/presentation\/ge"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132767"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301678"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134010"},{"key":"e_1_3_2_1_37_1","volume-title":"BIT: A Tool for Instrumenting Java Bytecodes. In USENIX Symposium on Internet Technologies and Systems (USITS 97)","author":"Lee Han Bok","unstructured":"Han Bok Lee and Benjamin G. Zorn . 1997 . BIT: A Tool for Instrumenting Java Bytecodes. In USENIX Symposium on Internet Technologies and Systems (USITS 97) . https:\/\/www.usenix.org\/conference\/usits-97\/bit-tool-instrumenting-java-bytecodes Han Bok Lee and Benjamin G. Zorn. 1997. BIT: A Tool for Instrumenting Java Bytecodes. In USENIX Symposium on Internet Technologies and Systems (USITS 97). https:\/\/www.usenix.org\/conference\/usits-97\/bit-tool-instrumenting-java-bytecodes"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304068"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2017.18"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2162049.2162077"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806618"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491416"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/TIFS.2018.2883027"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062368"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3154502"},{"key":"e_1_3_2_1_47_1","volume-title":"26th USENIX Security Symposium (USENIX Security 17)","author":"Schumilo Sergej","year":"2017","unstructured":"Sergej Schumilo , Cornelius Aschermann , Robert Gawlik , Sebastian Schinzel , and Thorsten Holz . 2017 . kAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels . In 26th USENIX Security Symposium (USENIX Security 17) . 167\u2013182. isbn:978-1-931971-40-9 https:\/\/www.usenix.org\/conference\/usenixsecurity17\/technical-sessions\/presentation\/schumilo Sergej Schumilo, Cornelius Aschermann, Robert Gawlik, Sebastian Schinzel, and Thorsten Holz. 2017. kAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels. In 26th USENIX Security Symposium (USENIX Security 17). 167\u2013182. isbn:978-1-931971-40-9 https:\/\/www.usenix.org\/conference\/usenixsecurity17\/technical-sessions\/presentation\/schumilo"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491447"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449775"},{"key":"e_1_3_2_1_50_1","unstructured":"Suchakra Sharma. 2015. Hardware Tracing for Fast and Precise Performance Analysis. The New Stack 10.  Suchakra Sharma. 2015. Hardware Tracing for Fast and Precise Performance Analysis. The New Stack 10."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1049\/joe.2016.0127"},{"key":"e_1_3_2_1_52_1","volume-title":"BISM: Bytecode-Level Instrumentation for Software Monitoring","author":"Soueidi Chukri","year":"2020","unstructured":"Chukri Soueidi , Ali Kassem , and Yli\u00e8s Falcone . 2020 . BISM: Bytecode-Level Instrumentation for Software Monitoring . In Runtime Verification, Jyotirmoy Deshmukh and Dejan Ni\u010dkovi\u0107 (Eds.). 323\u2013335. isbn:978-3-030-60508-7 Chukri Soueidi, Ali Kassem, and Yli\u00e8s Falcone. 2020. BISM: Bytecode-Level Instrumentation for Software Monitoring. In Runtime Verification, Jyotirmoy Deshmukh and Dejan Ni\u010dkovi\u0107 (Eds.). 323\u2013335. isbn:978-3-030-60508-7"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4419-7563-8_13"},{"key":"#cr-split#-e_1_3_2_1_54_1.1","unstructured":"The same crashes encountered as reported by the following issues when running certain subjects on OpenJDK 12. 2020. https:\/\/github.com\/dacapobench\/dacapobench\/issues\/175"},{"key":"#cr-split#-e_1_3_2_1_54_1.2","unstructured":"The same crashes encountered as reported by the following issues when running certain subjects on OpenJDK 12. 2020. https:\/\/github.com\/dacapobench\/dacapobench\/issues\/175;"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1186\/s42400-018-0018-3"},{"key":"e_1_3_2_1_56_1","volume-title":"Processor Tracing for Virtual Machines. In The Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs).","author":"Wolczko Mario","year":"2017","unstructured":"Mario Wolczko and Cansu Kaynak . 2017 . Processor Tracing for Virtual Machines. In The Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs). Mario Wolczko and Cansu Kaynak. 2017. Processor Tracing for Virtual Machines. In The Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs)."},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384690"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542523"},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806617"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/3330345.3330371"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00018"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00061"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2018.2851237"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984005"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2610384.2610400"}],"event":{"name":"PLDI '21: 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"Virtual Canada","acronym":"PLDI '21","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3453483.3454096","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3453483.3454096","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3453483.3454096","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:47:48Z","timestamp":1750193268000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3453483.3454096"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,6,18]]},"references-count":66,"alternative-id":["10.1145\/3453483.3454096","10.1145\/3453483"],"URL":"https:\/\/doi.org\/10.1145\/3453483.3454096","relation":{},"subject":[],"published":{"date-parts":[[2021,6,18]]},"assertion":[{"value":"2021-06-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}