{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:25:03Z","timestamp":1750220703023,"version":"3.41.0"},"reference-count":32,"publisher":"Association for Computing Machinery (ACM)","issue":"5s","license":[{"start":{"date-parts":[[2019,10,7]],"date-time":"2019-10-07T00:00:00Z","timestamp":1570406400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2019,10,31]]},"abstract":"<jats:p>\n            An\n            <jats:italic>Intermediate Representation<\/jats:italic>\n            (IR) used by compilers is normally generated\n            <jats:italic>statically<\/jats:italic>\n            , as a result of parsing or analyzing the source program. This paper proposes a completely different type of IR, generated as a result of running the source program, the\n            <jats:italic>output-based IR<\/jats:italic>\n            . There is a practical translation problem where such an IR is useful, in the domain of\n            <jats:italic>test-pattern programs<\/jats:italic>\n            .\n          <\/jats:p>\n          <jats:p>Test-pattern programs run on ATE (automatic test equipment), a special embedded system to test semiconductors such as DRAMs. They generate a pattern for each clock, a bit vector input to the pins of the chip. One issue is that different ATEs require different programming since each ATE manufacturer has its own programming language. Nonetheless, we should be able to test a memory chip on different ATEs as long as they generate the same patterns with the same speed. Therefore, a memory chipmaker wants to make a pattern program portable across ATEs, to fully utilize their ATE resources.<\/jats:p>\n          <jats:p>One solution is translating between pattern programs, for which we need an IR since there are multiple source ATEs and target ATEs. Instead of a conventional, static IR, we propose using the output pattern itself as an IR. Since the pattern is independent of ATEs and easily obtainable, the output-based IR obviates designing a static IR considering all ATE programming languages and hardware differences. Moreover, we might synthesize a better target program from the IR, more optimized to the target ATE. However, the full pattern generated by a product-level pattern program is huge, so we propose using an IR of abbreviated patterns, annotated with the repetition information obtained while executing the source program. Our experimental results with product-level pattern programs show that our approach is feasible.<\/jats:p>","DOI":"10.1145\/3358186","type":"journal-article","created":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T13:13:05Z","timestamp":1570713185000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Output-based Intermediate Representation for Translation of Test-pattern Program"],"prefix":"10.1145","volume":"18","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2675-1999","authenticated-orcid":false,"given":"Minsu","family":"Kim","sequence":"first","affiliation":[{"name":"Seoul National University, Seoul, South Korea"}]},{"given":"Jeong-Keun","family":"Park","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, South Korea"}]},{"given":"Sungyeol","family":"Kim","sequence":"additional","affiliation":[{"name":"Samsung Electronics Co., Ltd, Hwaseong, South Korea"}]},{"given":"Insu","family":"Yang","sequence":"additional","affiliation":[{"name":"Samsung Electronics Co., Ltd, Hwaseong, South Korea"}]},{"given":"Hyunsoo","family":"Jung","sequence":"additional","affiliation":[{"name":"Samsung Electronics Co., Ltd, Hwaseong, South Korea"}]},{"given":"Soo-Mook","family":"Moon","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, South Korea"}]}],"member":"320","published-online":{"date-parts":[[2019,10,7]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"crossref","unstructured":"R. Dean Adams. 2003. High Performance Memory Testing: Design Principles Fault Modeling and Self-Test (Frontiers in Electronic Testing). DOI:https:\/\/doi.org\/10.1007\/b101876  R. Dean Adams. 2003. High Performance Memory Testing: Design Principles Fault Modeling and Self-Test (Frontiers in Electronic Testing). DOI:https:\/\/doi.org\/10.1007\/b101876","DOI":"10.1007\/b101876"},{"key":"e_1_2_1_2_1","volume-title":"JEDEC standard: DDR4 SDRAM: JESD79-4A","author":"JEDEC Solid State Technology Association","year":"2012","unstructured":"JEDEC Solid State Technology Association . 2012. JEDEC standard: DDR4 SDRAM: JESD79-4A . September 2012 (2012). JEDEC Solid State Technology Association. 2012. JEDEC standard: DDR4 SDRAM: JESD79-4A. September 2012 (2012)."},{"key":"e_1_2_1_3_1","first-page":"44","article-title":"Ruby on rails","volume":"26","author":"B\u00e4chle Michael","year":"2006","unstructured":"Michael B\u00e4chle and Jochen Ritscher . 2006 . Ruby on rails . Softwaretechnik-Trends 26 , 4 (2006), 44 -- 47 . Michael B\u00e4chle and Jochen Ritscher. 2006. Ruby on rails. Softwaretechnik-Trends 26, 4 (2006), 44--47.","journal-title":"Softwaretechnik-Trends"},{"key":"e_1_2_1_4_1","series-title":"Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-642-22110-1_13","volume-title":"The BINCOA framework for binary code analysis","author":"Bardin S\u00e9bastien","unstructured":"S\u00e9bastien Bardin , Philippe Herrmann , J\u00e9r\u00f4me Leroux , Olivier Ly , Renaud Tabary , and Aymeric Vincent . 2011. The BINCOA framework for binary code analysis . In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-642-22110-1_13 S\u00e9bastien Bardin, Philippe Herrmann, J\u00e9r\u00f4me Leroux, Olivier Ly, Renaud Tabary, and Aymeric Vincent. 2011. The BINCOA framework for binary code analysis. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-642-22110-1_13"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2003.1191551"},{"key":"e_1_2_1_6_1","volume-title":"Schwartz","author":"Brumley David","year":"2011","unstructured":"David Brumley , Ivan Jager , Thanassis Avgerinos , and Edward J . Schwartz . 2011 . BAP : A binary analysis platform. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) . DOI:https:\/\/doi.org\/10.1007\/978-3-642-22110-1_37 arxiv:1301.4779 David Brumley, Ivan Jager, Thanassis Avgerinos, and Edward J. Schwartz. 2011. BAP: A binary analysis platform. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-642-22110-1_37 arxiv:1301.4779"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3168806"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Philippe Clauss B\u00e9n\u00e9dicte Kenmei and Jean Christophe Beyler. 2005. The periodic-linear model of program behavior capture. 325--335. DOI:https:\/\/doi.org\/10.1007\/11549468_38  Philippe Clauss B\u00e9n\u00e9dicte Kenmei and Jean Christophe Beyler. 2005. The periodic-linear model of program behavior capture. 325--335. DOI:https:\/\/doi.org\/10.1007\/11549468_38","DOI":"10.1007\/11549468_38"},{"key":"e_1_2_1_9_1","volume-title":"Bailey","author":"Comfort John J.","year":"1987","unstructured":"John J. Comfort , Paul A. Hayter , Dinesh Kargathra , Brian R. Mason , Graham N. Turner , Ian R. Fisher , and John W . Bailey . 1987 . Automatic Test Equipment . John J. Comfort, Paul A. Hayter, Dinesh Kargathra, Brian R. Mason, Graham N. Turner, Ian R. Fisher, and John W. Bailey. 1987. Automatic Test Equipment."},{"volume-title":"IEEE Standard Test Interface Language (STIL) for Digital Test Vector Data- Core Test Language","author":"IEEE Computer Society","key":"e_1_2_1_10_1","unstructured":"IEEE Computer Society . 2006. IEEE Standard Test Interface Language (STIL) for Digital Test Vector Data- Core Test Language . Vol. 1999 . DOI:https:\/\/doi.org\/10.1109\/IEEESTD.1999.90563 IEEE Computer Society. 2006. IEEE Standard Test Interface Language (STIL) for Digital Test Vector Data- Core Test Language. Vol. 1999. DOI:https:\/\/doi.org\/10.1109\/IEEESTD.1999.90563"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"J. K\u00e4rkk\u00e4inen and P. Sanders. 2003. Simple linear work suffix array construction. Colloquium on Automata Languages and Programming (2003). DOI:https:\/\/doi.org\/10.1145\/1217856.1217858  J. K\u00e4rkk\u00e4inen and P. Sanders. 2003. Simple linear work suffix array construction. Colloquium on Automata Languages and Programming (2003). DOI:https:\/\/doi.org\/10.1145\/1217856.1217858","DOI":"10.1145\/1217856.1217858"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1356058.1356071"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2012.47"},{"key":"e_1_2_1_14_1","series-title":"Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-540-93900-9_19","volume-title":"An abstract interpretation-based framework for control flow reconstruction from binaries","author":"Kinder Johannes","unstructured":"Johannes Kinder , Florian Zuleger , and Helmut Veith . 2009. An abstract interpretation-based framework for control flow reconstruction from binaries . In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-540-93900-9_19 Johannes Kinder, Florian Zuleger, and Helmut Veith. 2009. An abstract interpretation-based framework for control flow reconstruction from binaries. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). DOI:https:\/\/doi.org\/10.1007\/978-3-540-93900-9_19"},{"volume-title":"Dynamic characteristics of loops","year":"1984","key":"e_1_2_1_15_1","unstructured":"Kobayashi. 1984. Dynamic characteristics of loops . IEEE Trans. Comput. C- 33, 2 (feb 1984 ), 125--132. DOI:https:\/\/doi.org\/10.1109\/TC.1984.1676404 Kobayashi. 1984. Dynamic characteristics of loops. IEEE Trans. Comput. C-33, 2 (feb 1984), 125--132. DOI:https:\/\/doi.org\/10.1109\/TC.1984.1676404"},{"key":"e_1_2_1_16_1","first-page":"26","article-title":"A description of the model-view-controller user interface paradigm in the smalltalk-80 system","volume":"1","author":"Krasner Glenn E.","year":"1988","unstructured":"Glenn E. Krasner and Stephen T. Pope . 1988 . A description of the model-view-controller user interface paradigm in the smalltalk-80 system . Journal of Object Oriented Programming 1 , 3 (1988), 26 -- 49 . DOI:https:\/\/doi.org\/10.1.1.47.366 Glenn E. Krasner and Stephen T. Pope. 1988. A description of the model-view-controller user interface paradigm in the smalltalk-80 system. Journal of Object Oriented Programming 1, 3 (1988), 26--49. DOI:https:\/\/doi.org\/10.1.1.47.366","journal-title":"Journal of Object Oriented Programming"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_2_1_18_1","volume-title":"TIE: Principled reverse engineering of types in binary programs. In Network and Distributed System Security.","author":"Lee JongHyup","year":"2011","unstructured":"JongHyup Lee , Thanassis Avgerinos , and David Brumley . 2011 . TIE: Principled reverse engineering of types in binary programs. In Network and Distributed System Security. JongHyup Lee, Thanassis Avgerinos, and David Brumley. 2011. TIE: Principled reverse engineering of types in binary programs. In Network and Distributed System Security."},{"key":"e_1_2_1_19_1","volume-title":"Vijay Janapa Reddi, and Kim Hazelwood","author":"Luk Chi-Keung","year":"2005","unstructured":"Chi-Keung Luk , Robert Cohn , Robert Muth , Harish Patil , Artur Klauser , Geoff Lowney , Steven Wallace , Vijay Janapa Reddi, and Kim Hazelwood . 2005 . Pin : Building customized program analysis tools with dynamic instrumentation. In Programming Language Design and Implementation . DOI:https:\/\/doi.org\/10.1145\/1065010.1065034 arxiv:1003.4074 Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. 2005. Pin: Building customized program analysis tools with dynamic instrumentation. In Programming Language Design and Implementation. DOI:https:\/\/doi.org\/10.1145\/1065010.1065034 arxiv:1003.4074"},{"key":"e_1_2_1_20_1","series-title":"SIAM J. Comput. (1993). DOI:https:\/\/doi.org\/10.1137\/0222058","volume-title":"Suffix arrays: A new method for on-line string searches","author":"Manber Udi","unstructured":"Udi Manber and Gene Myers . 1993. Suffix arrays: A new method for on-line string searches . SIAM J. Comput. (1993). DOI:https:\/\/doi.org\/10.1137\/0222058 Udi Manber and Gene Myers. 1993. Suffix arrays: A new method for on-line string searches. SIAM J. Comput. (1993). DOI:https:\/\/doi.org\/10.1137\/0222058"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEST.2015.7342393"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI\u201907","author":"Nethercote Nicholas","year":"2007","unstructured":"Nicholas Nethercote and Julian Seward . 2007 . Valgrind - a framework for heavyweight dynamic binary instrumentation . Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI\u201907 (2007). DOI:https:\/\/doi.org\/10.1145\/1250734.1250746 Nicholas Nethercote and Julian Seward. 2007. Valgrind - a framework for heavyweight dynamic binary instrumentation. Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI\u201907 (2007). DOI:https:\/\/doi.org\/10.1145\/1250734.1250746"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"C. G. Nevill-Manning and I. H. Witten. 1997. Identifying hierarchical structure in sequences: A linear-time algorithm. 7 (1997) 67--82. arxiv:cs\/9709102 http:\/\/arxiv.org\/abs\/cs\/9709102.  C. G. Nevill-Manning and I. H. Witten. 1997. Identifying hierarchical structure in sequences: A linear-time algorithm. 7 (1997) 67--82. arxiv:cs\/9709102 http:\/\/arxiv.org\/abs\/cs\/9709102.","DOI":"10.1613\/jair.374"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/DCC.2009.42"},{"key":"e_1_2_1_25_1","doi-asserted-by":"crossref","first-page":"156","DOI":"10.1002\/qre.4680080216","article-title":"Testing semiconductor memories: Theory and practice, A. J. van de Goor, Wiley, 1991. Number of pages: 512. Price: \u00a334.95","volume":"8","author":"O\u2019connor P. D. T.","year":"1992","unstructured":"P. D. T. O\u2019connor . 1992 . Testing semiconductor memories: Theory and practice, A. J. van de Goor, Wiley, 1991. Number of pages: 512. Price: \u00a334.95 . Quality and Reliability Engineering 8 , 2 (1992), 156 -- 157 . DOI:https:\/\/doi.org\/10.1002\/qre.4680080216 P. D. T. O\u2019connor. 1992. Testing semiconductor memories: Theory and practice, A. J. van de Goor, Wiley, 1991. Number of pages: 512. Price: \u00a334.95. Quality and Reliability Engineering 8, 2 (1992), 156--157. DOI:https:\/\/doi.org\/10.1002\/qre.4680080216","journal-title":"Quality and Reliability Engineering"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEST.2000.894192"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1379022.1375609"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/566225.513854"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.391376"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings International Test Conference 1996","author":"Taylor T.","year":"1996","unstructured":"T. Taylor and G. A. Maston . 1996. Standard test interface language (STIL) a new language for patterns and waveforms . In Proceedings International Test Conference 1996 . Test and Design Validity. DOI:https:\/\/doi.org\/10.1109\/TEST. 1996 .557091 T. Taylor and G. A. Maston. 1996. Standard test interface language (STIL) a new language for patterns and waveforms. In Proceedings International Test Conference 1996. Test and Design Validity. DOI:https:\/\/doi.org\/10.1109\/TEST.1996.557091"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/SWAT.1973.13"},{"key":"e_1_2_1_32_1","doi-asserted-by":"crossref","unstructured":"Kazuo Yamaguchi. 1989. Test Pattern Generator. DOI:https:\/\/doi.org\/10.1016\/0375-6505(85)90011-2  Kazuo Yamaguchi. 1989. Test Pattern Generator. DOI:https:\/\/doi.org\/10.1016\/0375-6505(85)90011-2","DOI":"10.1016\/0375-6505(85)90011-2"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358186","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3358186","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:32:58Z","timestamp":1750199578000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358186"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,7]]},"references-count":32,"journal-issue":{"issue":"5s","published-print":{"date-parts":[[2019,10,31]]}},"alternative-id":["10.1145\/3358186"],"URL":"https:\/\/doi.org\/10.1145\/3358186","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2019,10,7]]},"assertion":[{"value":"2019-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-10-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}