计算机科学与探索 ›› 2024, Vol. 18 ›› Issue (10): 2521-2550.DOI: 10.3778/j.issn.1673-9418.2312021
张锦,单泽虎,刘晓东,王文竹,余杰,彭龙,谢启友
出版日期:
2024-10-01
发布日期:
2024-09-29
ZHANG Jin, SHAN Zehu, LIU Xiaodong, WANG Wenzhu, YU Jie, PENG Long, XIE Qiyou
Online:
2024-10-01
Published:
2024-09-29
摘要: 在构建国产软件生态系统中,解决程序的兼容性问题至关重要。随着计算机架构的多样化发展,确保软件能够在不同平台和硬件环境中顺畅运行,已经成为当下软件开发过程中的一项紧迫任务。在此背景下,动态二进制翻译(DBT)技术展现出其重大意义。作为一种实现不同指令集架构(ISA)之间程序或软件互操作性的核心技术,DBT通过运行时指令转换,不仅实现了软件跨平台的兼容运行,也极大地扩展了软件的适用范围和灵活性。然而,DBT技术的引入同样对系统在运行效率和资源利用率方面提出了更高的要求。对DBT技术的相关内容进行了综述,包括其基本工作原理、研究进展、关键技术以及相应的优化方法。介绍了DBT技术的基本原理及发展历程。详细阐述了DBT的研究进展,尤其是在提高翻译准确性和执行效率方面所取得的重要成果。进一步地,对六类DBT优化技术特性进行了介绍,这些技术包括:基于运行时优化、基于控制流优化、基于指令级优化、基于安全性与隔离性优化、基于资源管理优化以及基于软硬件协同优化。分别基于这些关键技术进一步分类总结,介绍了各自的优化技术及面临的挑战。从技术发展趋势、应用领域扩展、性能提升策略等多个角度,对DBT技术未来的研究方向和发展前景进行了探讨。
张锦, 单泽虎, 刘晓东, 王文竹, 余杰, 彭龙, 谢启友. 动态二进制翻译技术综述[J]. 计算机科学与探索, 2024, 18(10): 2521-2550.
ZHANG Jin, SHAN Zehu, LIU Xiaodong, WANG Wenzhu, YU Jie, PENG Long, XIE Qiyou. Comprehensive Review of Research on Dynamic Binary Translation Techniques[J]. Journal of Frontiers of Computer Science and Technology, 2024, 18(10): 2521-2550.
[1] 杨国辉. 核高基: 信息科技产业战略[J]. 中国信息安全, 2010(10): 38-41. YANG G H. NGF: strategy for the information technology industry[J]. China Information Security, 2010(10): 38-41. [2] 倪光南. 奠定中国自主信息产业的硬件和软件基础——试论”核高基”专项[J]. 中国学术期刊文摘, 2009, 15(4): 1. NI G N. Establish the hardware and software foundation of IT industry in China[J]. Chinese Science Abstracts, 2009, 15(4): 1. [3] SITES R L, CHERNOFF A, KIRK M B, et al. Binary translation[J]. Communications of the ACM, 1993, 36(2): 69-81. [4] ALTMAN E R, KAELI D, SHEFFER Y. Welcome to the opportunities of binary translation[J]. Computer, 2000, 33(3): 40-45. [5] PROBST M. Dynamic binary translation[C]//Proceedings of the UKUUG Linux Developer??s Conference, Bristol, Nov 30, 2001. [6] EBCIOGLU K, ALTMAN E, GSCHWIND M, et al. Dynamic binary translation and optimization[J]. IEEE Transactions on Computers, 2001, 50(6): 529-548. [7] ROCHA R S M. Improving memory forensics capabilities on apple m1 computers[D]. Baton Rouge: Louisiana State University and Agricultural & Mechanical College, 2022. [8] CIFUENTES C, MALHOTRA V M. Binary translation: static, dynamic, retargetable?[C]//Proceedings of the 1996 International Conference on Software Maintenance, Monterey, Nov 4-8, 1996. Washington: IEEE Computer Society, 1996: 340-349. [9] 李剑慧, 马湘宁, 朱传琪. 动态二进制翻译与优化技术研究[J]. 计算机研究与发展, 2007, 44(1): 161-168. LI J H, MA X N, ZHU C Q. Dynamic binary translation and optimization[J]. Journal of?Computer Research and Development, 2007, 44(1): 161-168. [10] SPINK T. Efficient cross-architecture hardware virtualisation[D]. Edinburgh: The University of Edinburgh, 2017. [11] 张西超, 郭向英, 赵雷. TCG 动态二进制翻译技术研究[J]. 计算机应用与软件, 2013, 30(11): 34-37. ZHANG X C, GUO X Y, ZHAO L. Research on TCG dynamic binary translation technology[J]. Computer Applications and Software, 2013, 30(11): 34-37. [12] 曹宏嘉. 面向微处理器设计的动态二进制翻译技术研究[D]. 长沙: 国防科学技术大学, 2005. CAO H J. Dynamic binary translation technology for microprocessor design[D]. Changsha: National University of Defense Technology, 2005. [13] GULATI A, HOLLER A, JI M, et al. VMware distributed resource management: design, implementation, and lessons learned[J]. VMware Technical Journal, 2012, 1(1): 45-64. [14] ADAMS K, AGESEN O. A comparison of software and hardware techniques for x86 virtualization[J]. ACM SIGPLAN Notices, 2006, 41(11): 2-13. [15] MA C Q. ARM architecture processor factions explained[J]. Microcomputing, 2016(7): 88-92. [16] GSCHWIND M, ALTMAN E R, SATHAYE S, et al. Dynamic and transparent binary translation[J]. Computer, 2000, 33(3): 54-59. [17] CHERNOFF A, HERDEG M, HOOKWAY R, et al. FX! 32: a profile-directed binary translator[J]. IEEE Micro, 1998, 18(2): 56-64. [18] HOOKWAY R J, HERDEG M A. Digital FX! 32: combining emulation and binary translation[J]. Digital Technical Journal, 1997, 9: 3-12. [19] DE MOOR B, DE GERSEM P, DE SCHUTTER B, et al. DAISY: a database for identification of systems[J]. Journal A, 1997, 38(4): 5. [20] ALTMAN E, GSCHWIND M, SATHAYE S, et al. BOA: the architecture of a binary translation processor: RC 21665[R]. IBM, 2000: 1-33. [21] DEHNERT J C. The transmeta crusoe: VLIW embedded in CISC[C]//Proceedings of the 7th International Workshop on Software and Compilers for Embedded Systems, Vienna, Sep 24-26, 2003. Berlin: Springer. 2003. [22] CIFUENTES C, VAN EMMERIK M. UQBT: adaptable binary translation at low cost[J]. Computer, 2000, 33(3): 60-66. [23] CIFUENTES C, VAN EMMERIK M, RAMSEY N, et al. The University of Queensland binary translator (UQBT) framework[Z]. The University of Queensland, Sun Microsystems, Inc, 2001. [24] UNG D, CIFUENTES C. Optimising hot paths in a dynamic binary translator[J]. ACM SIGARCH Computer Architecture News, 2001, 29(1): 55-65. [25] GARNETT T. Dynamic optimization if IA-32 applications under DynamoRIO[D]. Cambridge: Massachusetts Institute of Technology, 2003. [26] CAI L, WANG Y, CHEN X. Glibc hot spot function assembly optimization for LoongArch[C]//Proceedings of the 2022 41st Chinese Control Conference, Hefei, Jul 25-27, 2022. Piscataway: IEEE, 2022: 2053-2058. [27] HONG D Y, WU J J, LIU Y P, et al. Processor-tracing guided region formation in dynamic binary translation[J]. ACM Transactions on Architecture and Code Optimization, 2018, 15(4): 1-25. [28] LIU Y P, HONG D Y, WU J J, et al. Exploiting SIMD asymmetry in ARM-to-x86 dynamic binary translation[J]. ACM Transactions on Architecture and Code Optimization, 2019, 16(1): 1-24. [29] LI J, WU C, HSU W C. Efficient and effective misaligned data access handling in a dynamic binary translation system[J]. ACM Transactions on Architecture and Code Optimization, 2011, 8(2): 1-29. [30] D??ANTRAS A, GORGOVAN C, GARSIDE J, et al. Optimizing indirect branches in dynamic binary translators[J]. ACM Transactions on Architecture and Code Optimization, 2016, 13(1): 1-25. [31] GUHA A, HAZELWOOD K, SOFFA M L. Memory optimization of dynamic binary translators for embedded systems[J]. ACM Transactions on Architecture and Code Optimization, 2012, 9(3): 1-29. [32] SHEN B Y, HSU W C, YANG W. A retargetable static binary translator for the ARM architecture[J]. ACM Transactions on Architecture and Code Optimization, 2014, 11(2): 1-25. [33] HISER J D, WILLIAMS D W, HU W, et al. Evaluating indirect branch handling mechanisms in software dynamic translation systems[J]. ACM Transactions on Architecture and Code Optimization, 2011, 8(2): 1-28. [34] ZHOU Y, COX A L, DWARKADAS S, et al. The impact of page size and microarchitecture on instruction address translation overhead[J]. ACM Transactions on Architecture and Code Optimization, 2023, 20(3): 1-25. [35] CHEN D, TONG D, YANG C, et al. FlexPointer: fast address translation based on range TLB and tagged pointers[J]. ACM Transactions on Architecture and Code Optimization, 2023, 20(2): 1-24. [36] HWANG Y S, LIN T Y, CHANG R G. DisIRer: converting a retargetable compiler into a multiplatform binary translator[J]. ACM Transactions on Architecture and Code Optimization, 2010, 7(4): 1-36. [37] GORGOVAN C, D'ANTRAS A, LUJáN M. MAMBO: a low-overhead dynamic binary modification tool for ARM[J]. ACM Transactions on Architecture and Code Optimization, 2016, 13(1): 1-26. [38] HONG D Y, HSU C C, CHOU C Y, et al. Optimizing control transfer and memory virtualization in full system emulators[J]. ACM Transactions on Architecture and Code Optimization, 2015, 12(4): 1-24. [39] KUMAR R, MARTíNEZ A, GONZáLEZ A. Efficient power gating of SIMD accelerators through dynamic selective devectorization in an HW/SW codesigned environment[J]. ACM Transactions on Architecture and Code Optimization, 2014, 11(3): 1-23. [40] SPINK T, WAGSTAFF H, FRANKE B. Hardware-accelerated cross-architecture full-system virtualization[J]. ACM Transactions on Architecture and Code Optimization, 2016, 13(4): 1-25. [41] JIN H, LEI B, LIU H, et al. A compilation tool for computation offloading in ReRAM-based CIM architectures[J]. ACM Transactions on Architecture and Code Optimization, 2023, 20(4): 1-25. [42] ZHAO Q, CUTCUTACHE I, WONG W F. PiPA: pipelined profiling and analysis on multicore systems[J]. ACM Transactions on Architecture and Code Optimization, 2010, 7(3): 1-29. [43] JANTZ M R, KULKARNI P A. Exploring single and multilevel JIT compilation policy for modern machines[J]. ACM Transactions on Architecture and Code Optimization, 2013, 10(4): 1-29. [44] REBER B, GOULD M, KNEIPP A H, et al. Cache programming for scientific loops using leases[J]. ACM Transactions on Architecture and Code Optimization, 2023, 20(3): 1-25. [45] TONG X, KOJU T, KAWAHITO M, et al. Optimizing memory translation emulation in full system emulators[J]. ACM Transactions on Architecture and Code Optimization, 2015, 11(4): 1-24. [46] HROUB A, ELRABAA M E S, MUDAWAR M F, et al. Efficient generation of compact execution traces for multicore architectural simulations[J]. ACM Transactions on Architecture and Code Optimization, 2017, 14(3): 1-25. [47] BENZ J, BRINGMANN O. Scenario-aware program specialization for timing predictability[J]. ACM Transactions on Architecture and Code Optimization, 2021, 18(4): 1-26. [48] ASHOURI A H, BIGNOLI A, PALERMO G, et al. MiCOMP: mitigating the compiler phase-ordering problem using optimization sub-sequences and machine learning[J]. ACM Transactions on Architecture and Code Optimization, 2017, 14(3): 1-28. [49] CLEEMPUT J V, COPPENS B, DE SUTTER B. Compiler mitigations for time attacks on modern x86 processors[J]. ACM Transactions on Architecture and Code Optimization, 2012, 8(4): 1-20. [50] STIPI? S, SMILJKOVI? V, UNSAL O, et al. Profile-guided transaction coalescing—lowering transactional overheads by merging transactions[J]. ACM Transactions on Architecture and Code Optimization, 2013, 10(4): 1-18. [51] CHEN K C, CHEN C H. Enabling SIMT execution model on homogeneous multi-core system[J]. ACM Transactions on Architecture and Code Optimization, 2018, 15(1): 1-26. [52] HONG D Y, LIU Y P, FU S Y, et al. Improving SIMD parallelism via dynamic binary translation[J]. ACM Transactions on Embedded Computing Systems, 2018, 17(3): 1-27. [53] BAIOCCHI J A, CHILDERS B R, DAVIDSON J W, et al. Enabling dynamic binary translation in embedded systems with scratchpad memory[J]. ACM Transactions on Embedded Computing Systems, 2013, 11(4): 1-33. [54] CHEN J Y, YANG W, HSU W C, et al. On static binary translation of ARM/Thumb mixed ISA binaries[J]. ACM Transactions on Embedded Computing Systems, 2017, 16(3): 1-25. [55] PARK S, WU Y, LEE J, et al. Multi-objective exploration for practical optimization decisions in binary translation[J]. ACM Transactions on Embedded Computing Systems, 2019, 18(5S): 1-19. [56] MIHAJLOVI? B, ?ILI? ?, GROSS W J. Dynamically instrumenting the QEMU emulator for Linux process trace generation with the GDB debugger[J]. ACM Transactions on Embedded Computing Systems, 2014, 13(5S): 1-18. [57] PARRA P, DA SILVA A, LOSA B, et al. Tailor-made virtualization monitor design for CPU virtualization on LEON processors[J]. ACM Transactions on Embedded Computing Systems, 2023, 22(4): 1-32. [58] ZIEGLER A, GEUS J, HEINLOTH B, et al. Honey, I shrunk the ELFs: lightweight binary tailoring of shared libraries[J]. ACM Transactions on Embedded Computing Systems, 2019, 18(5S): 1-23. [59] ZHANG J, LIU Y, LI H, et al. PTAT: an efficient and precise tool for tracing and profiling detailed TLB misses[J]. ACM Transactions on Embedded Computing Systems, 2018, 17(3): 1-17. [60] SPINK T, WAGSTAFF H, FRANKE B. A retargetable system-level DBT hypervisor[J]. ACM Transactions on Computer Systems, 2020, 36(4): 1-24. [61] BUGNION E, DEVINE S, ROSENBLUM M, et al. Bringing virtualization to the x86 architecture with the original vmware workstation[J]. ACM Transactions on Computer Systems, 2012, 30(4): 1-51. [62] XING T, BARBALACE A, OLIVIER P, et al. H-container: enabling heterogeneous-ISA container migration in edge computing[J]. ACM Transactions on Computer Systems, 2022, 39(1/2/3/4): 1-36. [63] CHIPOUNOV V, KUZNETSOV V, CANDEA G. The S2E platform: design, implementation, and applications[J]. ACM Transactions on Computer Systems, 2012, 30(1): 1-49. [64] ENCK W, GILBERT P, HAN S, et al. TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones[J]. ACM Transactions on Computer Systems, 2014, 32(2): 1-29. [65] MALKHI D, TSAFRIR D. Introduction to the special issue on the award papers of USENIX ATC 2019[J]. ACM Transactions on Computer Systems, 2020, 36(4): 1-2. [66] BLEM E, MENON J, VIJAYARAGHAVAN T, et al. ISA wars: understanding the relevance of ISA being RISC or CISC to performance, power, and energy on modern architectures[J]. ACM Transactions on Computer Systems, 2015, 33(1): 1-34. [67] YANG J, FU C, LIU X Y, et al. Codee: a tensor embedding scheme for binary code search[J]. IEEE Transactions on Software Engineering, 2021, 48(7): 2224-2244. [68] PARK J, LEE S, HONG J, et al. Static analysis of JNI programs via binary decompilation[J]. IEEE Transactions on Software Engineering, 2023, 49(5): 3089-3105. [69] ULLAH S, OH H. BinDiff NN: learning distributed representation of assembly for robust binary diffing against semantic differences[J]. IEEE Transactions on Software Engineering, 2021, 48(9): 3442-3466. [70] XUE Y, XU Z, CHANDRAMOHAN M, et al. Accurate and scalable cross-architecture cross-OS binary code search with emulation[J]. IEEE Transactions on Software Engineering, 2018, 45(11): 1125-1149. [71] HU Y, WANG H, ZHANG Y, et al. A semantics-based hybrid approach on binary code similarity comparison[J]. IEEE Transactions on Software Engineering, 2019, 47(6): 1241-1258. [72] GAO J, JIANG Y, LIU Z, et al. Semantic learning and emulation based cross-platform binary vulnerability seeker[J]. IEEE Transactions on Software Engineering, 2019, 47(11): 2575-2589. [73] HENDERSON A, YAN L K, HU X, et al. DECAF: a platform-neutral whole-system dynamic binary analysis platform[J]. IEEE Transactions on Software Engineering, 2016, 43(2): 164-184. [74] CHIAO M L, CHANG D W. ROSE: a novel flash translation layer for NAND flash memory based on hybrid address translation[J]. IEEE Transactions on Computers, 2011, 60(6): 753-766. [75] KOO G, OH Y, TSENG H W, et al. FLIXR: embedding index into flash translation layer in SSDs[J]. IEEE Transactions on Computers, 2022, 72(1): 250-263. [76] BRANDALERO M, CARRO L, BECK A C S, et al. Multi-target adaptive reconfigurable acceleration for low-power IoT processing[J]. IEEE Transactions on Computers, 2020, 70(1): 83-98. [77] MICHEL L, PéTROT F. Dynamic binary translation of VLIW codes on scalar architectures[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2016, 36(5): 789-800. [78] ROKICKI S, ROHOU E, DERRIEN S. Hybrid-DBT: hardware/software dynamic binary translation targeting VLIW[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 38(10): 1872-1885. [79] FU S Y, HONG D Y, LIU Y P, et al. Efficient and retargetable SIMD translation in a dynamic binary translator[J]. Software: Practice and Experience, 2018, 48(6): 1312-1330. [80] SAIEVA A, KAISER G. Update with care: testing candidate bug fixes and integrating selective updates through binary rewriting[J]. Journal of Systems and Software, 2022, 191: 111381. [81] LAURENZANO M A, ZHANG Y, TANG L, et al. Protean code: achieving near-free online code transformations for warehouse scale computers[C]//Proceedings of the 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture, Cambridge, Dec 13-17, 2014. Washington: IEEE Computer Society, 2014: 558-570. [82] PHAM B, VESELY J, LOH G H, et al. Large pages and light weight memory management in virtualized environments: can you have it both ways?[C]//Proceedings of the 48th International Symposium on Microarchitecture, Hawaii, Dec 5-9, 2015. New York: ACM, 2015: 1-12. [83] MCFARLIN D S, ZILLES C. Bungee jumps: accelerating indirect branches through HW/SW co-design[C]//Proceedings of the 48th International Symposium on Microarchitecture. Hawaii, Dec 5-9, 2015. New York: ACM, 2015: 370-382. [84] CHANG L W, EL HAJJ I, RODRIGUES C, et al. Efficient kernel synthesis for performance portable programming[C]//Proceedings of the 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture, Taipei, China, Oct 15-19, 2016. Washington: IEEE Computer Society, 2016: 1-13. [85] SHEIKH R, CAIN H W, DAMODARAN R. Load value prediction via path-based address prediction: avoiding mispredictions due to conflicting stores[C]//Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture, Cambridge, Oct 14-18, 2017. New York: ACM, 2017: 423-435. [86] MARATHE Y, GULUR N, RYOO J H, et al. CSALT: context switch aware large TLB[C]//Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture, Cambridge, Oct 14-18, 2017. New York: ACM, 2017: 449-462. [87] VILLA O, STEPHENSON M, NELLANS D, et al. NVBit: a dynamic binary instrumentation framework for NVIDIA GPUs[C]//Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Columbus, Oct 12-16, 2019. New York: ACM, 2019: 372-383. [88] KOTRA J B, KALAMATIANOS J. Improving the utilization of micro-operation caches in x86 processors[C]//Proceedings of the 2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture, Oct 17-21, 2020. Washington: IEEE Computer Society, 2020: 160-172. [89] EYERMAN S, HEIRMAN W, VAN DEN STEEN S, et al. Enabling branch-mispredict level parallelism by selectively flushing instructions[C]//Proceedings of the 54th Annual IEEE/ACM International Symposium on Microarchitecture, Greece, Oct 18-22, 2021. Washington: IEEE Computer Society, 2021: 767-778. [90] MOODY L, QI W, SHARIFI A, et al. Speculative code com paction: eliminating dead code via speculative microcode transformations[C]//Proceedings of the 2022 55th IEEE/ACM International Symposium on Microarchitecture, Chicago, Oct 1-5, 2022. Piscataway: IEEE, 2022: 162-180. [91] GOUICEM R, SPROKHOLT D, RUEHL J, et al. Risotto: a dynamic binary translator for weak memory model architectures[C]//Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1, Vancouver, Mar 25-29, 2023. New York: ACM, 2023: 107-122. [92] THEODORIDIS T, GROSSER T, SU Z. Understanding and exploiting optimal function inlining[C]//Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Lausanne, Feb 28-Mar 4, 2022. New York: ACM, 2022: 977-989. [93] HAJINAZAR N, OLIVEIRA G F, GREGORIO S, et al. SIMDRAM: a framework for bit-serial SIMD processing using DRAM[C]//Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Apr 19-23, 2021. New York: ACM, 2021: 329-345. [94] WILLIAMS-KING D, KOBAYASHI H, WILLIAMS-KING K, et al. Egalito: layout-agnostic binary recompilation[C]//Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems, Lausanne, Mar 16-20, 2020. New York: ACM, 2020: 133-147. [95] SCHKUFZA E, WEI M, ROSSBACH C J. Just-in-time compilation for Verilog: a new technique for improving the FPGA programming experience[C]//Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems, Providence, Apr 13-17, 2019. New York: ACM, 2019: 271-286. [96] WANG W, MCCAMANT S, ZHAI A, et al. Enhancing cross-ISA DBT through automatically learned translation rules[J]. ACM SIGPLAN Notices, 2018, 53(2): 84-97. [97] NGUYEN K, FANG L, NAVASCA C, et al. Skyway: connecting managed heaps in distributed big data systems[J]. ACM SIGPLAN Notices, 2018, 53(2): 56-69. [98] BHATTACHARJEE A. Translation-triggered prefetching[C]//Proceedings of the 22nd International Conference on Architectural Support for Programming Languages and Operating Systems, Xi??an, Apr 8-12, 2017. New York: ACM, 2017: 63-76. [99] HASABNIS N, SEKAR R. Lifting assembly to intermediate representation: a novel approach leveraging compilers[C]//Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems, Lausanne, Mar 16-20, 2020. New York: ACM, 2016: 311-324. [100] DING Y, ZHOU M, ZHAO Z, et al. Finding the limit: examining the potential and complexity of compilation scheduling for JIT-based runtime systems[C]//Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, Salt Lake City, Mar 1-5, 2014. New York: ACM, 2014: 607-622. [101] OTTONI G, LIU B. HHVM jump-start: boosting both warmup and steady-state performance at scale[C]//Proceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization, Seoul, Feb 27-Mar 3, 2021. Piscataway: IEEE, 2021: 340-350. [102] ZHAO Z, JIANG Z, CHEN Y, et al. Enhancing atomic instruction emulation for cross-ISA dynamic binary translation[C]//Proceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization , Seoul, Feb 27-Mar 3, 2021. Piscataway: IEEE, 2021: 351-362. [103] PANCHENKO M, AULER R, NELL B, et al. BOLT: a practical binary optimizer for data centers and beyond[C]//Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization, Washington, Feb 16-20, 2019. Washington: IEEE Computer Society, 2019: 2-14. [104] ZHOU R, JONES T M. Janus: statically-driven and profile-guided automatic dynamic binary parallelisation[C]//Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization, Washington, Feb 16-20, 2019. Washington: IEEE Computer Society, 2019: 15-25. [105] COTA E G, BONZINI P, BENNéE A, et al. Cross-ISA machine emulation for multicores[C]//Proceedings of the 2017 IEEE/ACM International Symposium on Code Generation and Optimization, Texas, Feb 4-8, 2017. Washington: IEEE Computer Society, 2017: 210-220. [106] D??ELIA D C, DEMETRESCU C. Flexible on-stack replacement in LLVM[C]//Proceedings of the 2016 International Symposium on Code Generation and Optimization, Barcelona, Mar 12-18, 2016. New York: ACM, 2016: 250-260. [107] HAWKINS B, DEMSKY B, TAYLOR M B. BlackBox: light weight security monitoring for COTS binaries[C]//Proceedings of the 2016 International Symposium on Code Generation and Optimization, Barcelona, Mar 12-18, 2016. New York: ACM, 2016: 261-272. [108] HAWKINS B, DEMSKY B, BRUENING D, et al. Optimizing binary translation of dynamically generated code[C]//Proceedings of the 2015 IEEE/ACM International Symposium on Code Generation and Optimization, San Francisco, Feb 7-11, 2015. Washington: IEEE Computer Society, 2015: 68-78. [109] CHO S, CHEN H, MADAMINOV S, et al. Flick: fast and lightweight ISA-crossing call for heterogeneous-ISA environments[C]//Proceedings of the 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture, May 30-Jun 3, 2020. Washington: IEEE Computer Society, 2020: 187-198. [110] GARZA E, MIRBAGHER-AJORPAZ S, KHAN T A, et al. Bit-level perceptron prediction for indirect branches[C]//Proceedings of the 46th International Symposium on Computer Architecture, Phoenix, Jun 22-26, 2019. New York: ACM, 2019: 27-38. [111] YAN Z, VESELY J, COX G, et al. Hardware translation coherence for virtualized systems[C]//Proceedings of the 44th Annual International Symposium on Computer Architecture, Toronto, Jun 24-28, 2017. New York: ACM, 2017: 430-443. [112] PARK C H, HEO T, JEONG J, et al. Hybrid TLB coalescing: improving TLB translation coverage under diverse fragmented memory allocations[C]//Proceedings of the 44th Annual International Symposium on Computer Architecture, Toronto, Jun 24-28, 2017. New York: ACM, 2017: 444-456. [113] RYOO J H, GULUR N, SONG S, et al. Rethinking TLB designs in virtualized environments: a very large part-of-memory TLB[J]. ACM SIGARCH Computer Architecture News, 2017, 45(2): 469-480. [114] DALL C, LI S W, LIM J T, et al. ARM virtualization: performance and architectural implications[J]. ACM SIGARCH Computer Architecture News, 2016, 44(3): 304-316. [115] CHOUDHURY V, KARWOWSKI J, SABRY A. Symmetries in reversible programming: from symmetric rig groupoids to reversible programming languages[J]. Proceedings of the ACM on Programming Languages, 2022, 6: 1-32. [116] FLüCKIGER O, SCHERER G, YEE M H, et al. Correctness of speculative optimizations with dynamic deoptimization[J]. Proceedings of the ACM on Programming Languages, 2017, 2: 1-28. [117] DISSEGNA S, LOGOZZO F, RANZATO F. Tracing compilation by abstract interpretation[C]//Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, Jan 22-24, 2014. New York: ACM, 2014: 47-59. [118] PULTE C, PICHON-PHARABOD J, KANG J, et al. Promising-ARM/RISC-V: a simpler and faster operational concurrency model[C]//Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, Rome, Jun 22-26, 2019. New York: ACM, 2019: 1-15. [119] BARRIèRE A, BLAZY S, FLüCKIGER O, et al. Formally verified speculation and deoptimization in a JIT compiler[J]. Proceedings of the ACM on Programming Languages, 2021, 5: 1-26. [120] SINGHAL V, PILLAI A A, SAUMYA C, et al. Cornucopia: a framework for feedback guided generation of binaries[C]//Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering, Rochester, Oct 10-14, 2022. New York: ACM, 2022: 1-13. [121] LIU Z. Binary code similarity detection[C]//Proceedings of the 2021 36th IEEE/ACM International Conference on Automated Software Engineering, Melbourne, Nov 15-19, 2021. Washington: IEEE Computer Society, 2021: 1056-1060. [122] HARIRI F, SHI A. SRCIROR: a toolset for mutation testing of c source code and LLVM intermediate representation[C]//Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, Montpellier, Sep 3-7, 2018. New York: ACM, 2018: 860-863. [123] WANG S, WU D. In-memory fuzzing for binary code similarity analysis[C]//Proceedings of the 2017 32nd IEEE/ACM International Conference on Automated Software Engineering, Urbana, Oct 30-Nov 3, 2017. Washington: IEEE Computer Society, 2017: 319-330. [124] KARGéN U, SHAHMEHRI N. Towards robust instruction-level trace alignment of binary code[C]//Proceedings of the 2017 32nd IEEE/ACM International Conference on Automated Software Engineering , Urbana, Oct 30-Nov 3, 2017. Washington: IEEE Computer Society, 2017: 342-352. [125] LEI K, YOU X, YANG H, et al. BiRFIA: selective binary rewriting for function interception on ARM[C]//Proceedings of the 37th International Conference on Supercomputing, Orlando, Jun 21-23, 2023. New York: ACM, 2023: 87-98. [126] ABEL A, REINEKE J. uiCA: accurate throughput prediction of basic blocks on recent Intel microarchitectures[C]//Proceedings of the 36th ACM International Conference on Supercomputing, Jun 28-30, 2022. New York: ACM, 2022: 1-14. [127] LI S, PARK S, MAHLKE S. Sculptor: flexible approximation with selective dynamic loop perforation[C]//Proceedings of the 2018 International Conference on Supercomputing, Beijing, Jun 12-15, 2018. New York: ACM, 2018: 341-351. [128] JIANG P, AGRAWAL G. Efficient SIMD and MIMD parallelization of hash-based aggregation by conflict mitiga-tion[C]//Proceedings of the 2017 International Conference for High Performance Computing, Networking, Storage and Analysis, Denver, Nov 12-17, 2017. New York: ACM, 2017: 1-11. [129] GROSSER T, HOEFLER T. Polly-ACC transparent compilation to heterogeneous hardware[C]//Proceedings of the 2016 International Conference on Supercomputing, Istanbul, Jun 1-3, 2016. New York: ACM, 2016: 1-13. [130] VASILAKIS N, NTOUSAKIS G, HELLER V, et al. Efficient module-level dynamic analysis for dynamic languages with module recontextualization[C]//Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Aug 23-28, 2021. New York: ACM, 2021: 1202-1213. [131] YANG C, LI Y, XU M, et al. TaintStream: fine-grained taint tracking for big data platforms through dynamic code translation[C]//Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Aug 23-28, 2021. New York: ACM, 2021: 806-817. [132] BEN KHADRA M A, STOFFEL D, KUNZ W. Efficient binary-level coverage analysis[C]//Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Nov 6-16, 2020. New York: ACM, 2020: 1153-1164. [133] LI Y, CHEN B, CHANDRAMOHAN M, et al. Steelix: program-state based binary fuzzing[C]//Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, Paderborn, Sep 4-8, 2017. New York: ACM, 2017: 627-637. [134] LIU Y, XIA Y, GUAN H, et al. Concurrent and consistent virtual machine introspection with hardware transactional memory[C]//Proceedings of the 2014 IEEE 20th International Symposium on High Performance Computer Architecture, Orlando, Feb 15-19, 2014. Washington: IEEE Computer Society, 2014: 416-427. [135] WATKINS M A, NOWATZKI T, CARNO A. Software transparent dynamic binary translation for coarse-grain reconfigurable architectures[C]//Proceedings of the 2016 IEEE International Symposium on High Performance Computer Architecture, Barcelona, Mar 12-16, 2016. Washington: IEEE Computer Society, 2016: 138-150. [136] LI Z, YE Y, NEUENDORFFER S, et al. Compiler-driven simulation of reconfigurable hardware accelerators[C]//Proceedings of the 2022 IEEE International Symposium on High-Performance Computer Architecture, Orlando, Apr 2-6, 2022. Washington: IEEE Computer Society, 2022: 619-632. [137] HAM M J, LIM G. Making configurable and unified platform, ready for broader future devices[C]//Proceedings of the 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice, Montreal, May 25-31, 2019. Washington: IEEE Computer Society, 2019: 141-150. [138] KIM D, SUMNER W N, ZHANG X, et al. Reuse-oriented reverse engineering of functional components from x86 binaries[C]//Proceedings of the 36th International Conference on Software Engineering, Hyderabad, May 31-Jun 7, 2014. New York: ACM, 2014: 1128-1139. [139] CUI W, GE X, KASIKCI B, et al. REPT: reverse debugging of failures in deployed software[C]//Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation, Carlsbad, Oct 8-10, 2018. Berkeley: USENIX Association, 2018: 17-32. [140] REN Y, ZHOU K, LUAN J, et al. From dynamic loading to extensible transformation: an infrastructure for dynamic library transformation[C]//Proceedings of the 16th USENIX Symposium on Operating Systems Design and Implementation, Jul 11-13, 2022. Berkeley: USENIX Association, 2022: 649-666. [141] WANG W, YEW P C, ZHAI A, et al. A general persistent code caching framework for dynamic binary translation (DBT)[C]//Proceedings of the 2016 USENIX Annual Technical Conference, Santa Clara, Jun 22-24, 2016. Berkeley: USENIX Association, 2016: 591-603. [142] LATTNER C, ADVE V. LLVM: a compilation framework for lifelong program analysis & transformation[C]//Proceedings of the International Symposium on Code Generation and Optimization, Mar 20-24, 2004, San Jose. Washington: IEEE Computer Society, 2004: 75-86. [143] SMITH R, SLOMAN A, GIBSON J. POPLOG??s two-level virtual machine support for interactive languages[M]//Artificial Intelligence. London: Routledge, 2019: 203-231. [144] WENNBORG H, WALFRIDSSON K, SWEDEN A R M, et al. Emulator speed-up using JIT and LLVM[D]. Lund: Lund University, 2010. [145] LAM S K, PITROU A, SEIBERT S. Numba: a LLVM-based Python JIT compiler[C]//Proceedings of the 2nd Workshop on the LLVM Compiler Infrastructure in HPC, Austin, Nov 15, 2015. New York: ACM, 2015: 1-6. [146] LOPES N P, LEE J, HUR C K, et al. Alive2: bounded translation validation for LLVM[C]//Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Jun 20-25, 2021. New York: ACM, 2021: 65-79. [147] ENGELKE A, SCHULZ M. Instrew: leveraging LLVM for high performance dynamic binary instrumentation[C]//Proceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, Mar 17, 2020. New York: ACM, 2020: 172-184. [148] HUBER J, WEI W, GEORGAKOUDIS G, et al. A case study of LLVM-based analysis for optimizing SIMD code generation[C]//Proceedings of the 17th International Workshop on OpenMP, Bristol, Sep 14-16, 2021. Berlin: Springer, 2021: 142-155. [149] WEI G, TAN S, BRA?EVAC O, et al. LLSC: a parallel symbolic execution compiler for LLVM IR[C]//Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Aug 23-28, 2021. New York: ACM, 2021: 1495-1499. [150] TAN Z, CHON Y, KRUSE M, et al. SPLENDID: supporting parallel LLVM-IR enhanced natural decompilation for interactive development[C]//Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Rotterdam, Mar 25-29, 2023. New York: ACM, 2023: 679-693. [151] JIANG H, ZHOU Z, REN Z, et al. CTOS: compiler testing for optimization sequences of LLVM[J]. IEEE Transactions on Software Engineering, 2021, 48(7): 2339-2358. [152] KASAMPALIS T, PARK D, LIN Z, et al. Language-parametric compiler validation with application to LLVM[C]//Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Apr 19-23, 2021. New York: ACM, 2021: 1004-1019. [153] üNAY E, ?NAN B, YI?IT E. Supporting custom instructions with the LLVM compiler for RISC-V processor[EB/OL]. [2023-11-10]. https://arxiv.org/abs/2310.18353. [154] ZHOU J, ROSS K A. Implementing database operations using SIMD instructions[C]//Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data, Madison, Jun 3-6, 2002. New York: ACM, 2002: 145-156. [155] BENACER I, BOYER F R, SAVARIA Y. A fast, single-instruction-multiple-data, scalable priority queue[J]. IEEE Transactions on Very Large Scale Integration Systems, 2018, 26(10): 1939-1952. [156] LI J, ZHANG Q, XU S, et al. Optimizing dynamic binary translation for SIMD instructions[C]//Proceedings of the International Symposium on Code Generation and Optimization, Manhattan, Mar 26-29, 2006. Washington: IEEE Computer Society, 2006. [157] FU S Y, WU J J, HSU W C. Improving SIMD code generation in QEMU[C]//Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, Grenoble, Mar 9-13, 2015. Washington: IEEE Computer Society, 2015: 1233-1236. [158] LIU Y P, HONG D Y, WU J J, et al. Exploiting asymmetric SIMD register configurations in ARM-to-x86 dynamic binary translation[C]//Proceedings of the 2017 26th International Conference on Parallel Architectures and Compilation Techniques, Portland, Sep 9-13, 2017. Washington: IEEE Computer Society, 2017: 343-355. [159] HWU W M W, MAHLKE S A, CHEN W Y, et al. The superblock: an effective technique for VLIW and superscalar compilation[M]//Instruction-Level Parallelism. Boston: Springer, 2011: 229-248. [160] FU S Y, HONG D Y, LIU Y P, et al. Optimizing data per-mutations in structured loads/stores translation and SIMD register mapping for a cross-ISA dynamic binary trans-lator[J]. Journal of Systems Architecture, 2019, 98: 173-190. [161] KNORST T, VICENZI J, JORDAN M G, et al. Unlocking the full potential of heterogeneous accelerators by using a hybrid multi-target binary translator[C]//Proceedings of the 2020 33rd Symposium on Integrated Circuits and Systems Design, Aug 28-Sep 1. Washington: IEEE Computer Society, 2020: 1-6. [162] ARRAS P A, ANDRONIDIS A, PINA L, et al. SaBRe: load-time selective binary rewriting[J]. International Journal on Software Tools for Technology Transfer, 2022, 24(2): 205-223. [163] SZAFRANIEC M, ROZIERE B, LEATHER H, et al. Code translation with compiler representations[EB/OL]. [2023-11-10]. https://arxiv.org/abs/2207.03578. [164] FULLERTON R R, MCWATTERS C S. The production performance benefits from JIT implementation[J]. Journal of Operations Management, 2001, 19(1): 81-96. [165] KULKARNI P A. JIT compilation policy for modern machines[C]//Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, Portland, Oct 22-27, 2011. New York: ACM, 2011: 773-788. [166] WANG W, WU J, GONG X, et al. Improving dynamically-generated code performance on dynamic binary translators[J]. ACM SIGPLAN Notices, 2018, 53(3): 17-30. [167] FESTA M, GERVASONI N, CHERUBIN S, et al. Continuous program optimization via advanced dynamic compilation techniques[C]//Proceedings of the 10th and 8th Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectures and Design Tools and Architectures for Multicore Embedded Computing Platforms, Valencia, Jan 21, 2019. New York: ACM, 2019: 1-6. [168] WESCOTT B. The every computer performance book, chapter 7: modeling computer performance[M]. North Charleston: CreateSpace, 2013. [169] LUK C K, MUTH R, PATIL H, et al. Ispike: a post-link optimizer for the Intel/spl reg/Itanium/spl reg/architecture[C]//Proceedings of the International Symposium on Code Generation and Optimization, Palo Alto, Mar 21-24, 2004. Washington: IEEE Computer Society, 2004: 15-26. [170] GAL A, EICH B, SHAVER M, et al. Trace-based just-in-time type specialization for dynamic languages[J]. ACM SIGPLAN Notices, 2009, 44(6): 465-478. [171] WANG J, PANG J, LIU X, et al. Dynamic translation optimization method based on static pre-translation[J]. IEEE Access, 2019, 7: 21491-21501. [172] ALTMAN E R, EBCIOGLU K, GSCHWIND M, et al. Advances and future challenges in binary translation and optimization[J]. Proceedings of the IEEE, 2001, 89(11): 1710-1722. [173] LIANG Y, SHAO Y, YANG G, et al. Register allocation for QEMU dynamic binary translation systems[J]. International Journal of Hybrid Information Technology, 2015, 8(2): 199-210. [174] 戴涛, 单征, 卢帅兵, 等. 基于优先级动态二进制翻译寄存器分配算法[J]. 浙江大学学报(工学版), 2016, 50(7): 1338-1346. DAI T, SHAN Z, LU S B, et al. Register allocation algorithm of dynamic binary translation based on priority[J]. Journal of Zhejiang University (Engineering Science), 2016, 50(7): 1338-1346. [175] WANG J, PANG J, FU L, et al. A binary translation backend registers allocation algorithm based on priority[C]//Proceedings of the 5th International Conference on GeoSpatial Knowledge and Intelligence, Singapore, Dec 8-10, 2017. Berlin: Springer, 2018: 414-425. [176] 王军, 庞建民, 傅立国, 等. 二进制翻译中动静结合的寄存器分配优化方法[J]. 计算机研究与发展, 2019, 56(4): 708-718. WANG J, PANG J M, FU L G, et al. A dynamic and static combined register mapping method in binary translation[J]. Journal of Computer Research and Development, 2019, 56(4): 708-718. [177] LI M, PANG J, YUE F, et al. Enhancing dynamic binary translation in mobile computing by leveraging polyhedral optimization[J]. Wireless Communications and Mobile Computing, 2021, 2021: 1-12. [178] XIE B, LI X, YAN Y, et al. On-demand triggered memory management unit in dynamic binary translator[C]//Proceedings of the International Symposium on Advanced Parallel Processing Technologies. Singapore: Springer Nature Singapore, 2023: 297-309. [179] KRISTIEN M, SPINK T, CAMPBELL B, et al. Fast and correct load-link/store-conditional instruction handling in DBT systems[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2020, 39(11): 3544-3554. [180] LIN H, DONG Y, CHI W, et al. Efficient dynamic binary translation with accumulative persistent code caching[C]//Proceedings of the 2022 IEEE 28th International Conference on Parallel and Distributed Systems, Nanjing, Jan 10-12, 2023. Washington: IEEE Computer Society, 2023: 458-466. [181] BALL T, LARUS J R. Branch prediction for free[J]. ACM SIGPLAN Notices, 1993, 28(6): 300-313. [182] LUK C K, COHN R, MUTH R, et al. Pin: building customized program analysis tools with dynamic instrumentation[J]. ACM SIGPLAN Notices, 2005, 40(6): 190-200. [183] GOPE D, LIPASTI M H. Bias-free branch predictor[C]//Proceedings of the 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture, Cambridge, Dec 13-17, 2014. Washington: IEEE Computer Society, 2014: 521-532. [184] BALA V, DUESTERWALD E, BANERJIA S. Transparent dynamic optimization: the design and implementation of Dynamo: HPL-1999-78[R]. Cambridge: Hewlett-Packard Laboratories, 1999. [185] ROHOU E, SWAMY B N, SEZNEC A. Branch prediction and the performance of interpreters—don??t trust folklore[C]//Proceedings of the 2015 IEEE/ACM International Symposium on Code Generation and Optimization, Washington, Feb 7-11, 2015. Washington: IEEE Computer Society, 2015: 103-114. [186] KINDER J, ZULEGER F, VEITH H. An abstract interpretation-based framework for control flow reconstruction from binaries[C]//Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation, Savannah, Jan 18-20, 2009. Berlin, Heidelberg: Springer, 2009: 214-228. [187] NIU B, TAN G. Modular control-flow integrity[C]//Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, Edinburgh, Jun 9-11, 2014. New York: ACM, 2014: 577-587. [188] SCHüPBACH A, PETER S, BAUMANN A, et al. Embracing diversity in the Barrelfish manycore operating system[C]//Proceedings of the 2008 Workshop on Managed Many-Core Systems, T?nsberg, Jun 6-Jul 1, 2008. Berlin: Springer-Verlag, 2008. [189] YEE B, SEHR D, DARDYK G, et al. Native client: a sandbox for portable, untrusted x86 native code[J]. Communications of the ACM, 2010, 53(1): 91-99. [190] PAYER M, HARTMANN T, GROSS T R. Safe loading-a foundation for secure execution of untrusted programs[C]//Proceedings of the 2012 IEEE Symposium on Security and Privacy, Washington, May 20-25, 2012. Washington: IEEE Computer Society, 2012: 18-32. [191] SALGADO F, GOMES T, PINTO S, et al. Condition codes evaluation on dynamic binary translation for embedded platforms[J]. IEEE Embedded Systems Letters, 2017, 9(3): 89-92. [192] SALGADO F, GOMES T, TAVARES A, et al. A hardware-assisted translation cache for dynamic binary translation in embedded systems[C]//Proceedings of the 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation, Torino, Sep 4-7, 2018. Washington: IEEE Computer Society, 2018: 307-312. [193] D??ANTRAS A, GORGOVAN C, GARSIDE J, et al. HyperMAMBO-X64: using virtualization to support high-performance transparent binary translation[C]//Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, Xi??an, Apr 8-9, 2017. New York: ACM, 2017: 228-241. [194] ROKICKI S, ROHOU E, DERRIEN S. Hardware-accelerated dynamic binary translation[C]//Proceedings of the Design, Automation & Test in Europe Conference & Exhibition, Antwerp, Mar 27-31, 2017. Washington: IEEE Computer Society, 2017: 1062-1067. [195] AYERS A, SCHOOLER R, METCALF C, et al. Traceback: first fault diagnosis by reconstruction of distributed control flow[C]//Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, Chicago, Jun 12-15, 2005. New York: ACM, 2005: 201-21. [196] HENDERSON A, PRAKASH A, YAN L K, et al. Make it work, make it right, make it fast: building a platform-neutral whole-system dynamic binary analysis platform[C]//Proceedings of the 2014 International Symposium on Software Testing and Analysis, San Jose, Jul 21-25, 2014. New York: ACM, 2014: 248-258. [197] BOYES H, HALLAQ B, CUNNINGHAM J, et al. The industrial internet of things (IIoT): an analysis framework[J]. Computers in Industry, 2018, 101: 1-12. [198] PANCHAL A C, KHADSE V M, MAHALLE P N. Security issues in IIoT: a comprehensive survey of attacks on IIoT and its countermeasures[C]//Proceedings of the 2018 IEEE Global Conference on Wireless Computing and Networking, Lonavala, Nov 23-24 , 2018. Washington: IEEE Computer Society, 2018: 124-130. [199] LU T. A survey on RISC-V security: hardware and architecture[EB/OL]. [2023-11-10]. https://arxiv.org/abs/2107.04175. |
[1] | 郑 重, 陈顼颢, 沈 立, 王志英 . 浮点到定点的高效翻译策略研究[J]. 计算机科学与探索, 2011, 5(5): 446-451. |
阅读次数 | ||||||
全文 |
|
|||||
摘要 |
|
|||||