{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,8]],"date-time":"2026-10-08T11:37:15Z","timestamp":1791459435992,"version":"4.3.4"},"publisher-location":"New York, NY, USA","reference-count":88,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,9,11]],"date-time":"2024-09-11T00:00:00Z","timestamp":1726012800000},"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":[],"published-print":{"date-parts":[[2024,9,11]]},"DOI":"10.1145\/3650212.3680398","type":"proceedings-article","created":{"date-parts":[[2024,9,11]],"date-time":"2024-09-11T11:44:25Z","timestamp":1726055065000},"page":"1772-1784","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Characterizing and Detecting Program Representation Faults of Static Analysis Frameworks"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6498-5062","authenticated-orcid":false,"given":"Huaien","family":"Zhang","sequence":"first","affiliation":[{"name":"Hong Kong Polytechnic University, Hong Kong, China \/ Southern University of Science and Technology, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6065-6958","authenticated-orcid":false,"given":"Yu","family":"Pei","sequence":"additional","affiliation":[{"name":"Hong Kong Polytechnic University, Hong Kong, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-5746-8519","authenticated-orcid":false,"given":"Shuyun","family":"Liang","sequence":"additional","affiliation":[{"name":"Southern University of Science and Technology, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-7933-0259","authenticated-orcid":false,"given":"Zezhong","family":"Xing","sequence":"additional","affiliation":[{"name":"Southern University of Science and Technology, Shenzhen, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8633-3372","authenticated-orcid":false,"given":"Shin Hwei","family":"Tan","sequence":"additional","affiliation":[{"name":"Concordia University, Montreal, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,9,11]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_30"},{"key":"e_1_3_2_1_2_1","unstructured":"Miltiadis Allamanis Marc Brockschmidt and Mahmoud Khademi. 2017. Learning to represent programs with graphs. arXiv preprint arXiv:1711.00740."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1186\/s40411-016-0031-8"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594299"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/236338.236371"},{"key":"e_1_3_2_1_6_1","unstructured":"bergerbd. 2015. Exception in UnitThrowAnalysis. https:\/\/github.com\/soot-oss\/soot\/issues\/358"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640108"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2889206"},{"key":"e_1_3_2_1_9_1","unstructured":"cbruegg. 2019. Source code frontend assigns boolean to int. https:\/\/github.com\/soot-oss\/SootUp\/issues\/103"},{"key":"e_1_3_2_1_10_1","unstructured":"ceclin. 2023. How to parallelize? https:\/\/github.com\/soot-oss\/SootUp\/issues\/591"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00040"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3143561"},{"key":"e_1_3_2_1_13_1","unstructured":"WALA Community. 2006. T.J. Watson Libraries for Analysis. https:\/\/github.com\/wala\/WALA\/"},{"key":"e_1_3_2_1_14_1","unstructured":"cos. 2013. Performance improvement when caching the IR and DefUse within CGNode. https:\/\/github.com\/wala\/WALA\/issues\/9"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-28891-3_12"},{"key":"e_1_3_2_1_16_1","unstructured":"elephantom. 2015. java.lang.ArrayIndexOutOfBoundsException in DavaFlowSet when decompiling an APK. https:\/\/github.com\/soot-oss\/soot\/issues\/502"},{"key":"e_1_3_2_1_17_1","unstructured":"ericbodden. 2014. Incomplete call graph in Spark\u2019s RTA mode. https:\/\/github.com\/soot-oss\/soot\/issues\/297"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597926.3598049"},{"key":"e_1_3_2_1_19_1","unstructured":"flankerhqd. 2021. SPARK missing support for collection element type. https:\/\/github.com\/soot-oss\/soot\/issues\/1755"},{"key":"e_1_3_2_1_20_1","unstructured":"florian kuebler. 2018. java.lang.ClassCastException when using SubtypesEntrypoint. https:\/\/github.com\/wala\/WALA\/issues\/285"},{"key":"e_1_3_2_1_21_1","unstructured":"foundry. 2018. Surprising Uses of Static Analysis: Performance Optimization. https:\/\/www.grammatech.com\/learn\/surprising-uses-of-static-analysis-performance-optimization\/"},{"key":"e_1_3_2_1_22_1","unstructured":"fripSide. 2016. Reset ClassPath for Android. https:\/\/github.com\/soot-oss\/soot\/issues\/524"},{"key":"e_1_3_2_1_23_1","volume-title":"Maven Repository: Top Projects. https:\/\/mvnrepository.com\/popular","year":"2024","unstructured":"frodriguez. 2024. Maven Repository: Top Projects. https:\/\/mvnrepository.com\/popular"},{"key":"e_1_3_2_1_24_1","unstructured":"giltho. 2021. WeakObjectTypes should (maybe?) keep track of the SootClass. https:\/\/github.com\/soot-oss\/soot\/issues\/1739"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/506315.506316"},{"key":"e_1_3_2_1_26_1","unstructured":"GUIpsp. 2015. java.lang.RuntimeException: Assertion failed. at soot.toolkits.graph.SimpleDominatorsFinder.getImmediateDominator. https:\/\/github.com\/soot-oss\/soot\/issues\/416"},{"key":"e_1_3_2_1_27_1","unstructured":"JonasKlauke. 2022. Callgraph Generation ignores <clinit>. https:\/\/github.com\/soot-oss\/SootUp\/issues\/459"},{"key":"e_1_3_2_1_28_1","unstructured":"JonasKlauke. 2022. Callgraph: search for the concrete dispatch if the method is not implemented. https:\/\/github.com\/soot-oss\/SootUp\/issues\/499"},{"key":"e_1_3_2_1_29_1","unstructured":"JonasKlauke. 2022. RTA ignores new instantiated classes at a later method call. https:\/\/github.com\/soot-oss\/SootUp\/issues\/456"},{"key":"e_1_3_2_1_30_1","unstructured":"JonasKlauke. 2022. RTA should only consider Classes as instantiated with new. https:\/\/github.com\/soot-oss\/SootUp\/issues\/495"},{"key":"e_1_3_2_1_31_1","unstructured":"JonasKlauke. 2023. The ICFG DotExporter should use a call graph to decide which methods are called. https:\/\/github.com\/soot-oss\/SootUp\/issues\/728"},{"key":"e_1_3_2_1_32_1","unstructured":"JonasKlauke. 2023. Sources marked as Library shouldn\u2019t be further analyzed in the call graph generation. https:\/\/github.com\/soot-oss\/SootUp\/issues\/715"},{"key":"e_1_3_2_1_33_1","unstructured":"jpstotz. 2019. Unit test LambdaMetaFactoryAdaptTest: ConcurrentModificationException. https:\/\/github.com\/soot-oss\/soot\/issues\/1125"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2610384.2628055"},{"key":"e_1_3_2_1_35_1","unstructured":"kadirayk. 2020. stack underrun: AsmMethodSource.convertBinopInsn. https:\/\/github.com\/soot-oss\/SootUp\/issues\/326"},{"key":"e_1_3_2_1_36_1","unstructured":"kadirayk. 2024. Fix LocalSplitter. https:\/\/github.com\/soot-oss\/SootUp\/issues\/798"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-57246-3_13"},{"key":"e_1_3_2_1_38_1","unstructured":"kitty 1998. 2024. Soot reports a false positive edge in call graph. https:\/\/github.com\/soot-oss\/soot\/issues\/2061"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330553"},{"key":"e_1_3_2_1_40_1","volume-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation.","author":"Krishna Rahul","year":"2023","unstructured":"Rahul Krishna, Raju Pavuluri, Saurabh Sinha, Divya Sankar, Julian Dolby, and Rangeet Pan. 2023. Towards Supporting Universal Static Analysis using WALA. In ACM SIGPLAN Conference on Programming Language Design and Implementation."},{"key":"e_1_3_2_1_41_1","volume-title":"Cetus Users and Compiler Infastructure Workshop (CETUS","author":"Lam Patrick","year":"2011","unstructured":"Patrick Lam, Eric Bodden, Ondrej Lhot\u00e1k, and Laurie Hendren. 2011. The Soot framework for Java program analysis: a retrospective. In Cetus Users and Compiler Infastructure Workshop (CETUS 2011). 15."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594334"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549175"},{"key":"e_1_3_2_1_45_1","unstructured":"learncat163. 2022. CallGraph\u2019s removeEdges method maybe has a bug. https:\/\/github.com\/soot-oss\/soot\/issues\/1874"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2024.3358283"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3381915"},{"key":"e_1_3_2_1_48_1","unstructured":"madberries. 2015. Infinite loop occurs in DexPrinter.findLongJumps() while processing android framework. https:\/\/github.com\/soot-oss\/soot\/issues\/502"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468573"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597926.3605232"},{"key":"e_1_3_2_1_51_1","unstructured":"msridhar. 2018. Allow WALA to support missing superclasses? https:\/\/github.com\/wala\/WALA\/issues\/322"},{"key":"e_1_3_2_1_52_1","unstructured":"Naplues. 2018. java.lang.RuntimeException when .... https:\/\/github.com\/soot-oss\/soot\/issues\/875"},{"key":"e_1_3_2_1_53_1","unstructured":"nrosner. 2019. Nondeterministic crashes from PackManager.retrieveAllBodies(). https:\/\/github.com\/soot-oss\/soot\/issues\/1189"},{"key":"e_1_3_2_1_54_1","unstructured":"Chris Povirk. 2024. Guava. https:\/\/guava.dev\/"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950312"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330555"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236454.3236503"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3394451.3397204"},{"key":"e_1_3_2_1_59_1","unstructured":"John Rose. 2011. JSR 292: Supporting Dynamically Typed Languages on the JavaTM Platform. https:\/\/jcp.org\/en\/jsr\/detail?id=292"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"crossref","unstructured":"Joanna Santos Mehdi Mirakhorli and Ali Shokri. 2023. Sound Call Graph Construction for Java Object Deserialization. arXiv preprint arXiv:2311.00943.","DOI":"10.1145\/3649851"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3569449"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/3460946.3464319"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468591"},{"key":"e_1_3_2_1_64_1","unstructured":"StevenArzt. 2013. Pedantic validation rejects code that is arguably ok. https:\/\/github.com\/soot-oss\/soot\/issues\/109"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-02768-1_4"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380441"},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC.2017.41"},{"key":"e_1_3_2_1_68_1","unstructured":"swissiety. 2020. adapt CastAndReturnInliner to use Stmt Graph. https:\/\/github.com\/soot-oss\/SootUp\/issues\/281"},{"key":"e_1_3_2_1_69_1","unstructured":"ThomasGP. 2013. toDex: \"check-cast on non-reference in v0\" with k9mail APK. https:\/\/github.com\/soot-oss\/soot\/issues\/35"},{"key":"e_1_3_2_1_70_1","unstructured":"tim hoffman. 2015. JVM VerifyError after transformation from .class via shimple. https:\/\/github.com\/soot-oss\/soot\/issues\/385"},{"key":"e_1_3_2_1_71_1","unstructured":"tisble. 2024. Support MethodHandle Resolve in Callgraph Algorithm. https:\/\/github.com\/soot-oss\/SootUp\/issues\/906"},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE51524.2021.9678535"},{"key":"e_1_3_2_1_73_1","unstructured":"Former user. 2019. Very different results of the same analysis with different engines. https:\/\/bitbucket.org\/yanniss\/doop\/issues\/1"},{"key":"e_1_3_2_1_74_1","unstructured":"Former user. 2020. DOOP doesn\u2019t handle names\/directories with spaces. https:\/\/bitbucket.org\/yanniss\/doop\/issues\/4\/doop-doesnt-handle-names-directories-with"},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510166"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925805.1925818"},{"key":"e_1_3_2_1_77_1","volume-title":"Jimple: Simplifying Java bytecode for analyses and transformations. Technical report","author":"Vallee-Rai Raja","year":"1998","unstructured":"Raja Vallee-Rai and Laurie J Hendren. 1998. Jimple: Simplifying Java bytecode for analyses and transformations. Technical report, McGill University."},{"key":"e_1_3_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1109\/FUZZY.2010.5584447"},{"key":"e_1_3_2_1_79_1","unstructured":"vitaliiavdiienko. 2015. Exception while building RTA CallGraph. https:\/\/github.com\/soot-oss\/soot\/issues\/514"},{"key":"e_1_3_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/3524610.3527899"},{"key":"e_1_3_2_1_81_1","unstructured":"will leeson. 2023. Callgraph taking a while to build. https:\/\/github.com\/soot-oss\/SootUp\/issues\/558"},{"key":"e_1_3_2_1_82_1","unstructured":"Xiao Xiao. 2013. On the Importance of Program Representations in Static Analysis."},{"key":"e_1_3_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616332"},{"key":"e_1_3_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454054"},{"key":"e_1_3_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616272"},{"key":"e_1_3_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1145\/3643759"},{"key":"e_1_3_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660359"},{"key":"e_1_3_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213866"}],"event":{"name":"ISSTA '24: 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis","location":"Vienna Austria","acronym":"ISSTA '24","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","AITO"]},"container-title":["Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3650212.3680398","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3650212.3680398","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T00:58:09Z","timestamp":1750294689000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3650212.3680398"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9,11]]},"references-count":88,"alternative-id":["10.1145\/3650212.3680398","10.1145\/3650212"],"URL":"https:\/\/doi.org\/10.1145\/3650212.3680398","relation":{},"subject":[],"published":{"date-parts":[[2024,9,11]]},"assertion":[{"value":"2024-09-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}