{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:08:00Z","timestamp":1750306080844,"version":"3.41.0"},"reference-count":67,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2017,8,31]],"date-time":"2017-08-31T00:00:00Z","timestamp":1504137600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Korea governmen","award":["2014R1A2A1A10051792 and R0190-16-2010"],"award-info":[{"award-number":["2014R1A2A1A10051792 and R0190-16-2010"]}]},{"name":"National Research Foundation of Kore"},{"name":"Institute for Information 8 communications Technology Promotio"},{"name":"Development on the SW\/HW modules of Processor Monitor for System Intrusion Detection)","award":["2016-0-00078"],"award-info":[{"award-number":["2016-0-00078"]}]},{"name":"MSIP(Ministry of Science, ICT and Future Planning), Korea"},{"name":"Cloud based Security Intelligence Technology Development for the Customized Security Service Provisioning"},{"name":"IIT"},{"name":"ITR","award":["IITP-2017-2015-0-00403"],"award-info":[{"award-number":["IITP-2017-2015-0-00403"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2018,1,31]]},"abstract":"<jats:p>The kernel code injection is a common behavior of kernel-compromising attacks where the attackers aim to gain their goals by manipulating an OS kernel. Several security mechanisms have been proposed to mitigate such threats, but they all suffer from non-negligible performance overhead. This article introduces a hardware reference monitor, called Kargos, which can detect the kernel code injection attacks with nearly zero performance cost. Kargos monitors the behaviors of an OS kernel from outside the CPU through the standard bus interconnect and debug interface available with most major microprocessors. By watching the execution traces and memory access events in the monitored target system, Kargos uncovers attempts to execute malicious code with the kernel privilege. On top of this, we also applied the architectural supports for Kargos to the detection of ROP attacks. KS-Stack is the hardware component that builds and maintains the shadow stacks using the existing supports to detect this ROP attacks. According to our experiments, Kargos detected all the kernel code injection attacks that we tested, yet just increasing the computational loads on the target CPU by less than 1% on average. The performance overhead of the KS-Stack was also less than 1%.<\/jats:p>","DOI":"10.1145\/3110223","type":"journal-article","created":{"date-parts":[[2017,9,1]],"date-time":"2017-09-01T12:27:42Z","timestamp":1504268862000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Architectural Supports to Protect OS Kernels from Code-Injection Attacks and Their Applications"],"prefix":"10.1145","volume":"23","author":[{"given":"Hyungon","family":"Moon","sequence":"first","affiliation":[{"name":"ECE and ISRC, Seoul National University, Gwanak-gu, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jinyong","family":"Lee","sequence":"additional","affiliation":[{"name":"ECE and ISRC, Seoul National University, Gwanak-gu, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dongil","family":"Hwang","sequence":"additional","affiliation":[{"name":"ECE and ISRC, Seoul National University, Gwanak-gu, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Seonhwa","family":"Jung","sequence":"additional","affiliation":[{"name":"ECE and ISRC, Seoul National University, Gwanak-gu, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jiwon","family":"Seo","sequence":"additional","affiliation":[{"name":"ECE and ISRC, Seoul National University, Gwanak-gu, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yunheung","family":"Paek","sequence":"additional","affiliation":[{"name":"ECE and ISRC, Seoul National University, Gwanak-gu, Seoul, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,8,31]]},"reference":[{"volume-title":"The linux-kernel mailing list FAQ.","year":"2009","key":"e_1_2_1_1_1","unstructured":"2009. Why don\u2019t we replace all the goto\u2019s with C exceptions , The linux-kernel mailing list FAQ. Retrieved from http:\/\/vger.kernel.org\/lkml\/#s15-5 ( 2009 ). 2009. Why don\u2019t we replace all the goto\u2019s with C exceptions, The linux-kernel mailing list FAQ. Retrieved from http:\/\/vger.kernel.org\/lkml\/#s15-5 (2009)."},{"key":"e_1_2_1_2_1","unstructured":"2014. CVE-2014-3153. Online (May 2014). Retrieved from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name&equals;CVE-2014-3153.  2014. CVE-2014-3153. Online (May 2014). Retrieved from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name&equals;CVE-2014-3153."},{"key":"e_1_2_1_3_1","unstructured":"2015. CVE-2015-3636. Online (May 2015). Retrieved from http:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name&equals;CVE-2015-3636.  2015. CVE-2015-3636. Online (May 2015). Retrieved from http:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name&equals;CVE-2015-3636."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/SECPRI.1997.601317"},{"key":"e_1_2_1_5_1","unstructured":"ARM 2011. CoreSight PTM-A9 Technical Reference Manual. ARM.  ARM 2011. CoreSight PTM-A9 Technical Reference Manual. ARM."},{"key":"e_1_2_1_6_1","unstructured":"ARM. 2012. ARM Architecture Reference Manual ARM v7-A and V7-R edition Tech. rep. ARM.  ARM. 2012. ARM Architecture Reference Manual ARM v7-A and V7-R edition Tech. rep. ARM."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660350"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2016.23009"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1966913.1966919"},{"volume-title":"Proceedings of the USENIX Security Symposium (SEC\u201915)","author":"Carlini Nicolas","key":"e_1_2_1_10_1","unstructured":"Nicolas Carlini , Antonio Barresi , Mathias Payer , David Wagner , and Thomas R. Gross . 2015. Control-flow bending: On the effectiveness of control-flow integrity . In Proceedings of the USENIX Security Symposium (SEC\u201915) . USENIX Association, Berkeley, CA, 161--176. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id&equals;2831143.2831154. Nicolas Carlini, Antonio Barresi, Mathias Payer, David Wagner, and Thomas R. Gross. 2015. Control-flow bending: On the effectiveness of control-flow integrity. In Proceedings of the USENIX Security Symposium (SEC\u201915). USENIX Association, Berkeley, CA, 161--176. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id&equals;2831143.2831154."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1866307.1866370"},{"key":"e_1_2_1_12_1","volume-title":"Using DISE to protect return addresses from attack. SIGARCH Comput. Archit. News","author":"Corliss Marc L.","year":"2005","unstructured":"Marc L. Corliss , E. Christopher Lewis , and Amir Roth . 2005. Using DISE to protect return addresses from attack. SIGARCH Comput. Archit. News ( 2005 ). Marc L. Corliss, E. Christopher Lewis, and Amir Roth. 2005. Using DISE to protect return addresses from attack. SIGARCH Comput. Archit. News (2005)."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.26"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2714576.2714635"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694386"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2744769.2744847"},{"key":"e_1_2_1_17_1","volume-title":"European Conference on Computer Systems (poster).","author":"Fernandez Matthew","year":"2012","unstructured":"Matthew Fernandez , Gerwin Klein , and Ihor Kuz . 2012 . Microkernel Verification Down to Assembly . European Conference on Computer Systems (poster). Matthew Fernandez, Gerwin Klein, and Ihor Kuz. 2012. Microkernel Verification Down to Assembly. European Conference on Computer Systems (poster)."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.micpro.2010.10.002"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP.2016.24"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the IEEE Mobile Security Technologies Workshop.","author":"Ge Xinyang","year":"2014","unstructured":"Xinyang Ge , Hayawardh Vijayakumar , and Trent Jaeger . 2014 . SPROBES: Enforcing kernel code integrity on the TrustZone architecture . In Proceedings of the IEEE Mobile Security Technologies Workshop. Xinyang Ge, Hayawardh Vijayakumar, and Trent Jaeger. 2014. SPROBES: Enforcing kernel code integrity on the TrustZone architecture. In Proceedings of the IEEE Mobile Security Technologies Workshop."},{"volume-title":"Proceedings of the USENIX Security Symposium (Security\u201912)","author":"Giuffrida Cristiano","key":"e_1_2_1_22_1","unstructured":"Cristiano Giuffrida , Anton Kuijsten , and Andrew S. Tanenbaum . 2012. Enhanced operating system security through efficient and fine-grained address space randomization . In Proceedings of the USENIX Security Symposium (Security\u201912) . USENIX Association, Berkeley, CA, 40--40. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id&equals;2362793.2362833. Cristiano Giuffrida, Anton Kuijsten, and Andrew S. Tanenbaum. 2012. Enhanced operating system security through efficient and fine-grained address space randomization. In Proceedings of the USENIX Security Symposium (Security\u201912). USENIX Association, Berkeley, CA, 40--40. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id&equals;2362793.2362833."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950398"},{"volume-title":"Proceedings of the USENIX Security Symposium.","author":"Hund Ralf","key":"e_1_2_1_24_1","unstructured":"Ralf Hund , Thorsten Holz , and Felix C. Freiling . 2009. Return-oriented rootkits: Bypassing kernel code integrity protection mechanisms . In Proceedings of the USENIX Security Symposium. Ralf Hund, Thorsten Holz, and Felix C. Freiling. 2009. Return-oriented rootkits: Bypassing kernel code integrity protection mechanisms. In Proceedings of the USENIX Security Symposium."},{"key":"e_1_2_1_25_1","volume-title":"IDC Research","author":"Inc.","year":"2015","unstructured":"Inc. IDC Research . 2015 . Smartphone OS Market Share, 2015 Q2. Retrieved from http:\/\/www.idc.com\/prodserv\/smartphone-os-market-share.jsp (2015). Inc. IDC Research. 2015. Smartphone OS Market Share, 2015 Q2. Retrieved from http:\/\/www.idc.com\/prodserv\/smartphone-os-market-share.jsp (2015)."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICECS.2006.379629"},{"key":"e_1_2_1_27_1","unstructured":"INTEL. 2013. Intel R 64 and IA-32 architectures software developer\u2019s manual. Volume 3b: System Programming Guide (Part 2) (2013).  INTEL. 2013. Intel R 64 and IA-32 architectures software developer\u2019s manual. Volume 3b: System Programming Guide (Part 2) (2013)."},{"key":"e_1_2_1_28_1","unstructured":"Intel. 2014. Intel Quark Soc X1000 Datasheet. Intel.  Intel. 2014. Intel Quark Soc X1000 Datasheet. Intel."},{"key":"e_1_2_1_29_1","unstructured":"Intel. 2014. Intel Quark SoC X1000 Secure Boot. Intel.  Intel. 2014. Intel Quark SoC X1000 Secure Boot. Intel."},{"key":"e_1_2_1_30_1","unstructured":"Intel 2014. Intel64 and IA-32 Architectures Software Developer\u2019s Manual. Intel.  Intel 2014. Intel64 and IA-32 Architectures Software Developer\u2019s Manual. Intel."},{"key":"e_1_2_1_31_1","unstructured":"Intel. 2016. Control-flow Enforcement Technology Preview. Intel.  Intel. 2016. Control-flow Enforcement Technology Preview. Intel."},{"volume-title":"Building Android 4.2.2 BSP on ZC702.","year":"2015","key":"e_1_2_1_32_1","unstructured":"iVeia. 2015. Building Android 4.2.2 BSP on ZC702. Retrieved from http:\/\/www.wiki.xilinx.com\/Building+Android+4.2.2+BSP+on+ZC702 ( 2015 ). iVeia. 2015. Building Android 4.2.2 BSP on ZC702. Retrieved from http:\/\/www.wiki.xilinx.com\/Building+Android+4.2.2+BSP+on+ZC702 (2015)."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660303"},{"key":"e_1_2_1_34_1","volume-title":"Network Appliance","author":"Katcher Jeffrey","year":"1997","unstructured":"Jeffrey Katcher . 1997 . Postmark: A New File System Benchmark. Technical Report. Technical Report TR3022 , Network Appliance , 1997. Retrieved from www.netapp.com\/tech_library\/3022.html. Jeffrey Katcher. 1997. Postmark: A New File System Benchmark. Technical Report. Technical Report TR3022, Network Appliance, 1997. Retrieved from www.netapp.com\/tech_library\/3022.html."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629596"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.25"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the USENIX Security Symposium.","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 USENIX Security Symposium. 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 USENIX Security Symposium."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2015.0818"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-39881-3_21"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2768566.2768569"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.3850\/9783981537079_0550"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485956"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the Usenix Annual Technical Conference.","author":"McVoy Larry","year":"1996","unstructured":"Larry McVoy and Carl Staelin . 1996 . Lmbench: Portable tools for performance analysis . In Proceedings of the Usenix Annual Technical Conference. Larry McVoy and Carl Staelin. 1996. Lmbench: Portable tools for performance analysis. In Proceedings of the Usenix Annual Technical Conference."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2382196.2382202"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2948618.2948623"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.35"},{"key":"e_1_2_1_47_1","doi-asserted-by":"crossref","unstructured":"H. Ozdoganoglu T. N. Vijaykumar C. E. Brodley B. A. Kuperman and A. Jalote. 2006. SmashGuard: A hardware solution to prevent security attacks on the function return address. IEEE Trans. Comput. (2006).  H. Ozdoganoglu T. N. Vijaykumar C. E. Brodley B. A. Kuperman and A. Jalote. 2006. SmashGuard: A hardware solution to prevent security attacks on the function return address. IEEE Trans. Comput. (2006).","DOI":"10.1109\/TC.2006.166"},{"volume-title":"PaX non-executable","author":"Team X","key":"e_1_2_1_48_1","unstructured":"Pa X Team . 2004. PaX non-executable pages design 8 implementation. Retrieved from http:\/\/pax.grsecurity.net\/docs\/noexec.txt. PaX Team. 2004. PaX non-executable pages design 8 implementation. Retrieved from http:\/\/pax.grsecurity.net\/docs\/noexec.txt."},{"volume-title":"Proceedings of the USENIX Security Symposium.","author":"Petroni Nick L.","key":"e_1_2_1_49_1","unstructured":"Nick L. Petroni Jr , Timothy Fraser , Jesus Molina , and William A. Arbaugh . 2004. Copilot-a coprocessor-based kernel runtime integrity monitor . In Proceedings of the USENIX Security Symposium. Nick L. Petroni Jr, Timothy Fraser, Jesus Molina, and William A. Arbaugh. 2004. Copilot-a coprocessor-based kernel runtime integrity monitor. In Proceedings of the USENIX Security Symposium."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315260"},{"key":"e_1_2_1_51_1","doi-asserted-by":"crossref","unstructured":"Marta Portela-Garc\u00eda etal 2012. On the use of embedded debug features for permanent and transient fault resilience in microprocessors. Microprocessors and Microsystems (2012).  Marta Portela-Garc\u00eda et al. 2012. On the use of embedded debug features for permanent and transient fault resilience in microprocessors. Microprocessors and Microsystems (2012).","DOI":"10.1016\/j.micpro.2012.02.013"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/1433006.1433008"},{"key":"e_1_2_1_53_1","unstructured":"Electronics Samsung. 2012. Exynos 4. Retrieved from http:\/\/www.samsung.com\/global\/business\/semiconductor\/product\/application\/detail?productId&equals;77458iaId&equals;844.  Electronics Samsung. 2012. Exynos 4. Retrieved from http:\/\/www.samsung.com\/global\/business\/semiconductor\/product\/application\/detail?productId&equals;77458iaId&equals;844."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.51"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294294"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-22863-6_24"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462183"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315313"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.45"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897937.2898098"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.13"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the USENIX Security Symposium. USENIX Association","author":"Tice Caroline","year":"2014","unstructured":"Caroline Tice , Tom Roeder , Peter Collingbourne , Stephen Checkoway , \u00dalfar Erlingsson , Luis Lozano , and Geoff Pike . 2014 . Enforcing forward-edge control-flow integrity in GCC 8 LLVM . In Proceedings of the USENIX Security Symposium. USENIX Association , San Diego, CA, 941--955. Caroline Tice, Tom Roeder, Peter Collingbourne, Stephen Checkoway, \u00dalfar Erlingsson, Luis Lozano, and Geoff Pike. 2014. Enforcing forward-edge control-flow integrity in GCC 8 LLVM. In Proceedings of the USENIX Security Symposium. USENIX Association, San Diego, CA, 941--955."},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813673"},{"key":"e_1_2_1_64_1","volume-title":"Proceedings of the USENIX Security Symposium. USENIX Association.","author":"Vogl Sebastian","year":"2014","unstructured":"Sebastian Vogl , Robert Gawlik , Behrad Garmany , Thomas Kittel , Jonas Pfoh , Claudia Eckert , and Thorsten Holz . 2014 . Dynamic hooks: Hiding control flow changes within non-control data . In Proceedings of the USENIX Security Symposium. USENIX Association. Sebastian Vogl, Robert Gawlik, Behrad Garmany, Thomas Kittel, Jonas Pfoh, Claudia Eckert, and Thorsten Holz. 2014. Dynamic hooks: Hiding control flow changes within non-control data. In Proceedings of the USENIX Security Symposium. USENIX Association."},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2014.23019"},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of the Usenix Annual Technical Conference. USENIX Association.","author":"Wang Xiaoguang","year":"2015","unstructured":"Xiaoguang Wang , Yue Chen , Zhi Wang , Yong Qi , and Yajin Zhou . 2015 . SecPod: A framework for virtualization-based security systems . In Proceedings of the Usenix Annual Technical Conference. USENIX Association. Xiaoguang Wang, Yue Chen, Zhi Wang, Yong Qi, and Yajin Zhou. 2015. SecPod: A framework for virtualization-based security systems. In Proceedings of the Usenix Annual Technical Conference. USENIX Association."},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2010.30"},{"key":"e_1_2_1_68_1","unstructured":"Xilinx. 2013. Zynq-7000 All Programmable SoC Technical Reference Manual. (2013).  Xilinx. 2013. Zynq-7000 All Programmable SoC Technical Reference Manual. (2013)."}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3110223","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3110223","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:30:10Z","timestamp":1750217410000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3110223"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,31]]},"references-count":67,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,1,31]]}},"alternative-id":["10.1145\/3110223"],"URL":"https:\/\/doi.org\/10.1145\/3110223","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2017,8,31]]},"assertion":[{"value":"2016-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-08-31","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}