{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,8]],"date-time":"2026-10-08T11:36:39Z","timestamp":1791459399013,"version":"4.3.4"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030174644","type":"print"},{"value":"9783030174651","type":"electronic"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-17465-1_22","type":"book-chapter","created":{"date-parts":[[2019,4,3]],"date-time":"2019-04-03T22:50:37Z","timestamp":1554331837000},"page":"393-410","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":66,"title":["PhASAR: An Inter-procedural Static Analysis Framework for C\/C++"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8674-1859","authenticated-orcid":false,"given":"Philipp Dominik","family":"Schubert","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9848-2017","authenticated-orcid":false,"given":"Ben","family":"Hermann","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3470-3647","authenticated-orcid":false,"given":"Eric","family":"Bodden","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2019,4,3]]},"reference":[{"key":"22_CR1","unstructured":"Boost.proto, August 2018. \n                      https:\/\/www.boost.org\/doc\/libs\/1_68_0\/doc\/html\/proto.html"},{"key":"22_CR2","unstructured":"Clang: a C Language Family Frontend for LLVM, July 2018. \n                      http:\/\/clang.llvm.org\/"},{"key":"22_CR3","unstructured":"CoreUtils, July 2018. \n                      https:\/\/www.gnu.org\/software\/coreutils\/coreutils.html"},{"key":"22_CR4","unstructured":"GCC, the GNU Compiler Collection, July 2018. \n                      https:\/\/gcc.gnu.org\/"},{"key":"22_CR5","unstructured":"GNU Compiler Collection (GCC) Internals, July 2018. \n                      https:\/\/gcc.gnu.org\/onlinedocs\/gccint\/"},{"key":"22_CR6","unstructured":"Andersen, L.O.: Program analysis and specialization for the C programming language. Technical report (1994)"},{"key":"22_CR7","doi-asserted-by":"publisher","unstructured":"Bodden, E.: Inter-procedural data-flow analysis with IFDS\/IDE and Soot. In: Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program Analysis, SOAP 2012, pp. 3\u20138. ACM, New York (2012). \n                      https:\/\/doi.org\/10.1145\/2259051.2259052","DOI":"10.1145\/2259051.2259052"},{"key":"22_CR8","unstructured":"Clang Static Analyzer, August 2018. \n                      https:\/\/clang-analyzer.llvm.org\/"},{"key":"22_CR9","unstructured":"Clang-Tidy, August 2018. \n                      http:\/\/clang.llvm.org\/extra\/clang-tidy\/"},{"key":"22_CR10","unstructured":"CodeSonar, August 2018. \n                      https:\/\/www.grammatech.com\/products\/codesonar\/"},{"key":"22_CR11","unstructured":"Coverity, August 2018. \n                      https:\/\/scan.coverity.com\/"},{"key":"22_CR12","unstructured":"Cppcheck, August 2018. \n                      http:\/\/cppcheck.sourceforge.net\/"},{"key":"22_CR13","unstructured":"Doop, August 2018. \n                      http:\/\/doop.program-analysis.org\/"},{"key":"22_CR14","doi-asserted-by":"publisher","unstructured":"Eichberg, M., Hermann, B.: A software product line for static analyses: the OPAL framework. In: Proceedings of the 3rd ACM SIGPLAN International Workshop on the State of the Art in Java Program Analysis, SOAP 2014, pp. 1\u20136. ACM, New York (2014). \n                      https:\/\/doi.org\/10.1145\/2614628.2614630","DOI":"10.1145\/2614628.2614630"},{"issue":"3","key":"22_CR15","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1007\/BF00290339","volume":"7","author":"JB Kam","year":"1977","unstructured":"Kam, J.B., Ullman, J.D.: Monotone data flow analysis frameworks. Acta Informatica 7(3), 305\u2013317 (1977). \n                      https:\/\/doi.org\/10.1007\/BF00290339","journal-title":"Acta Informatica"},{"key":"22_CR16","unstructured":"Lam, P., Bodden, E., Lhot\u00e1k, O., Hendren, L.: The Soot framework for Java program analysis: a retrospective, October 2011"},{"key":"22_CR17","unstructured":"Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization, CGO 2004, p. 75. IEEE Computer Society, Washington, DC (2004). \n                      http:\/\/dl.acm.org\/citation.cfm?id=977395.977673"},{"key":"22_CR18","doi-asserted-by":"publisher","unstructured":"Livshits, B., et al.: In defense of soundiness: a manifesto. Commun. ACM 58(2), 44\u201346 (2015). \n                      https:\/\/doi.org\/10.1145\/2644805","DOI":"10.1145\/2644805"},{"key":"22_CR19","unstructured":"Merrill, J.: GENERIC and GIMPLE: a new tree representation for entire functions. In: Proceedings of the GCC Developers Summit, pp. 171\u2013180 (2003)"},{"key":"22_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"124","DOI":"10.1007\/978-3-642-11970-5_8","volume-title":"Compiler Construction","author":"NA Naeem","year":"2010","unstructured":"Naeem, N.A., Lhot\u00e1k, O., Rodriguez, J.: Practical extensions to the IFDS algorithm. In: Gupta, R. (ed.) CC 2010. LNCS, vol. 6011, pp. 124\u2013144. Springer, Heidelberg (2010). \n                      https:\/\/doi.org\/10.1007\/978-3-642-11970-5_8"},{"key":"22_CR21","unstructured":"Nguyen, L., Kr\u00fcger, S., Hill, P., Ali, K., Bodden, E.: VisuFlow, a debugging environment for static analyses. In: International Conference for Software Engineering (ICSE), Tool Demonstrations Track, 1 January 2018"},{"key":"22_CR22","doi-asserted-by":"publisher","unstructured":"Padhye, R., Khedker, U.P.: Interprocedural data flow analysis in soot using value contexts. In: Proceedings of the 2nd ACM SIGPLAN International Workshop on State of the Art in Java Program Analysis, SOAP 2013, pp. 31\u201336. ACM, New York (2013). \n                      https:\/\/doi.org\/10.1145\/2487568.2487569","DOI":"10.1145\/2487568.2487569"},{"key":"22_CR23","unstructured":"Phasar, July 2018. \n                      https:\/\/phasar.org"},{"key":"22_CR24","doi-asserted-by":"publisher","unstructured":"Reps, T., Horwitz, S., Sagiv, M.: Precise interprocedural dataflow analysis via graph reachability. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1995, pp. 49\u201361. ACM, New York (1995). \n                      https:\/\/doi.org\/10.1145\/199448.199462","DOI":"10.1145\/199448.199462"},{"key":"22_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"189","DOI":"10.1007\/3-540-44898-5_11","volume-title":"Static Analysis","author":"T Reps","year":"2003","unstructured":"Reps, T., Schwoon, S., Jha, S.: Weighted pushdown systems and their application to interprocedural dataflow analysis. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 189\u2013213. Springer, Heidelberg (2003). \n                      https:\/\/doi.org\/10.1007\/3-540-44898-5_11\n                      \n                    . \n                      http:\/\/dl.acm.org\/citation.cfm?id=1760267.1760283"},{"key":"22_CR26","doi-asserted-by":"publisher","unstructured":"Sagiv, M., Reps, T., Horwitz, S.: Precise interprocedural dataflow analysis with applications to constant propagation. Theor. Comput. Sci. 167(1\u20132), 131\u2013170 (1996). \n                      https:\/\/doi.org\/10.1016\/0304-3975(96)00072-2","DOI":"10.1016\/0304-3975(96)00072-2"},{"key":"22_CR27","unstructured":"Sharir, M., Pnueli, A.: Two approaches to interprocedural data flow analysis. New York University, Computer Science Department, New York (1978). \n                      https:\/\/cds.cern.ch\/record\/120118"},{"key":"22_CR28","doi-asserted-by":"crossref","unstructured":"Sp\u00e4th, J., Ali, K., Bodden, E.: Context-, flow- and field-sensitive data-flow analysis using synchronized pushdown systems. In: ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2019), 13\u201319 January 2019 (to appear)","DOI":"10.1145\/3290361"},{"key":"22_CR29","unstructured":"Sp\u00e4th, J., Nguyen, L., Ali, K., Bodden, E.: Boomerang: demand-driven flow- and context-sensitive pointer analysis for Java. In: European Conference on Object-Oriented Programming (ECOOP), 17\u201322 July 2016"},{"key":"22_CR30","doi-asserted-by":"publisher","unstructured":"Steensgaard, B.: Points-to analysis in almost linear time. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1996, pp. 32\u201341. ACM, New York (1996). \n                      https:\/\/doi.org\/10.1145\/237721.237727","DOI":"10.1145\/237721.237727"},{"key":"22_CR31","unstructured":"SVF, August 2018. \n                      https:\/\/github.com\/SVF-tools\/SVF\/"},{"key":"22_CR32","unstructured":"WALi-OpenNWA, July 2018. \n                      https:\/\/github.com\/WaliDev\/WALi-OpenNWA"},{"key":"22_CR33","unstructured":"WALA, August 2018. \n                      http:\/\/wala.sourceforge.net\/wiki\/index.php\/Main_Page"},{"key":"22_CR34","doi-asserted-by":"publisher","unstructured":"Schubert, P.D., Hermann, B., Bodden, E.: Artifact and instructions to generate experimental results for TACAS 2019 paper: PhASAR: An Inter-procedural Static Analysis Framework for C\/C++ (artifact). Figshare (2019). \n                      https:\/\/doi.org\/10.6084\/m9.figshare.7824851.v1","DOI":"10.6084\/m9.figshare.7824851.v1"}],"container-title":["Lecture Notes in Computer Science","Tools and Algorithms for the Construction and Analysis of Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-17465-1_22","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T09:53:11Z","timestamp":1558345991000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-17465-1_22"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030174644","9783030174651"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-17465-1_22","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"3 April 2019","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":"Prague","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Czech Republic","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 April 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 April 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tacas2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.etaps.org\/2019\/tacas","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"164","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"42","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"8","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"26% - 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"}},{"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"}},{"value":"13","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"12 full papers and 11 short papers accepted for TOOLympics and SV-COMP (avg. 4 reviewers\/paper, selected from 43 submissions)","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}}]}}