{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,16]],"date-time":"2026-05-16T16:07:54Z","timestamp":1778947674469,"version":"3.51.4"},"publisher-location":"Cham","reference-count":31,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319633862","type":"print"},{"value":"9783319633879","type":"electronic"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1007\/978-3-319-63387-9_12","type":"book-chapter","created":{"date-parts":[[2017,7,12]],"date-time":"2017-07-12T08:53:43Z","timestamp":1499849623000},"page":"233-253","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":25,"title":["Learning a Static Analyzer from Data"],"prefix":"10.1007","author":[{"given":"Pavol","family":"Bielik","sequence":"first","affiliation":[]},{"given":"Veselin","family":"Raychev","sequence":"additional","affiliation":[]},{"given":"Martin","family":"Vechev","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,7,13]]},"reference":[{"key":"12_CR1","doi-asserted-by":"crossref","unstructured":"Bielik, P., Raychev, V., Vechev, M.T.: Learning a static analyzer from data. CoRR, abs\/1611.01752 (2016)","DOI":"10.1007\/978-3-319-63387-9_12"},{"key":"12_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"25","DOI":"10.1007\/978-3-319-47958-3_2","volume-title":"Programming Languages and Systems","author":"S Cha","year":"2016","unstructured":"Cha, S., Jeong, S., Oh, H.: Learning a strategy for choosing widening thresholds from a large codebase. In: Igarashi, A. (ed.) APLAS 2016. LNCS, vol. 10017, pp. 25\u201341. Springer, Cham (2016). doi:10.1007\/978-3-319-47958-3_2"},{"key":"12_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"154","DOI":"10.1007\/10722167_15","volume-title":"Computer Aided Verification","author":"E Clarke","year":"2000","unstructured":"Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154\u2013169. Springer, Heidelberg (2000). doi:10.1007\/10722167_15"},{"key":"12_CR4","doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 238\u2013252. ACM, New York (1977)","DOI":"10.1145\/512950.512973"},{"key":"12_CR5","unstructured":"Facebook: Facebook Flow: Static typechecker for JavaScript (2016). https:\/\/github.com\/facebook\/flow"},{"key":"12_CR6","doi-asserted-by":"crossref","unstructured":"Feldthaus, A., Sch\u00e4fer, M., Sridharan, M., Dolby, J., Tip, F.: Efficient construction of approximate call graphs for JavaScript IDE services. In: Proceedings of the 2013 International Conference on Software Engineering, pp. 752\u2013761 (2013)","DOI":"10.1109\/ICSE.2013.6606621"},{"key":"12_CR7","doi-asserted-by":"crossref","unstructured":"Feser, J.K., Chaudhuri, S., Dillig, I.: Synthesizing data structure transformations from input-output examples. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, Portland, OR, USA, 15\u201317 June 2015, pp. 229\u2013239 (2015)","DOI":"10.1145\/2737924.2737977"},{"key":"12_CR8","doi-asserted-by":"crossref","unstructured":"Garg, P., Neider, D., Madhusudan, P., Roth, D.: Learning invariants using decision trees and implication counterexamples. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 499\u2013512 (2016)","DOI":"10.1145\/2837614.2837664"},{"key":"12_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"307","DOI":"10.1007\/978-3-319-21690-4_18","volume-title":"Computer Aided Verification","author":"T Gehr","year":"2015","unstructured":"Gehr, T., Dimitrov, D., Vechev, M.: Learning commutativity specifications. In: Kroening, D., P\u0103s\u0103reanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 307\u2013323. Springer, Cham (2015). doi:10.1007\/978-3-319-21690-4_18"},{"key":"12_CR10","doi-asserted-by":"crossref","unstructured":"Giacobazzi, R., Logozzo, F., Ranzato, F.: Analyzing program analyses. In: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, pp. 261\u2013273. ACM (2015)","DOI":"10.1145\/2676726.2676987"},{"issue":"1","key":"12_CR11","doi-asserted-by":"publisher","first-page":"20:20","DOI":"10.1145\/2090147.2094081","volume":"10","author":"P Godefroid","year":"2012","unstructured":"Godefroid, P., Levin, M.Y., Molnar, D.: SAGE: whitebox fuzzing for security testing. Queue 10(1), 20:20\u201320:27 (2012)","journal-title":"Queue"},{"key":"12_CR12","unstructured":"Guarnieri, S., Livshits, B.: GATEKEEPER: mostly static enforcement of security and reliability policies for JavaScript code. In: Proceedings of the 18th Conference on USENIX Security Symposium, SSYM 2009, pp. 151\u2013168 (2009)"},{"key":"12_CR13","doi-asserted-by":"crossref","unstructured":"Gulwani, S.: Automating string processing in spreadsheets using input-output examples. In: Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 317\u2013330 (2011)","DOI":"10.1145\/1925844.1926423"},{"key":"12_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1007\/978-3-662-53413-7_12","volume-title":"Static Analysis","author":"K Heo","year":"2016","unstructured":"Heo, K., Oh, H., Yang, H.: Learning a variable-clustering strategy for octagon from labeled data generated by a static analysis. In: Rival, X. (ed.) SAS 2016. LNCS, vol. 9837, pp. 237\u2013256. Springer, Heidelberg (2016). doi:10.1007\/978-3-662-53413-7_12"},{"key":"12_CR15","doi-asserted-by":"crossref","unstructured":"Heule, S., Sridharan, M., Chandra, S.: Mimic: computing models for opaque code. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC\/FSE 2015, pp. 710\u2013720 (2015)","DOI":"10.1145\/2786805.2786875"},{"key":"12_CR16","doi-asserted-by":"crossref","unstructured":"Jang, D., Choe, K.-M.: Points-to analysis for JavaScript. In: Proceedings of the 2009 ACM Symposium on Applied Computing, SAC 2009, pp. 1930\u20131937 (2009)","DOI":"10.1145\/1529282.1529711"},{"key":"12_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"238","DOI":"10.1007\/978-3-642-03237-0_17","volume-title":"Static Analysis","author":"SH Jensen","year":"2009","unstructured":"Jensen, S.H., M\u00f8ller, A., Thiemann, P.: Type analysis for JavaScript. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 238\u2013255. Springer, Heidelberg (2009). doi:10.1007\/978-3-642-03237-0_17"},{"key":"12_CR18","doi-asserted-by":"crossref","unstructured":"Jeon, J., Qiu, X., Fetter-Degges, J., Foster, J.S., Solar-Lezama, A.: Synthesizing framework models for symbolic execution. In: Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, pp. 156\u2013167 (2016)","DOI":"10.1145\/2884781.2884856"},{"key":"12_CR19","doi-asserted-by":"crossref","unstructured":"Jha, S., Gulwani, S., Seshia, S.A., Tiwari, A.: Oracle-guided component-based program synthesis. In: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering, ICSE 2010, vol. 1, pp. 215\u2013224 (2010)","DOI":"10.1145\/1806799.1806833"},{"key":"12_CR20","doi-asserted-by":"crossref","unstructured":"Katz, O., El-Yaniv, R., Yahav, E.: Estimating types in binaries using predictive modeling. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 313\u2013326 (2016)","DOI":"10.1145\/2837614.2837674"},{"key":"12_CR21","series-title":"Lecture Notes in Computer Science","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","year":"2009","unstructured":"Kowalewski, S., Philippou, A. (eds.): TACAS 2009. LNCS, vol. 5505. Springer, Heidelberg (2009)"},{"key":"12_CR22","doi-asserted-by":"crossref","unstructured":"Le, V., Afshari, M., Su, Z.: Compiler validation via equivalence modulo inputs. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014, pp. 216\u2013226 (2014)","DOI":"10.1145\/2594291.2594334"},{"key":"12_CR23","doi-asserted-by":"crossref","unstructured":"Von Luxburg, U., Schoelkopf, B.: Statistical learning theory: models, concepts, and results. In: Inductive Logic, pp. 651\u2013706 (2011)","DOI":"10.1016\/B978-0-444-52936-7.50016-1"},{"key":"12_CR24","doi-asserted-by":"crossref","unstructured":"Madsen, M., Livshits, B., Fanning, M.: Practical static analysis of JavaScript applications in the presence of frameworks and libraries. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC\/FSE 2013, pp. 499\u2013509. ACM, New York (2013)","DOI":"10.1145\/2491411.2491417"},{"key":"12_CR25","doi-asserted-by":"crossref","unstructured":"Mangal, R., Zhang, X., Nori, A.V., Naik, M.: A user-guided approach to program analysis. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC\/FSE 2015, pp. 462\u2013473 (2015)","DOI":"10.1145\/2786805.2786851"},{"key":"12_CR26","doi-asserted-by":"crossref","unstructured":"Oh, H., Yang, H., Yi, K.: Learning a strategy for adapting a program analysis via Bayesian optimisation. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, pp. 572\u2013588 (2015)","DOI":"10.1145\/2814270.2814309"},{"issue":"1","key":"12_CR27","first-page":"81","volume":"1","author":"JR Quinlan","year":"1986","unstructured":"Quinlan, J.R.: Induction of decision trees. Mach. Learn. 1(1), 81\u2013106 (1986)","journal-title":"Mach. Learn."},{"key":"12_CR28","doi-asserted-by":"crossref","unstructured":"Raychev, V., Bielik, P., Vechev, M., Krause, A.: Learning programs from noisy data. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 761\u2013774 (2016)","DOI":"10.1145\/2837614.2837671"},{"key":"12_CR29","doi-asserted-by":"crossref","unstructured":"Raychev, V., Vechev, M., Krause, A.: Predicting program properties from big code. In: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, pp. 111\u2013124 (2015)","DOI":"10.1145\/2676726.2677009"},{"key":"12_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"388","DOI":"10.1007\/978-3-642-38856-9_21","volume-title":"Static Analysis","author":"R Sharma","year":"2013","unstructured":"Sharma, R., Gupta, S., Hariharan, B., Aiken, A., Nori, A.V.: Verification as learning geometric concepts. In: Logozzo, F., F\u00e4hndrich, M. (eds.) SAS 2013. LNCS, vol. 7935, pp. 388\u2013411. Springer, Heidelberg (2013). doi:10.1007\/978-3-642-38856-9_21"},{"key":"12_CR31","doi-asserted-by":"crossref","unstructured":"Solar-Lezama, A., Tancau, L., Bod\u00edk, R., Seshia, S.A., Saraswat, V.A.: Combinatorial sketching for finite programs. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2006, pp. 404\u2013415 (2006)","DOI":"10.1145\/1168857.1168907"}],"container-title":["Lecture Notes in Computer Science","Computer Aided Verification"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-63387-9_12","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,30]],"date-time":"2022-07-30T20:25:51Z","timestamp":1659212751000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-63387-9_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319633862","9783319633879"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-63387-9_12","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017]]},"assertion":[{"value":"13 July 2017","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CAV","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Computer Aided Verification","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Heidelberg","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Germany","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 July 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28 July 2017","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":"cav2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/cavconference.org\/2017\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}