{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:13:18Z","timestamp":1763467998332,"version":"3.41.0"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2010,12,1]],"date-time":"2010-12-01T00:00:00Z","timestamp":1291161600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001868","name":"National Science Council Taiwan","doi-asserted-by":"publisher","award":["NSC95-2221-E-011-227-MY3NSC98-2220-E-194-010NSC98-2221-E-011-065-MY3"],"award-info":[{"award-number":["NSC95-2221-E-011-227-MY3NSC98-2220-E-194-010NSC98-2221-E-011-065-MY3"]}],"id":[{"id":"10.13039\/501100001868","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004725","name":"Ministry of Economic Affairs","doi-asserted-by":"publisher","award":["98-EC-17-A-01-S1-034"],"award-info":[{"award-number":["98-EC-17-A-01-S1-034"]}],"id":[{"id":"10.13039\/501100004725","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2010,12]]},"abstract":"<jats:p>This article proposes an alternative yet effective way of constructing a multiplatform binary translator, by converting a retargetable compiler into a binary translator. The rationale is that a retargetable compiler usually parses source programs into an Intermediate Representation (IR), and then translates IR into object code of different targets after performing analysis and optimizations. Specifically, the mechanism of code generation for multiple platforms from IR is already in place, and the missing link of building a multiplatform binary translator is a tool to transform binary programs back into IR. In order to fill in this missing link, this article presents a tool, called the<jats:italic>disIRer<\/jats:italic>. Just as a translator from machine language to assembly language is called a disassembler, a tool that translates executable binary programs to IR is called here a disIRer. The unique feature of this approach is that the retargetability of the binary translator is inherited directly from the retargetable compiler. A prototype multiplatform binary translator has been implemented upon GCC (the GNU Compiler Collection). DisIRer first converts binary programs back into GCC IR (Intermediate Representation), and afterward the GCC backend translates the IR to target binary programs of specified platforms. Experimental results show that x86 binary programs can be translated by this technique into ARM and Alpha binaries with reasonable code density and quality.<\/jats:p>","DOI":"10.1145\/1880043.1880045","type":"journal-article","created":{"date-parts":[[2011,1,4]],"date-time":"2011-01-04T13:21:46Z","timestamp":1294147306000},"page":"1-36","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["DisIRer"],"prefix":"10.1145","volume":"7","author":[{"given":"Yuan-Shin","family":"Hwang","sequence":"first","affiliation":[{"name":"National Taiwan University of Science and Technology, Taiwan"}]},{"given":"Tzong-Yen","family":"Lin","sequence":"additional","affiliation":[{"name":"National Chung Cheng University, Taiwan"}]},{"given":"Rong-Guey","family":"Chang","sequence":"additional","affiliation":[{"name":"National Chung Cheng University, Taiwan"}]}],"member":"320","published-online":{"date-parts":[[2010,12,30]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Compilers: Principles, Techniques, and Tools","author":"Aho A. V.","year":"2007","unstructured":"Aho , A. V. , Lam , M. S. , Sethi , R. , and Ullman , J. D . 2007 . Compilers: Principles, Techniques, and Tools 2 nd Ed. Addison Wesley . Aho, A. V., Lam, M. S., Sethi, R., and Ullman, J. D. 2007. Compilers: Principles, Techniques, and Tools 2nd Ed. Addison Wesley.","edition":"2"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.964447"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.825694"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/143365.143520"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.982917"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/857076.857077"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/C-M.1976.218504"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Bala V. Duesterwald E. and Banerjia S. 1999. Transparent dynamic optimization: The design and implementation of dynamo. Tech. rep. HPL-1999-78 HP Laboratories. Bala V. Duesterwald E. and Banerjia S. 1999. Transparent dynamic optimization: The design and implementation of dynamo. Tech. rep. HPL-1999-78 HP Laboratories.","DOI":"10.1145\/349299.349303"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349303"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the Winter USENIX Conference. 53--63","author":"Bedichek R.","year":"1990","unstructured":"Bedichek , R. 1990 . Some efficient architecture simulation techniques . In Proceedings of the Winter USENIX Conference. 53--63 . Bedichek, R. 1990. Some efficient architecture simulation techniques. In Proceedings of the Winter USENIX Conference. 53--63."},{"key":"e_1_2_1_11_1","unstructured":"Bergh A. B. Keilman K. Magenheimer D. J. and Miller J. A. 1987. HP 3000 emulation on HP precision architecture computers. Hewlett-Packard J. 87--89. Bergh A. B. Keilman K. Magenheimer D. J. and Miller J. A. 1987. HP 3000 emulation on HP precision architecture computers. Hewlett-Packard J. 87--89."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134760.1220164"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.671403"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.825697"},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Cifuentes C. and Malhotra V. 1996. Binary translation: Static dynamic retargetable&quest; In Proceedings of the International Conference on Software Maintenance. 340--349. Cifuentes C. and Malhotra V. 1996. Binary translation: Static dynamic retargetable&quest; In Proceedings of the International Conference on Software Maintenance. 340--349.","DOI":"10.1109\/ICSM.1996.565037"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/183018.183032"},{"volume-title":"Proceedings of the 3rd Workshop on Parallel and Distributed Real-Time Systems. 193--194","author":"Cogswell B.","key":"e_1_2_1_17_1","unstructured":"Cogswell , B. and Segall , Z . 1995. Timing insensitive binary-to-binary migration across multiprocessor architectures . In Proceedings of the 3rd Workshop on Parallel and Distributed Real-Time Systems. 193--194 . Cogswell, B. and Segall, Z. 1995. Timing insensitive binary-to-binary migration across multiprocessor architectures. In Proceedings of the 3rd Workshop on Parallel and Distributed Real-Time Systems. 193--194."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.591653"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.255.0483"},{"volume-title":"Proceedings of the International Symposium on Code Generation and Optimization (CGO'03)","author":"Dehnert J. C.","key":"e_1_2_1_20_1","unstructured":"Dehnert , J. C. , Grant , B. K. , Banning , J. P. , Johnson , R. , Kistler , T. , Klaiber , A. , and Mattson , J . 2003. The Transmeta code morphing software: Using speculation, recovery, and adaptive retranslation to address real-life challenges . In Proceedings of the International Symposium on Code Generation and Optimization (CGO'03) . 15--24. Dehnert, J. C., Grant, B. K., Banning, J. P., Johnson, R., Kistler, T., Klaiber, A., and Mattson, J. 2003. The Transmeta code morphing software: Using speculation, recovery, and adaptive retranslation to address real-life challenges. In Proceedings of the International Symposium on Code Generation and Optimization (CGO'03). 15--24."},{"volume-title":"Proceedings of the 35th Annual ACM\/IEEE International Symposium on Microarchitecture. 257--268","author":"Desoli G.","key":"e_1_2_1_21_1","unstructured":"Desoli , G. , Mateev , N. , Duesterwald , E. , Faraboschi , P. , and Fisher , J. A . 2002. DELI: A new runtime control point . In Proceedings of the 35th Annual ACM\/IEEE International Symposium on Microarchitecture. 257--268 . Desoli, G., Mateev, N., Duesterwald, E., Faraboschi, P., and Fisher, J. A. 2002. DELI: A new runtime control point. In Proceedings of the 35th Annual ACM\/IEEE International Symposium on Microarchitecture. 257--268."},{"key":"e_1_2_1_22_1","unstructured":"Digital. 1995. Freeport express. http:\/\/www.novalink.com\/freeport-express\/. Digital. 1995. Freeport express. http:\/\/www.novalink.com\/freeport-express\/."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.931892"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/264107.264126"},{"key":"e_1_2_1_26_1","unstructured":"GCC. The GNU compiler collection. http:\/\/gcc.gnu.org\/. GCC. The GNU compiler collection. http:\/\/gcc.gnu.org\/."},{"key":"e_1_2_1_27_1","unstructured":"GNU. GNU binary utilities (GNU binutils). http:\/\/www.gnu.org\/software\/binutils\/. GNU. GNU binary utilities (GNU binutils). http:\/\/www.gnu.org\/software\/binutils\/."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.825696"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086228.1086251"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/800182.810410"},{"key":"e_1_2_1_32_1","unstructured":"Intel Corporation. Intel C++ compiler for linux i486 platform. http:\/\/software.intel.com\/en-us\/articles\/intel-c-compiler-professional-edition-for-linux-documentation\/ Intel Corporation. Intel C++ compiler for linux i486 platform. http:\/\/software.intel.com\/en-us\/articles\/intel-c-compiler-professional-edition-for-linux-documentation\/"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1347787.1347807"},{"volume-title":"Proceedings of the International Symposium on Code Generation and Optimization (CGO'03)","author":"Kim H.-S.","key":"e_1_2_1_34_1","unstructured":"Kim , H.-S. and Smith , J. E . 2003. Dynamic binary translation for accumulator-oriented architectures . In Proceedings of the International Symposium on Code Generation and Optimization (CGO'03) . 25--35. Kim, H.-S. and Smith, J. E. 2003. Dynamic binary translation for accumulator-oriented architectures. In Proceedings of the International Symposium on Code Generation and Optimization (CGO'03). 25--35."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1369396.1370017"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/207110.207163"},{"volume-title":"Proceedings of the 30th Annual ACM\/IEEE International Symposium on Microarchitecture. 330--335","author":"Lee C.","key":"e_1_2_1_37_1","unstructured":"Lee , C. , Potkonjak , M. , and Mangione-Smith , W. H . 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communication systems . In Proceedings of the 30th Annual ACM\/IEEE International Symposium on Microarchitecture. 330--335 . Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communication systems. In Proceedings of the 30th Annual ACM\/IEEE International Symposium on Microarchitecture. 330--335."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.27"},{"volume-title":"DisIRer. In Proceedings of 14th Workshop on Compiler Techniques for High-Performance Computing.","author":"Lin T.-Y.","key":"e_1_2_1_39_1","unstructured":"Lin , T.-Y. , Chang , R.-G. , and Hwang , Y . -S. 2008 . DisIRer. In Proceedings of 14th Workshop on Compiler Techniques for High-Performance Computing. Lin, T.-Y., Chang, R.-G., and Hwang, Y.-S. 2008. DisIRer. In Proceedings of 14th Workshop on Compiler Techniques for High-Performance Computing."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/29650.29651"},{"key":"e_1_2_1_42_1","unstructured":"Microsoft. Phoenix. http:\/\/research.microsoft.com\/Phoenix\/. Microsoft. Phoenix. http:\/\/research.microsoft.com\/Phoenix\/."},{"key":"e_1_2_1_43_1","unstructured":"Red Hat Inc. Cygwin. http:\/\/www.cygwin.com\/. Red Hat Inc. Cygwin. http:\/\/www.cygwin.com\/."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/151220.151227"},{"key":"e_1_2_1_45_1","volume-title":"Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann.","author":"Smith J.","year":"2005","unstructured":"Smith , J. and Nair , R . 2005 . Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann. Smith, J. and Nair, R. 2005. Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178260"},{"key":"e_1_2_1_47_1","unstructured":"Srivastava A. and Wall D. W. 1992. A practical system for intermodule code optimization at link-time. Tech. rep. WRL-92-6 Digital Western Research Laboratory. December. Srivastava A. and Wall D. W. 1992. A practical system for intermodule code optimization at link-time. Tech. rep. WRL-92-6 Digital Western Research Laboratory. December."},{"key":"e_1_2_1_48_1","unstructured":"Stallman R. and the GCC Developer Community. GNU compiler collection internals. http:\/\/gcc.gnu.org\/onlinedocs\/gccint\/. Stallman R. and the GCC Developer Community. GNU compiler collection internals. http:\/\/gcc.gnu.org\/onlinedocs\/gccint\/."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1075382.1075386"},{"key":"e_1_2_1_50_1","unstructured":"Thompson T. 1996. An Alpha in PC clothing. In Byte. 195--196. Thompson T. 1996. An Alpha in PC clothing. In Byte. 195--196."},{"key":"e_1_2_1_51_1","unstructured":"TIS. 1995. Tool interface standard (TIS) executable and linking format (ELF) specification version 1.2. http:\/\/refspecs.freestandards.org\/elf\/elf.pdf TIS. 1995. Tool interface standard (TIS) executable and linking format (ELF) specification version 1.2. http:\/\/refspecs.freestandards.org\/elf\/elf.pdf"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/351397.351414"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.393"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/233013.233025"},{"volume-title":"Proceedings of International Conference on Parallel Architectures and Compilation Techniques. 128--138","author":"Yang B.-S.","key":"e_1_2_1_56_1","unstructured":"Yang , B.-S. , Moon , S.-M. , Park , S. , Lee , J. , Lee , S. , Park , J. , Chung , Y. C. , Kim , S. , Ebcioglu , K. , and Altman , E . 1999. LaTTe: A Java VM just-in-time compiler with fast and efficient register allocation . In Proceedings of International Conference on Parallel Architectures and Compilation Techniques. 128--138 . Yang, B.-S., Moon, S.-M., Park, S., Lee, J., Lee, S., Park, J., Chung, Y. C., Kim, S., Ebcioglu, K., and Altman, E. 1999. LaTTe: A Java VM just-in-time compiler with fast and efficient register allocation. In Proceedings of International Conference on Parallel Architectures and Compilation Techniques. 128--138."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017769"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.825695"},{"volume-title":"Proceedings of the International Conference on Signal Processing Applications and Technology.","author":"Zivojnovi\u0107 V.","key":"e_1_2_1_59_1","unstructured":"Zivojnovi\u0107 , V. , Velarde , J. M. , Schl\u00e4ger , C. , and Meyr , H . 1994. DSPstone: A DSP-oriented benchmarking methodology . In Proceedings of the International Conference on Signal Processing Applications and Technology. Zivojnovi\u0107, V., Velarde, J. M., Schl\u00e4ger, C., and Meyr, H. 1994. DSPstone: A DSP-oriented benchmarking methodology. In Proceedings of the International Conference on Signal Processing Applications and Technology."}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1880043.1880045","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1880043.1880045","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T10:52:16Z","timestamp":1750243936000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1880043.1880045"}},"subtitle":["Converting a retargetable compiler into a multiplatform binary translator"],"short-title":[],"issued":{"date-parts":[[2010,12]]},"references-count":56,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2010,12]]}},"alternative-id":["10.1145\/1880043.1880045"],"URL":"https:\/\/doi.org\/10.1145\/1880043.1880045","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2010,12]]},"assertion":[{"value":"2008-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-12-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}