{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,21]],"date-time":"2026-04-21T14:47:44Z","timestamp":1776782864377,"version":"3.51.2"},"publisher-location":"New York, NY, USA","reference-count":75,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,11,8]],"date-time":"2020-11-08T00:00:00Z","timestamp":1604793600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,11,8]]},"DOI":"10.1145\/3368089.3409738","type":"proceedings-article","created":{"date-parts":[[2020,11,8]],"date-time":"2020-11-08T06:03:52Z","timestamp":1604815432000},"page":"135-146","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":39,"title":["JShrink: in-depth investigation into debloating modern Java applications"],"prefix":"10.1145","author":[{"given":"Bobby R.","family":"Bruce","sequence":"first","affiliation":[{"name":"University of California at Davis, USA"}]},{"given":"Tianyi","family":"Zhang","sequence":"additional","affiliation":[{"name":"Harvard University, USA"}]},{"given":"Jaspreet","family":"Arora","sequence":"additional","affiliation":[{"name":"University of California at Los Angeles, USA"}]},{"given":"Guoqing Harry","family":"Xu","sequence":"additional","affiliation":[{"name":"University of California at Los Angeles, USA"}]},{"given":"Miryung","family":"Kim","sequence":"additional","affiliation":[{"name":"University of California at Los Angeles, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,11,8]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"[n.d.]. Cobertura: A code coverage utility for Java. https:\/\/cobertura.github.io\/ cobertura. Accessed: 2020-02-16.  [n.d.]. Cobertura: A code coverage utility for Java. https:\/\/cobertura.github.io\/ cobertura. Accessed: 2020-02-16."},{"key":"e_1_3_2_2_2_1","unstructured":"[n.d.]. Google BigQuery API and GitHub Dataset. https:\/\/cloud.google.com\/ bigquery\/public-data\/. Accessed: 2020-04-04.  [n.d.]. Google BigQuery API and GitHub Dataset. https:\/\/cloud.google.com\/ bigquery\/public-data\/. Accessed: 2020-04-04."},{"key":"e_1_3_2_2_3_1","unstructured":"[n.d.]. JVM TI APIs. https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/ jvmti\/. Accessed: 2020-04-04.  [n.d.]. JVM TI APIs. https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/ jvmti\/. Accessed: 2020-04-04."},{"key":"e_1_3_2_2_4_1","unstructured":"[n.d.]. ONR BAA Announcement # N00014-17-S-B010. https:\/\/www.onr. navy.mil\/-\/media\/Files\/Funding-Announcements\/BAA\/2017\/N00014-17-SB010.ashx. Accessed: 2019-05-13.  [n.d.]. ONR BAA Announcement # N00014-17-S-B010. https:\/\/www.onr. navy.mil\/-\/media\/Files\/Funding-Announcements\/BAA\/2017\/N00014-17-SB010.ashx. Accessed: 2019-05-13."},{"key":"e_1_3_2_2_5_1","unstructured":"[n.d.]. ProGuard Bug # 767: A misjudgement exception occurs while preverifying. https:\/\/sourceforge.net\/p\/proguard\/bugs\/767. Accessed: 2020-04-04.  [n.d.]. ProGuard Bug # 767: A misjudgement exception occurs while preverifying. https:\/\/sourceforge.net\/p\/proguard\/bugs\/767. Accessed: 2020-04-04."},{"key":"e_1_3_2_2_6_1","unstructured":"[n.d.]. ProGuard: Java and Android Apps Optimizer. https:\/\/www.guardsquare. com\/en\/products\/proguard. Accessed: 2019-12-13.  [n.d.]. ProGuard: Java and Android Apps Optimizer. https:\/\/www.guardsquare. com\/en\/products\/proguard. Accessed: 2019-12-13."},{"key":"e_1_3_2_2_7_1","unstructured":"[n.d.]. Why The Java Deserialization Bug Is A Big Deal. Available from www.darkreading.com. https:\/\/www.darkreading.com\/informationweek-home\/ why-the-java-deserialization-bug-is-a-big-deal\/d\/d-id\/1323237  [n.d.]. Why The Java Deserialization Bug Is A Big Deal. Available from www.darkreading.com. https:\/\/www.darkreading.com\/informationweek-home\/ why-the-java-deserialization-bug-is-a-big-deal\/d\/d-id\/1323237"},{"key":"e_1_3_2_2_8_1","unstructured":"[n.d.]. ysoserial: a proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization. https:\/\/github.com\/frohof\/ysoserial. Accessed: 2019-05-10.  [n.d.]. ysoserial: a proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization. https:\/\/github.com\/frohof\/ysoserial. Accessed: 2019-05-10."},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/236338.236371"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/937503.937504"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985827"},{"key":"e_1_3_2_2_12_1","volume-title":"ASM: A code manipulation tool to implement adaptable systems. In Adaptable and extensible component systems.","author":"Bruneton Eric","year":"2002","unstructured":"Eric Bruneton , Romain Lenglet , and Thierry Coupaye . 2002 . ASM: A code manipulation tool to implement adaptable systems. In Adaptable and extensible component systems. Eric Bruneton, Romain Lenglet, and Thierry Coupaye. 2002. ASM: A code manipulation tool to implement adaptable systems. In Adaptable and extensible component systems."},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1455770.1455776"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9290-8"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950358"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/301631.301655"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-49538-X_5"},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/349214.349233"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/258916.258947"},{"key":"e_1_3_2_2_20_1","volume-title":"The 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE 2018","author":"Feldt Robert","year":"2018","unstructured":"Robert Feldt , Tim Menzies , and Thomas Zimmermann . 2018 . The 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE 2018 ), ROSE Festival 2018 Recognizing and Rewarding Open Science in Software Engineering. https:\/\/2018.fseconference.org\/track\/rosefest-2018. Robert Feldt, Tim Menzies, and Thomas Zimmermann. 2018. The 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE 2018), ROSE Festival 2018 Recognizing and Rewarding Open Science in Software Engineering. https:\/\/2018.fseconference.org\/track\/rosefest-2018."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106249"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213864"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025179"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-47993-7_22"},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2005.4.8.a2"},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/263698.264352"},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243838"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/77606.77608"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2018.00029"},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2016.146"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3338956"},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1018728216668"},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.53"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2739482.2768424"},{"key":"e_1_3_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.1999.809447"},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/337292.337423"},{"key":"e_1_3_2_2_37_1","volume-title":"Spark: A flexible points-to analysis framework for Java. ( 2002 ).","author":"Lhot\u00e1k Ondrej","year":"2002","unstructured":"Ondrej Lhot\u00e1k . 2002 . Spark: A flexible points-to analysis framework for Java. ( 2002 ). Ondrej Lhot\u00e1k. 2002. Spark: A flexible points-to analysis framework for Java. ( 2002 )."},{"key":"e_1_3_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_2"},{"key":"e_1_3_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2644805"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/11575467_11"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3417934"},{"key":"e_1_3_2_2_42_1","unstructured":"Frederic P. Miller Agnes F. Vandome and John McBrewster. 2010. Apache Maven. Alpha Press.  Frederic P. Miller Agnes F. Vandome and John McBrewster. 2010. Apache Maven. Alpha Press."},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2010.7"},{"key":"e_1_3_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297046"},{"key":"e_1_3_2_2_45_1","volume-title":"Taesoo Kim, and Wenke Lee.","author":"Qian Chenxiong","year":"2019","unstructured":"Chenxiong Qian , Hong Hu , Mansour Alharthi , Pak Ho Chung , Taesoo Kim, and Wenke Lee. 2019 . {RAZOR}: A Framework for Post-deployment Software Debloating. In 28th {USENIX} Security Symposium ({USENIX} Security 19). 1733-1750. Chenxiong Qian, Hong Hu, Mansour Alharthi, Pak Ho Chung, Taesoo Kim, and Wenke Lee. 2019. {RAZOR}: A Framework for Post-deployment Software Debloating. In 28th {USENIX} Security Symposium ({USENIX} Security 19). 1733-1750."},{"key":"e_1_3_2_2_46_1","first-page":"869","volume-title":"Proceedings of the 2018 USENIX Security Symposium-USENIX Security '18","author":"Quach Anh","year":"2018","unstructured":"Anh Quach , Aravind Prakash , and Lok Yan . 2018 . Debloating software through piece-wise compilation and loading . In Proceedings of the 2018 USENIX Security Symposium-USENIX Security '18 . 869 - 886 . Anh Quach, Aravind Prakash, and Lok Yan. 2018. Debloating software through piece-wise compilation and loading. In Proceedings of the 2018 USENIX Security Symposium-USENIX Security '18. 869-886."},{"key":"e_1_3_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106271"},{"key":"e_1_3_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254104"},{"key":"e_1_3_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/195274.195287"},{"key":"e_1_3_2_2_50_1","unstructured":"IEEE Security and Privacy. 2019. A list of CS conferences with \u201cSoK\u201d tracks. https:\/\/oaklandsok.github.io\/others\/.  IEEE Security and Privacy. 2019. A list of CS conferences with \u201cSoK\u201d tracks. https:\/\/oaklandsok.github.io\/others\/."},{"key":"e_1_3_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263703"},{"key":"e_1_3_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3238160"},{"key":"e_1_3_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-26529-2_26"},{"key":"e_1_3_2_2_55_1","volume-title":"A Comprehensive Study of Bloated Dependencies in the Maven Ecosystem. arXiv preprint arXiv","author":"Soto-Valero C\u00e9sar","year":"2001","unstructured":"C\u00e9sar Soto-Valero , Nicolas Harrand , Martin Monperrus , and Benoit Baudry . 2020. A Comprehensive Study of Bloated Dependencies in the Maven Ecosystem. arXiv preprint arXiv : 2001 . 07808 ( 2020 ). C\u00e9sar Soto-Valero, Nicolas Harrand, Martin Monperrus, and Benoit Baudry. 2020. A Comprehensive Study of Bloated Dependencies in the Maven Ecosystem. arXiv preprint arXiv: 2001. 07808 ( 2020 )."},{"key":"e_1_3_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250748"},{"key":"e_1_3_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3022671.2984003"},{"key":"e_1_3_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-02768-1_4"},{"key":"e_1_3_2_2_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180236"},{"key":"e_1_3_2_2_60_1","volume-title":"A Survey of Program Slicing Techniques","author":"Tip Frank","unstructured":"Frank Tip . 1994. A Survey of Program Slicing Techniques . Technical Report. Amsterdam, The Netherlands, The Netherlands . Frank Tip. 1994. A Survey of Program Slicing Techniques. Technical Report. Amsterdam, The Netherlands, The Netherlands."},{"key":"e_1_3_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320414"},{"key":"e_1_3_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/586088.586090"},{"key":"e_1_3_2_2_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.34"},{"key":"e_1_3_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925805.1925818"},{"key":"e_1_3_2_2_65_1","unstructured":"R. van de Wiel L. Augusteijn A. Bink and P. Hoogendijk. 2001. Code compaction: Reducing memory cost of embedded software. Philips White Paper.  R. van de Wiel L. Augusteijn A. Bink and P. Hoogendijk. 2001. Code compaction: Reducing memory cost of embedded software. Philips White Paper."},{"key":"e_1_3_2_2_66_1","article-title":"Belt-tightening in software. Philips","author":"van de Wiel R.","year":"2001","unstructured":"R. van de Wiel and P. Hoogendijk . 2001 . Belt-tightening in software. Philips Res. Passw. Mag.., 16-19 pages. R. van de Wiel and P. Hoogendijk. 2001. Belt-tightening in software. Philips Res. Passw. Mag.., 16-19 pages.","journal-title":"Res. Passw. Mag.., 16-19 pages."},{"key":"e_1_3_2_2_67_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2018.10.009"},{"key":"e_1_3_2_2_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243827"},{"key":"e_1_3_2_2_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2398857.2384690"},{"key":"e_1_3_2_2_70_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_1"},{"key":"e_1_3_2_2_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509512"},{"key":"e_1_3_2_2_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542523"},{"key":"e_1_3_2_2_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806617"},{"key":"e_1_3_2_2_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882362.1882448"},{"key":"e_1_3_2_2_75_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227199"},{"key":"e_1_3_2_2_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.988498"}],"event":{"name":"ESEC\/FSE '20: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","location":"Virtual Event USA","acronym":"ESEC\/FSE '20","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368089.3409738","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3368089.3409738","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:01:57Z","timestamp":1750197717000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368089.3409738"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,11,8]]},"references-count":75,"alternative-id":["10.1145\/3368089.3409738","10.1145\/3368089"],"URL":"https:\/\/doi.org\/10.1145\/3368089.3409738","relation":{},"subject":[],"published":{"date-parts":[[2020,11,8]]},"assertion":[{"value":"2020-11-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}