{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:16:37Z","timestamp":1750306597760,"version":"3.41.0"},"reference-count":52,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2015,9,28]],"date-time":"2015-09-28T00:00:00Z","timestamp":1443398400000},"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. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2015,9,28]]},"abstract":"<jats:p>In recent years, dynamic program analysis (DPA) has been widely used in various fields such as profiling, finding bugs, and security. However, existing solutions have their own weaknesses. Software solutions provide flexibility in DPA but they suffer from tremendous performance overhead. In contrast, core-level hardware engines rely on specialized integrated logics and attain extremely fast computation, but they have a limited functional extensibility because the logics are tightly coupled with the host processor. To mend this, a prior system-level approach utilizes an existing channel to integrate their hardware without necessitating the host architecture modification and introduced great potential in performance. Nevertheless, the prior work does not address the detailed design and implementation of the engine, which is quite essential to leverage the deployment on real systems. To address this, in this article, we propose an implementation of programmable DPA hardware engine, called program analysis unit (PAU). PAU is an application-specific instruction-set processor (ASIP) whose instruction set is customized to reflect common features of various DPA methods. With the specialized architecture and programmability of software, our PAU aims at fast computation and sufficient flexibility. In our case studies on several DPA techniques, we show that our ASIP approach can be successfully applicable to complex DPA schemes while providing hardware-backed power in performance and software-based flexibility in analysis. Recent experiments on our FPGA prototype revealed that the performance of PAU is 4.7-13.6 times faster than pure software DPA, and the power\/area consumption is also acceptably small compared to today's mobile processors.<\/jats:p>","DOI":"10.1145\/2746238","type":"journal-article","created":{"date-parts":[[2015,9,29]],"date-time":"2015-09-29T19:22:29Z","timestamp":1443554549000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Implementing an Application-Specific Instruction-Set Processor for System-Level Dynamic Program Analysis Engines"],"prefix":"10.1145","volume":"20","author":[{"given":"Ingoo","family":"Heo","sequence":"first","affiliation":[{"name":"Seoul National University, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Minsu","family":"Kim","sequence":"additional","affiliation":[{"name":"Korea Advanced Institute of Science and Technology, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yongje","family":"Lee","sequence":"additional","affiliation":[{"name":"Samsung Electronics Co., Ltd and Seoul National University, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Changho","family":"Choi","sequence":"additional","affiliation":[{"name":"Korea Advanced Institute of Science and Technology, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jinyong","family":"Lee","sequence":"additional","affiliation":[{"name":"Seoul National University, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Brent Byunghoon","family":"Kang","sequence":"additional","affiliation":[{"name":"Korea Advanced Institute of Science and Technology, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yunheung","family":"Paek","sequence":"additional","affiliation":[{"name":"Seoul National University, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,9,28]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"ARM. 1999. AMBA Specification. http:\/\/www.arm.com\/products\/system_ip\/amba-specifications.php.  ARM. 1999. AMBA Specification. http:\/\/www.arm.com\/products\/system_ip\/amba-specifications.php."},{"key":"e_1_2_1_2_1","unstructured":"ARM. 2012. Mali-400 MP. http:\/\/www.arm.com\/.  ARM. 2012. Mali-400 MP. http:\/\/www.arm.com\/."},{"key":"e_1_2_1_3_1","unstructured":"ARM. 2013. ARM CoreSight Architecture Specification v2.0. http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ihi0029d\/ IHI0029D_coresight_architecture_spec_v2_0.pdf.  ARM. 2013. ARM CoreSight Architecture Specification v2.0. http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ihi0029d\/ IHI0029D_coresight_architecture_spec_v2_0.pdf."},{"volume-title":"Taxonomies for the Development and Verification of Digital Systems","author":"Bailey Briant","key":"e_1_2_1_4_1","unstructured":"Briant Bailey , Grant Martin , Martin Grant , and Thomas Anderson . 2005. Taxonomies for the Development and Verification of Digital Systems . Springer . Briant Bailey, Grant Martin, Martin Grant, and Thomas Anderson. 2005. Taxonomies for the Development and Verification of Digital Systems. Springer."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 16th Annual Network and Distributed System Security Symposium (NDSS)","volume":"9","author":"Bayer Ulrich","year":"2009","unstructured":"Ulrich Bayer , Paolo Milani Comparetti , Clemens Hlauschek , Christopher Kruegel , and Engin Kirda . 2009 . Scalable, behavior-based malware clustering . In Proceedings of the 16th Annual Network and Distributed System Security Symposium (NDSS) , Vol. 9 . Citeseer, 8--11. Ulrich Bayer, Paolo Milani Comparetti, Clemens Hlauschek, Christopher Kruegel, and Engin Kirda. 2009. Scalable, behavior-based malware clustering. In Proceedings of the 16th Annual Network and Distributed System Security Symposium (NDSS), Vol. 9. Citeseer, 8--11."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1181309.1181319"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1394608.1382153"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCC.2006.158"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321673"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273440.1250722"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/2354410.2355153"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.17"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346295"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786763.2694383"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI'10)","author":"Enck William","year":"1924","unstructured":"William Enck , Peter Gilbert , Byung-Gon Chun , Landon P. Cox , Jaeyeon Jung , Patrick McDaniel , and Anmol N. Sheth . 2010. TaintDroid: An information-flow tracking system for realtime privacy monitoring on smartphones . In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI'10) . USENIX Association, 1--6. http:\/\/dl.acm.org\/citation.cfm?id= 1924 943.1924971 William Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. 2010. TaintDroid: An information-flow tracking system for realtime privacy monitoring on smartphones. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI'10). USENIX Association, 1--6. http:\/\/dl.acm.org\/citation.cfm?id=1924943.1924971"},{"key":"e_1_2_1_17_1","unstructured":"Jir. Gaisler. 2004. LEON3 Processor User's Manual. Gaisler Research.  Jir. Gaisler. 2004. LEON3 Processor User's Manual. Gaisler Research."},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 11th Annual Network and Distributed System Security Symposium (NDSS).","author":"Garfinkel Tal","year":"2004","unstructured":"Tal Garfinkel , Ben Pfaff , and Mendel Rosenblum . 2004 . Ostia: A delegating architecture for secure system call interposition . In Proceedings of the 11th Annual Network and Distributed System Security Symposium (NDSS). Tal Garfinkel, Ben Pfaff, and Mendel Rosenblum. 2004. Ostia: A delegating architecture for secure system call interposition. In Proceedings of the 11th Annual Network and Distributed System Security Symposium (NDSS)."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555815.1555806"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the IEEE\/IFIP International Conference on Dependable Systems Networks (DSN'09)","author":"Kannan H.","year":"2009","unstructured":"H. Kannan , M. Dalton , and C. Kozyrakis . 2009. Decoupling dynamic information flow tracking with a dedicated coprocessor . In Proceedings of the IEEE\/IFIP International Conference on Dependable Systems Networks (DSN'09) . 105--114. DOI:http:\/\/dx.doi.org\/10.1109\/DSN. 2009 .5270347 10.1109\/DSN.2009.5270347 H. Kannan, M. Dalton, and C. Kozyrakis. 2009. Decoupling dynamic information flow tracking with a dedicated coprocessor. In Proceedings of the IEEE\/IFIP International Conference on Dependable Systems Networks (DSN'09). 105--114. DOI:http:\/\/dx.doi.org\/10.1109\/DSN.2009.5270347"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 22nd USENIX Security Symposium. USENIX, 511--526","author":"Lee Hojoon","year":"2013","unstructured":"Hojoon Lee , HyunGon Moon , DaeHee Jang , Kihwan Kim , Jihoon Lee , Yunheung Paek , and Brent ByungHoon Kang . 2013 . KI-Mon: A hardware-assisted event-triggered monitoring platform for mutable kernel object . In Proceedings of the 22nd USENIX Security Symposium. USENIX, 511--526 . https:\/\/www.usenix.org\/conference\/usenixsecurity13\/technical-sessions\/paper\/lee. Hojoon Lee, HyunGon Moon, DaeHee Jang, Kihwan Kim, Jihoon Lee, Yunheung Paek, and Brent ByungHoon Kang. 2013. KI-Mon: A hardware-assisted event-triggered monitoring platform for mutable kernel object. In Proceedings of the 22nd USENIX Security Symposium. USENIX, 511--526. https:\/\/www.usenix.org\/conference\/usenixsecurity13\/technical-sessions\/paper\/lee."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/2755753.2755786"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"volume-title":"Fault Tolerant Computing Systems","author":"Majzik Istv\u00e1n","key":"e_1_2_1_25_1","unstructured":"Istv\u00e1n Majzik . 1996. Concurrent error detection using watchdog processors . In Fault Tolerant Computing Systems , Vol. 283 , Kluwer Academic . Istv\u00e1n Majzik. 1996. Concurrent error detection using watchdog processors. In Fault Tolerant Computing Systems, Vol. 283, Kluwer Academic."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2007.8"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2382196.2382202"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346308"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the Workshop on Interaction between Compilers and Computer Architectures.","author":"Nagarajan Vijay","year":"2008","unstructured":"Vijay Nagarajan , Ho-Seop Kim , Youfeng Wu , and Rajiv Gupta . 2008 . Dynamic information flow tracking on multicores . In Proceedings of the Workshop on Interaction between Compilers and Computer Architectures. Vijay Nagarajan, Ho-Seop Kim, Youfeng Wu, and Rajiv Gupta. 2008. Dynamic information flow tracking on multicores. In Proceedings of the Workshop on Interaction between Compilers and Computer Architectures."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273442.1250746"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 12th Annual Network and Distributed System Security Symposium (NDSS'05)","author":"Newsome James","year":"2005","unstructured":"James Newsome and Dawn Song . 2005 . Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software . In Proceedings of the 12th Annual Network and Distributed System Security Symposium (NDSS'05) . James Newsome and Dawn Song. 2005. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Proceedings of the 12th Annual Network and Distributed System Security Symposium (NDSS'05)."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346321"},{"volume-title":"Proceedings of the USENIX Security Symposium. 179--194","author":"Petroni Nick L.","key":"e_1_2_1_33_1","unstructured":"Nick L. Petroni Jr ., Timothy Fraser , Jesus Molina , and William A. Arbaugh . 2004. Copilot\u2014A coprocessor-based kernel runtime integrity monitor . In Proceedings of the USENIX Security Symposium. 179--194 . Nick L. Petroni Jr., Timothy Fraser, Jesus Molina, and William A. Arbaugh. 2004. Copilot\u2014A coprocessor-based kernel runtime integrity monitor. In Proceedings of the USENIX Security Symposium. 179--194."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.29"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2006.41"},{"key":"e_1_2_1_36_1","unstructured":"Samsung. 2012. Exynos 5 Dual. http:\/\/www.samsung.com\/global\/business\/semiconductor\/.  Samsung. 2012. Exynos 5 Dual. http:\/\/www.samsung.com\/global\/business\/semiconductor\/."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1356058.1356069"},{"key":"e_1_2_1_39_1","unstructured":"J. Seward. 2014. Origin tracking tool Valgrind release-3.4.0. svn:\/\/svn.valgrind.org\/valgrind\/trunk.  J. Seward. 2014. Origin tracking tool Valgrind release-3.4.0. svn:\/\/svn.valgrind.org\/valgrind\/trunk."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.5555\/1247360.1247362"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629911.1629951"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1037187.1024404"},{"key":"e_1_2_1_43_1","unstructured":"Synopsys. 2009. Design Compiler User Guide. Version C-2009.06. http:\/\/www.synopsys.com.  Synopsys. 2009. Design Compiler User Guide. Version C-2009.06. http:\/\/www.synopsys.com."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2008.4771782"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2009.38"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2008.4658637"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346205"},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of the 14th Annual Network and Distributed System Security Symposium (NDSS).","author":"Vogt Philipp","year":"2007","unstructured":"Philipp Vogt , Florian Nentwich , Nenad Jovanovic , Engin Kirda , Christopher Kruegel , and Giovanni Vigna . 2007 . Cross site scripting prevention with dynamic data tainting and static analysis . In Proceedings of the 14th Annual Network and Distributed System Security Symposium (NDSS). Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna. 2007. Cross site scripting prevention with dynamic data tainting and static analysis. In Proceedings of the 14th Annual Network and Distributed System Security Symposium (NDSS)."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605429"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315261"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/998680.1006720"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346191"},{"key":"e_1_2_1_53_1","unstructured":"Yu Zhu Jaeyeon Jung Dawn Song Tadayoshi Kohno and David Wetherall. 2009. Privacy Scope: A Precise Information Flow Tracking System for Finding Application Leaks. Ph.D. Dissertation. University of California Berkeley.  Yu Zhu Jaeyeon Jung Dawn Song Tadayoshi Kohno and David Wetherall. 2009. Privacy Scope: A Precise Information Flow Tracking System for Finding Application Leaks. Ph.D. Dissertation. University of California Berkeley."}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2746238","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2746238","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:16:44Z","timestamp":1750227404000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2746238"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,9,28]]},"references-count":52,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2015,9,28]]}},"alternative-id":["10.1145\/2746238"],"URL":"https:\/\/doi.org\/10.1145\/2746238","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2015,9,28]]},"assertion":[{"value":"2014-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-09-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}