{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T07:03:41Z","timestamp":1777100621423,"version":"3.51.4"},"publisher-location":"New York, NY, USA","reference-count":83,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,27]],"date-time":"2020-06-27T00:00:00Z","timestamp":1593216000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100007515","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCF-1764077, CCF-1527923, CCF-1723773"],"award-info":[{"award-number":["CCF-1764077, CCF-1527923, CCF-1723773"]}],"id":[{"id":"10.13039\/100007515","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100004358","name":"Samsung","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100004358","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Center for Domain-Specific Computing (CDSC) Industrial Partnership Program"},{"DOI":"10.13039\/100007297","name":"Office of Naval Research","doi-asserted-by":"publisher","award":["N00014-18-1-2037"],"award-info":[{"award-number":["N00014-18-1-2037"]}],"id":[{"id":"10.13039\/100007297","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000028","name":"Semiconductor Research Corporation","doi-asserted-by":"publisher","award":["CRISP"],"award-info":[{"award-number":["CRISP"]}],"id":[{"id":"10.13039\/100000028","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100002418","name":"Intel Corporation","doi-asserted-by":"publisher","award":["CAPA grant"],"award-info":[{"award-number":["CAPA grant"]}],"id":[{"id":"10.13039\/100002418","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,27]]},"DOI":"10.1145\/3377811.3380340","type":"proceedings-article","created":{"date-parts":[[2020,10,1]],"date-time":"2020-10-01T18:25:38Z","timestamp":1601576738000},"page":"493-505","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":13,"title":["HeteroRefactor"],"prefix":"10.1145","author":[{"given":"Jason","family":"Lau","sequence":"first","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Aishwarya","family":"Sivaraman","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qian","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Muhammad Ali","family":"Gulzar","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jason","family":"Cong","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Miryung","family":"Kim","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,10]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"GPU Technology Conference (GTC)","volume":"152","author":"Adinetz Andrew V","year":"2014","unstructured":"Andrew V Adinetz and Dirk Pleiter. 2014. Halloc: a high-throughput dynamic memory allocator for GPGPU architectures. In GPU Technology Conference (GTC), Vol. 152."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/360825.360855"},{"key":"e_1_3_2_1_3_1","unstructured":"Amazon.com. 2019. Amazon EC2 F1 Instances: Run Custom FPGAs in the AWS Cloud. https:\/\/aws.amazon.com\/ec2\/instance-types\/f1. (2019)."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840305"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-78791-4_9"},{"key":"e_1_3_2_1_6_1","volume-title":"Learning OpenCV: Computer vision with the OpenCV library","author":"Bradski Gary","unstructured":"Gary Bradski and Adrian Kaehler. 2008. Learning OpenCV: Computer vision with the OpenCV library. O'Reilly Media, Inc."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2554688.2554787"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/3195638.3195647"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3289602.3293919"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3240765.3240850"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009846"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2011.04.217"},{"key":"e_1_3_2_1_13_1","volume-title":"2017 IEEE 25th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, 125--128","author":"Jason Cong Choi","year":"2017","unstructured":"Young-kyu Choi and Jason Cong. 2017. HLScope: High-Level performance debugging for FPGA designs. In 2017 IEEE 25th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, 125--128."},{"key":"e_1_3_2_1_14_1","volume-title":"Single-chip heterogeneous computing: Does the future include custom logic, FPGAs, and GPGPUs?. In 2010 43rd annual IEEE\/ACM international symposium on microarchitecture","author":"Chung Eric S","unstructured":"Eric S Chung, Peter A Milder, James C Hoe, and Ken Mai. 2010. Single-chip heterogeneous computing: Does the future include custom logic, FPGAs, and GPGPUs?. In 2010 43rd annual IEEE\/ACM international symposium on microarchitecture. IEEE, 225--236."},{"key":"e_1_3_2_1_15_1","volume-title":"Chen Zhang, and Peipei Zhou.","author":"Cong Jason","year":"2018","unstructured":"Jason Cong, Zhenman Fang, Yuchen Hao, Peng Wei, Cody Hao Yu, Chen Zhang, and Peipei Zhou. 2018. Best-Effort FPGA Programming: A Few Steps Can Go a Long Way. arXiv preprint arXiv:1807.01340 (2018)."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593069.2596667"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2018.00042"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2009.35"},{"key":"e_1_3_2_1_19_1","volume-title":"FPGAs for Software Programmers","author":"Cong Jason","unstructured":"Jason Cong, Muhuan Huang, Peichen Pan, Yuxin Wang, and Peng Zhang. 2016. Source-to-source optimization for HLS. In FPGAs for Software Programmers. Springer, 137--163."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2934583.2953984"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2011.2110592"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2010.141"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3240765.3240838"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3195970.3195999"},{"key":"e_1_3_2_1_25_1","volume-title":"Module-per-Object: a Human-Driven Methodology for C++-based High-Level Synthesis Design. arXiv preprint arXiv:1903.06693","author":"da Silva Jeferson Santiago","year":"2019","unstructured":"Jeferson Santiago da Silva, Fran\u00e7ois-Raymond Boyer, and JM Langlois. 2019. Module-per-Object: a Human-Driven Methodology for C++-based High-Level Synthesis Design. arXiv preprint arXiv:1903.06693 (2019)."},{"key":"e_1_3_2_1_26_1","volume-title":"Western Joint Computer Conference. ACM, 295--298","author":"La Briandais Rene De","year":"1959","unstructured":"Rene De La Briandais. 1959. File searching using variable length keys. In Papers presented at the the March 3--5, 1959, Western Joint Computer Conference. ACM, 295--298."},{"key":"e_1_3_2_1_27_1","volume-title":"The Daikon system for dynamic detection of likely invariants. Science of computer programming 69, 1--3","author":"Ernst Michael D","year":"2007","unstructured":"Michael D Ernst, Jeff H Perkins, Philip J Guo, Stephen McCamant, Carlos Pacheco, Matthew S Tschantz, and Chen Xiao. 2007. The Daikon system for dynamic detection of likely invariants. Science of computer programming 69, 1--3 (2007), 35--45."},{"key":"e_1_3_2_1_28_1","volume-title":"Allen CH Wu, and Steve YL Lin","author":"Gajski Daniel D","year":"2012","unstructured":"Daniel D Gajski, Nikil D Dutt, Allen CH Wu, and Steve YL Lin. 2012. High---Level Synthesis: Introduction to Chip and System Design. Springer Science & Business Media."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065036"},{"key":"e_1_3_2_1_30_1","volume-title":"Automated White-box Fuzz Testing. In Network Distributed Security Symposium (NDSS). Internet Society. http:\/\/www.truststc.org\/pubs\/499","author":"Godefroid Patrice","year":"2008","unstructured":"Patrice Godefroid, Michael Y. Levin, and David A Molnar. 2008. Automated White-box Fuzz Testing. In Network Distributed Security Symposium (NDSS). Internet Society. http:\/\/www.truststc.org\/pubs\/499.html"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2013.6509694"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2019.00027"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373087.3375332"},{"key":"e_1_3_2_1_35_1","unstructured":"Prabhat Gupta. 2019. Xeon+FPGA Platform for the Data Center. https:\/\/www.archive.ece.cmu.edu\/~calcm\/carl\/lib\/\\exe\/fetch.php?media=carl15-gupta.pdf. (2019)."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCAS.2008.4541637"},{"key":"e_1_3_2_1_37_1","volume-title":"The Collected Works of Wassily Hoeffding","author":"Hoeffding Wassily","unstructured":"Wassily Hoeffding. 1994. Probability inequalities for sums of bounded random variables. In The Collected Works of Wassily Hoeffding. Springer, 409--426."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070541"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/CIT.2010.206"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/369028.369096"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972794"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985815"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393655"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2318734"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2013.6718343"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2016.20"},{"key":"e_1_3_2_1_47_1","volume-title":"Chi-square distribution. Encyclopedia of biostatistics 2","author":"Lancaster Henry Oliver","year":"2005","unstructured":"Henry Oliver Lancaster and Eugene Seneta. 2005. Chi-square distribution. Encyclopedia of biostatistics 2 (2005)."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065579.1065799"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.1265817"},{"key":"e_1_3_2_1_50_1","volume-title":"Synthesis and optimization of digital circuits","author":"Micheli Giovanni De","unstructured":"Giovanni De Micheli. 1994. Synthesis and optimization of digital circuits. McGraw-Hill Higher Education."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070529"},{"key":"e_1_3_2_1_52_1","first-page":"8","article-title":"Nvidia CUDA C programming guide","volume":"120","year":"2011","unstructured":"Nvidia. 2011. Nvidia CUDA C programming guide. Nvidia Corporation 120, 18 (2011), 8.","journal-title":"Nvidia Corporation"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/359605.359626"},{"key":"e_1_3_2_1_55_1","volume-title":"Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 157--162","author":"Pham Nam Khanh","year":"2015","unstructured":"Nam Khanh Pham, Amit Kumar Singh, Akash Kumar, and Mi Mi Aung Khin. 2015. Exploiting loop-array dependencies to accelerate the design space exploration with high level synthesis. In 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 157--162."},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2435264.2435273"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2678373.2665678"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2018.00015"},{"key":"e_1_3_2_1_59_1","volume-title":"Cetus users and compiler infrastructure workshop, in conjunction with PACT","author":"Quinlan Dan","unstructured":"Dan Quinlan and Chunhua Liao. 2011. The ROSE source-to-source compiler infrastructure. In Cetus users and compiler infrastructure workshop, in conjunction with PACT, Vol. 2011. Citeseer, 1."},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2014.6983050"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2018.00011"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884850"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2503210.2503296"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASICON.2011.6157401"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45234-8_29"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"crossref","unstructured":"Adrian Sampson Pavel Panchekha Todd Mytkowicz Kathryn S. McKinley Dan Grossman and Luis Ceze. 2014. Expressing and Verifying Probabilistic Assertions. In PLDI.","DOI":"10.1145\/2594291.2594294"},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081750"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3230733"},{"key":"e_1_3_2_1_69_1","volume-title":"Accelerating Face Detection on Programmable SoC Using C-Based Synthesis. In 25th ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays.","author":"Srivastava Nitish","year":"2017","unstructured":"Nitish Srivastava, Steve Dai, Rajit Manohar, and Zhiru Zhang. 2017. Accelerating Face Detection on Programmable SoC Using C-Based Synthesis. In 25th ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays."},{"key":"e_1_3_2_1_70_1","volume-title":"ScatterAlloc: Massively parallel dynamic memory allocation for the GPU. In 2012 Innovative Parallel Computing (InPar)","author":"Steinberger Markus","unstructured":"Markus Steinberger, Michael Kenzel, Bernhard Kainz, and Dieter Schmalstieg. 2012. ScatterAlloc: Massively parallel dynamic memory allocation for the GPU. In 2012 Innovative Parallel Computing (InPar). IEEE, 1--10."},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349317"},{"key":"e_1_3_2_1_72_1","volume-title":"OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in science & engineering 12, 3","author":"Stone John E","year":"2010","unstructured":"John E Stone, David Gohara, and Guochun Shi. 2010. OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in science & engineering 12, 3 (2010), 66--73."},{"key":"e_1_3_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/1108792.1108802"},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2016.7760777"},{"key":"e_1_3_2_1_75_1","volume-title":"Templatised Soft Floating-Point for High-Level Synthesis. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE.","author":"Thomas David B","year":"2019","unstructured":"David B Thomas. 2019. Templatised Soft Floating-Point for High-Level Synthesis. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE."},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227190"},{"key":"e_1_3_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-60368-9_19"},{"key":"e_1_3_2_1_78_1","unstructured":"Xilinx. 2019. UltraScale Architecture and Product Data Sheet: Overview. https:\/\/www.xilinx.com\/support\/documentation\/data_sheets\/ds890-ultrascale-overview.pdf. (2019)."},{"key":"e_1_3_2_1_79_1","unstructured":"Xilinx. 2019. Vivado High-Level Synthesis. https:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration\/esl-design.html. (2019)."},{"key":"e_1_3_2_1_80_1","unstructured":"Xilinx. 2019. Xilinx Virtex UltraScale+ FPGA VCU1525. https:\/\/www.xilinx.com\/products\/boards-and-kits\/vcu1525-a.html. (2019)."},{"key":"e_1_3_2_1_81_1","volume-title":"2015 25th International Conference on Field Programmable Logic and Applications (FPL). IEEE, 1--7.","author":"Xue Zeping","year":"2015","unstructured":"Zeping Xue and David B Thomas. 2015. SysAlloc: A hardware manager for dynamic memory allocation in heterogeneous systems. In 2015 25th International Conference on Field Programmable Logic and Applications (FPL). IEEE, 1--7."},{"key":"e_1_3_2_1_82_1","volume-title":"SynADT: Dynamic Data Structures in High Level Synthesis. In 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, 64--71","author":"Xue Zeping","year":"2016","unstructured":"Zeping Xue and David B Thomas. 2016. SynADT: Dynamic Data Structures in High Level Synthesis. In 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, 64--71."},{"key":"e_1_3_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/3195970.3196109"},{"key":"e_1_3_2_1_84_1","volume-title":"Wenping Wang, and Zhiru Zhang.","author":"Zhou Yuan","year":"2018","unstructured":"Yuan Zhou, Udit Gupta, Steve Dai, Ritchie Zhao, Nitish Srivastava, Hanchen Jin, Joseph Featherston, Yi-Hsiang Lai, Gai Liu, Gustavo Angarita Velasquez, Wenping Wang, and Zhiru Zhang. 2018. Rosetta: A Realistic High-Level Synthesis Benchmark Suite for Software-Programmable FPGAs. Int'l Symp. on Field-Programmable Gate Arrays (FPGA) (Feb 2018)."},{"key":"e_1_3_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1109\/CODES-ISSS.2013.6659002"}],"event":{"name":"ICSE '20: 42nd International Conference on Software Engineering","location":"Seoul South Korea","acronym":"ICSE '20","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","KIISE Korean Institute of Information Scientists and Engineers","IEEE CS"]},"container-title":["Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380340","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3377811.3380340","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3377811.3380340","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:57Z","timestamp":1750202637000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380340"}},"subtitle":["refactoring for heterogeneous computing with FPGA"],"short-title":[],"issued":{"date-parts":[[2020,6,27]]},"references-count":83,"alternative-id":["10.1145\/3377811.3380340","10.1145\/3377811"],"URL":"https:\/\/doi.org\/10.1145\/3377811.3380340","relation":{},"subject":[],"published":{"date-parts":[[2020,6,27]]},"assertion":[{"value":"2020-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}