{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,21]],"date-time":"2026-01-21T03:17:27Z","timestamp":1768965447937,"version":"3.49.0"},"publisher-location":"Cham","reference-count":20,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031572555","type":"print"},{"value":"9783031572562","type":"electronic"}],"license":[{"start":{"date-parts":[[2024,1,1]],"date-time":"2024-01-01T00:00:00Z","timestamp":1704067200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2024,4,5]],"date-time":"2024-04-05T00:00:00Z","timestamp":1712275200000},"content-version":"vor","delay-in-days":95,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>SWAT is a novel dynamic symbolic execution engine for Java applications utilizing dynamic instrumentation. SWAT\u2019s unique modular design facilitates flexible communication between its symbolic explorer and executor using HTTP endpoints, thus enhancing adaptability to diverse application scenarios. The symbolic executor\u2019s ability to attach to Java applications enables efficient constraint generation and path exploration. SWAT employs JavaSMT for constraint generation and ASM for bytecode instrumentation, ensuring robust performance. SWAT\u2019s efficacy is evaluated in the Java Track of SV-COMP 2024, achieving fourth place.<\/jats:p>","DOI":"10.1007\/978-3-031-57256-2_28","type":"book-chapter","created":{"date-parts":[[2024,4,4]],"date-time":"2024-04-04T08:03:04Z","timestamp":1712217784000},"page":"399-405","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["SWAT: Modular Dynamic Symbolic Execution for Java Applications using Dynamic Instrumentation (Competition Contribution)"],"prefix":"10.1007","author":[{"given":"Nils","family":"Loose","sequence":"first","affiliation":[]},{"given":"Felix","family":"M\u00e4chtle","sequence":"additional","affiliation":[]},{"given":"Florian","family":"Sieck","sequence":"additional","affiliation":[]},{"given":"Thomas","family":"Eisenbarth","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2024,4,5]]},"reference":[{"key":"28_CR1","doi-asserted-by":"publisher","unstructured":"Baier, D., Beyer, D., Friedberger, K.: Javasmt 3: Interacting with SMT solvers in java. In: Silva, A., Leino, K.R.M. (eds.) Computer Aided Verification - 33rd International Conference, CAV 2021, Virtual Event, July 20-23, 2021, Proceedings, Part II. Lecture Notes in Computer Science, vol. 12760, pp. 195\u2013208. Springer (2021). https:\/\/doi.org\/10.1007\/978-3-030-81688-9_9, https:\/\/doi.org\/10.1007\/978-3-030-81688-9_9","DOI":"10.1007\/978-3-030-81688-9_9"},{"key":"28_CR2","doi-asserted-by":"publisher","unstructured":"Barbosa, H., Barrett, C.W., Brain, M., Kremer, G., Lachnitt, H., Mann, M., Mohamed, A., Mohamed, M., Niemetz, A., N\u00f6tzli, A., Ozdemir, A., Preiner, M., Reynolds, A., Sheng, Y., Tinelli, C., Zohar, Y.: cvc5: A versatile and industrial-strength SMT solver. In: Fisman, D., Rosu, G. (eds.) Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I. Lecture Notes in Computer Science, vol. 13243, pp. 415\u2013442. Springer (2022). https:\/\/doi.org\/10.1007\/978-3-030-99524-9_24, https:\/\/doi.org\/10.1007\/978-3-030-99524-9_24","DOI":"10.1007\/978-3-030-99524-9_24"},{"key":"28_CR3","unstructured":"Barrett, C., Stump, A., Tinelli, C., et\u00a0al.: The smt-lib standard: Version 2.0. In: Proceedings of the 8th international workshop on satisfiability modulo theories (Edinburgh, UK). vol.\u00a013, p.\u00a014 (2010)"},{"key":"28_CR4","doi-asserted-by":"publisher","unstructured":"Beyer, D.: Progress on software verification: SV-COMP 2022. In: Fisman, D., Rosu, G. (eds.) Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part II. Lecture Notes in Computer Science, vol. 13244, pp. 375\u2013402. Springer (2022). https:\/\/doi.org\/10.1007\/978-3-030-99527-0_20, https:\/\/doi.org\/10.1007\/978-3-030-99527-0_20","DOI":"10.1007\/978-3-030-99527-0_20"},{"key":"28_CR5","doi-asserted-by":"crossref","unstructured":"Beyer, D.: Competition on software verification and witness validation: Sv-comp 2023. In: Sankaranarayanan, S., Sharygina, N. (eds.) Tools and Algorithms for the Construction and Analysis of Systems. pp. 495\u2013522. Springer Nature Switzerland, Cham (2023)","DOI":"10.1007\/978-3-031-30820-8_29"},{"key":"28_CR6","unstructured":"Bruneton, E., Lenglet, R., Coupaye, T.: Asm: a code manipulation tool to implement adaptable systems. Adaptable and extensible component systems 30(19) (2002)"},{"key":"28_CR7","doi-asserted-by":"publisher","unstructured":"Bu, L., Liang, Y., Xie, Z., Qian, H., Hu, Y., Yu, Y., Chen, X., Li, X.: Machine learning steered symbolic execution framework for complex software code. Formal Aspects Comput. 33(3), 301\u2013323 (2021). https:\/\/doi.org\/10.1007\/S00165-021-00538-3, https:\/\/doi.org\/10.1007\/s00165-021-00538-3","DOI":"10.1007\/S00165-021-00538-3"},{"key":"28_CR8","unstructured":"Geldenhuys, J., Visser, W.: Coastal. https:\/\/github.com\/DeepseaPlatform\/coastal, accessed 12\/2023"},{"key":"28_CR9","doi-asserted-by":"publisher","unstructured":"Havelund, K., Pressburger, T.: Model checking JAVA programs using JAVA pathfinder. Int. J. Softw. Tools Technol. Transf. 2(4), 366\u2013381 (2000). https:\/\/doi.org\/10.1007\/S100090050043, https:\/\/doi.org\/10.1007\/s100090050043","DOI":"10.1007\/S100090050043"},{"key":"28_CR10","unstructured":"Loose, N., M\u00e4chtle, F., Sieck, F., Eisenbarth, T.: SWAT Competition Version. https:\/\/github.com\/SWAT-project\/SWAT\/tree\/SV-COMP-Submission-2024, accessed 12\/2023"},{"key":"28_CR11","unstructured":"Loose, N., M\u00e4chtle, F., Sieck, F., Eisenbarth, T.: SWAT Documentation. https:\/\/swat-project.github.io\/docs\/, accessed 12\/2023"},{"key":"28_CR12","unstructured":"Loose, N., M\u00e4chtle, F., Sieck, F., Eisenbarth, T.: SWAT Repository. https:\/\/github.com\/swat-project\/swat, accessed 12\/2023"},{"key":"28_CR13","doi-asserted-by":"publisher","unstructured":"Loose, N., M\u00e4chtle, F., Sieck, F., Eisenbarth, T.: Swat (2023). https:\/\/doi.org\/10.5281\/zenodo.10418643, https:\/\/doi.org\/10.5281\/zenodo.10418643","DOI":"10.5281\/zenodo.10418643"},{"key":"28_CR14","doi-asserted-by":"publisher","unstructured":"de\u00a0Moura, L.M., Bj\u00f8rner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings. Lecture Notes in Computer Science, vol.\u00a04963, pp. 337\u2013340. Springer (2008). https:\/\/doi.org\/10.1007\/978-3-540-78800-3_24, https:\/\/doi.org\/10.1007\/978-3-540-78800-3_24","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"28_CR15","doi-asserted-by":"publisher","unstructured":"Mues, M., Howar, F.: Jdart: Dynamic symbolic execution for java bytecode (competition contribution). In: Biere, A., Parker, D. (eds.) Tools and Algorithms for the Construction and Analysis of Systems - 6th International Conference, TACAS 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25-30, 2020, Proceedings, Part II. Lecture Notes in Computer Science, vol. 12079, pp. 398\u2013402. Springer (2020). https:\/\/doi.org\/10.1007\/978-3-030-45237-7_28, https:\/\/doi.org\/10.1007\/978-3-030-45237-7_28","DOI":"10.1007\/978-3-030-45237-7_28"},{"key":"28_CR16","doi-asserted-by":"publisher","unstructured":"Mues, M., Howar, F.: Gdart: An ensemble of tools for dynamic symbolic execution on the java virtual machine (competition contribution). In: Fisman, D., Rosu, G. (eds.) Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part II. Lecture Notes in Computer Science, vol. 13244, pp. 435\u2013439. Springer (2022). https:\/\/doi.org\/10.1007\/978-3-030-99527-0_27, https:\/\/doi.org\/10.1007\/978-3-030-99527-0_27","DOI":"10.1007\/978-3-030-99527-0_27"},{"key":"28_CR17","unstructured":"Oracle: Java Instrumentation. https:\/\/docs.oracle.com\/en\/java\/javase\/17\/docs\/api\/java.instrument\/java\/lang\/instrument\/package-summary.html, accessed 12\/2023"},{"key":"28_CR18","unstructured":"Ram\u00edrez, S.: FastAPI, https:\/\/github.com\/tiangolo\/fastapi, accessed 12\/2023"},{"key":"28_CR19","doi-asserted-by":"publisher","unstructured":"Tanno, H., Zhang, X., Hoshino, T., Sen, K.: Tesma and CATG: Automated test generation tools for models of enterprise applications. In: Bertolino, A., Canfora, G., Elbaum, S.G. (eds.) 37th IEEE\/ACM International Conference on Software Engineering, ICSE 2015, Florence, Italy, May 16-24, 2015, Volume 2. pp. 717\u2013720. IEEE Computer Society (2015). https:\/\/doi.org\/10.1109\/ICSE.2015.231, https:\/\/doi.org\/10.1109\/ICSE.2015.231","DOI":"10.1109\/ICSE.2015.231"},{"key":"28_CR20","doi-asserted-by":"publisher","unstructured":"W\u00fcrthinger, T., Wimmer, C., W\u00f6\u00df, A., Stadler, L., Duboscq, G., Humer, C., Richards, G., Simon, D., Wolczko, M.: One VM to rule them all. In: Hosking, A.L., Eugster, P.T., Hirschfeld, R. (eds.) ACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2013, part of SPLASH \u201913, Indianapolis, IN, USA, October 26-31, 2013. pp. 187\u2013204. ACM (2013). https:\/\/doi.org\/10.1145\/2509578.2509581, https:\/\/doi.org\/10.1145\/2509578.2509581","DOI":"10.1145\/2509578.2509581"}],"container-title":["Lecture Notes in Computer Science","Tools and Algorithms for the Construction and Analysis of Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-57256-2_28","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,4,4]],"date-time":"2024-04-04T08:09:41Z","timestamp":1712218181000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-57256-2_28"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024]]},"ISBN":["9783031572555","9783031572562"],"references-count":20,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-57256-2_28","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024]]},"assertion":[{"value":"5 April 2024","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TACAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Tools and Algorithms for the Construction and Analysis of Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg City","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 April 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 April 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tacas2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/2024\/conferences\/tacas\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"159","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"53","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"16","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"33% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}