{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,11]],"date-time":"2025-07-11T00:03:53Z","timestamp":1752192233373,"version":"3.41.2"},"publisher-location":"Cham","reference-count":29,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031976193","type":"print"},{"value":"9783031976209","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"DOI":"10.1007\/978-3-031-97620-9_5","type":"book-chapter","created":{"date-parts":[[2025,7,10]],"date-time":"2025-07-10T09:24:09Z","timestamp":1752139449000},"page":"75-95","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Sourcerer: Channeling the\u00a0void"],"prefix":"10.1007","author":[{"given":"Nicolas","family":"Badoux","sequence":"first","affiliation":[]},{"given":"Flavio","family":"Toffalini","sequence":"additional","affiliation":[]},{"given":"Mathias","family":"Payer","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,7,10]]},"reference":[{"key":"5_CR1","doi-asserted-by":"crossref","unstructured":"Badoux, N., Toffalini, F., Jeon, Y., Payer, M.: type++: prohibiting type confusion with inline type information. NDSS 34(4), 1\u201317 (2025)","DOI":"10.14722\/ndss.2025.230053"},{"key":"5_CR2","unstructured":"Bradski, G., et\u00a0al.: Opencv. Dr. Dobb\u2019s J. Softw. Tools 3(2) (2000)"},{"key":"5_CR3","doi-asserted-by":"crossref","unstructured":"Bucek, J., Lange, K.D., v.\u00a0Kistowski, J.: SPEC CPU2017: next-generation compute benchmark. In: Companion of the 2018 ACM\/SPEC International Conference on Performance Engineering, pp. 41\u201342 (2018)","DOI":"10.1145\/3185768.3185771"},{"key":"5_CR4","unstructured":"Clang: UBSan. http:\/\/clang.llvm.org\/docs\/UndefinedBehaviorSanitizer.html"},{"key":"5_CR5","unstructured":"cppreference.com: Union. https:\/\/en.cppreference.com\/w\/cpp\/language\/union"},{"key":"5_CR6","doi-asserted-by":"crossref","unstructured":"DeLozier, C., Eisenberg, R., Nagarakatte, S., Osera, P.M., Martin, M.M., Zdancewic, S.: Ironclad C++ a library-augmented type-safe subset of C++. ACM SIGPLAN Not. (2013)","DOI":"10.1145\/2509136.2509550"},{"key":"5_CR7","doi-asserted-by":"crossref","unstructured":"Duck, G.J., Yap, R.H.: EffectiveSan: type and memory error detection using dynamically typed C\/C++. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (2018)","DOI":"10.1145\/3192366.3192388"},{"key":"5_CR8","doi-asserted-by":"crossref","unstructured":"Fan, X., Long, S., Huang, C., Yang, C., Li, F.: Accelerating type confusion detection by identifying harmless type castings. In: Proceedings of the 20th ACM International Conference on Computing Frontiers, pp. 91\u2013100 (2023)","DOI":"10.1145\/3587135.3592205"},{"key":"5_CR9","unstructured":"Fioraldi, A., Maier, D., Ei\u00dffeldt, H., Heuse, M.: AFL++ : Combining incremental steps of fuzzing research. In: 14th USENIX Workshop on Offensive Technologies (WOOT 20). USENIX Association (2020)"},{"key":"5_CR10","doi-asserted-by":"crossref","unstructured":"Haller, I., et al.: TypeSan: practical type confusion detection. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 517\u2013528","DOI":"10.1145\/2976749.2978405"},{"key":"5_CR11","doi-asserted-by":"crossref","unstructured":"Henning, J.L.: SPEC CPU2006 benchmark descriptions. ACM SIGARCH Computer Architecture News (2006)","DOI":"10.1145\/1186736.1186737"},{"key":"5_CR12","doi-asserted-by":"crossref","unstructured":"Hong, J., Jang, W., Kim, M., Yu, L., Kwon, Y., Jeon, Y.: CMASan: custom memory allocator-aware address sanitizer. In: 2025 IEEE Symposium on Security and Privacy (SP), pp. 74\u201374. IEEE Computer Society (2024)","DOI":"10.1109\/SP61157.2025.00074"},{"key":"5_CR13","unstructured":"ISO C++ Standards Committee and others: Standard for Programming Language C++. Working Draft N4950. Technical report, ISO IEC JTC1\/SC22 (2023)"},{"key":"5_CR14","doi-asserted-by":"crossref","unstructured":"Jeon, Y., Biswas, P., Carr, S., Lee, B., Payer, M.: HexType: efficient detection of type confusion errors for C++. In: CCS (2017)","DOI":"10.1145\/3133956.3134062"},{"key":"5_CR15","unstructured":"Koschel, J., Borrello, P., D\u2019Elia, D.C., Bos, H., Giuffrida, C.: Uncontained: uncovering container confusion in the linux kernel. In: 32nd USENIX Security Symposium. USENIX Association (2023)"},{"key":"5_CR16","doi-asserted-by":"crossref","unstructured":"Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: International Symposium on Code Generation and Optimization, CGO 2004, pp. 75\u201386. IEEE (2004)","DOI":"10.1109\/CGO.2004.1281665"},{"key":"5_CR17","unstructured":"LLVM: Constructor type homing. http:\/\/blog.llvm.org\/posts\/2021-04-05-constructor-homing-for-debug-info\/"},{"key":"5_CR18","unstructured":"LLVM: LLVM Control Flow Integrity: Shared library support. https:\/\/clang.llvm.org\/docs\/ControlFlowIntegrity.html#cfi-cross-dso"},{"key":"5_CR19","unstructured":"LLVM: SanitizerCoverage. https:\/\/clang.llvm.org\/docs\/SanitizerCoverage.html"},{"key":"5_CR20","unstructured":"LLVM: Type Metadata. https:\/\/llvm.org\/docs\/TypeMetadata.html"},{"key":"5_CR21","doi-asserted-by":"crossref","unstructured":"Matsakis, N.D., Klock, F.S.: The Rust language. ACM SIG Ada Lett. (2014)","DOI":"10.1145\/2663171.2663188"},{"key":"5_CR22","unstructured":"Mitre Corporation: Common Weakness Enumeration (CWE) 704: Incorrect Type Conversion or Cast. http:\/\/cwe.mitre.org\/data\/definitions\/704.html"},{"key":"5_CR23","unstructured":"Payer, M.: Type Confusion: Discovery, Abuse, Protection (2017). http:\/\/hexhive.epfl.ch\/publications\/files\/18SyScan360-presentation.pdf"},{"key":"5_CR24","unstructured":"Serebryany, K., Bruening, D., Potapenko, A., Vyukov, D.: AddressSanitizer: a fast address sanity checker. In: 2012 USENIX Annual Technical Conference (2012)"},{"key":"5_CR25","unstructured":"Serebryany, K.: OSS-Fuzz - google\u2019s continuous fuzzing service for open source software. USENIX Association, Vancouver (2017)"},{"key":"5_CR26","unstructured":"Stroustrup, B., Sutter, H., et\u00a0al.: C++ Core Guidelines (2018)"},{"key":"5_CR27","unstructured":"Sutter, H., Stroustrup, B., et al.: C++ Core Guidelines (2015). https:\/\/github.com\/isocpp\/CppCoreGuidelines\/"},{"key":"5_CR28","unstructured":"Tice, C., Roeder, T., Collingbourne, P., Checkoway, S., Erlingsson, \u00da., Lozano, L., Pike, G.: Enforcing forward-edge control-flow integrity in GCC & LLVM. In: 23rd USENIX Security Symposium (2014)"},{"key":"5_CR29","unstructured":"Zhai, Y., et al.: Don\u2019t waste my efforts: pruning redundant sanitizer checks by developer-implemented type checks. In: 33rd USENIX Security Symposium (2024)"}],"container-title":["Lecture Notes in Computer Science","Detection of Intrusions and Malware, and Vulnerability Assessment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-97620-9_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,10]],"date-time":"2025-07-10T09:24:18Z","timestamp":1752139458000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-97620-9_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031976193","9783031976209"],"references-count":29,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-97620-9_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"10 July 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"DIMVA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Graz","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Austria","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2025","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 July 2025","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 July 2025","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"dimva2025","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/dimva.org\/dimva2025\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}