{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T14:46:30Z","timestamp":1742913990639,"version":"3.40.3"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030584740"},{"type":"electronic","value":"9783030584757"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","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":[[2020]]},"DOI":"10.1007\/978-3-030-58475-7_46","type":"book-chapter","created":{"date-parts":[[2020,9,6]],"date-time":"2020-09-06T20:02:35Z","timestamp":1599422555000},"page":"791-808","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Constraint-Based Software Diversification for Efficient Mitigation of Code-Reuse Attacks"],"prefix":"10.1007","author":[{"given":"Rodothea Myrsini","family":"Tsoupidi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Roberto","family":"Casta\u00f1eda Lozano","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Benoit","family":"Baudry","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,9,2]]},"reference":[{"key":"46_CR1","doi-asserted-by":"publisher","first-page":"10","DOI":"10.1016\/j.jnca.2017.04.002","volume":"88","author":"FA Alaba","year":"2017","unstructured":"Alaba, F.A., Othman, M., Hashem, I.A.T., Alotaibi, F.: Internet of Things security: a survey. J. Netw. Comput. Appl. 88, 10\u201328 (2017). https:\/\/doi.org\/10.1016\/j.jnca.2017.04.002","journal-title":"J. Netw. Comput. Appl."},{"issue":"1","key":"46_CR2","doi-asserted-by":"publisher","first-page":"16:1","DOI":"10.1145\/2807593","volume":"48","author":"B Baudry","year":"2015","unstructured":"Baudry, B., Monperrus, M.: The multiple facets of software diversity: recent developments in year 2000 and beyond. ACM Comput. Surv. 48(1), 16:1\u201316:26 (2015). https:\/\/doi.org\/10.1145\/2807593","journal-title":"ACM Comput. Surv."},{"issue":"1","key":"46_CR3","doi-asserted-by":"publisher","first-page":"14","DOI":"10.1109\/MSP.2009.24","volume":"7","author":"KP Birman","year":"2009","unstructured":"Birman, K.P., Schneider, F.B.: The monoculture risk put into context. IEEE Secur. Priv. 7(1), 14\u201317 (2009)","journal-title":"IEEE Secur. Priv."},{"key":"46_CR4","doi-asserted-by":"crossref","unstructured":"Bletsch, T., Jiang, X., Freeh, V.W., Liang, Z.: Jump-oriented programming: a new class of code-reuse attack. In: Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, ASIACCS 2011, pp. 30\u201340. ACM, New York (2011)","DOI":"10.1145\/1966913.1966919"},{"key":"46_CR5","doi-asserted-by":"publisher","unstructured":"Braden, K., et al.: Leakage-resilient layout randomization for mobile devices. In: Proceedings of 2016 Network and Distributed System Security Symposium. Internet Society, San Diego (2016). https:\/\/doi.org\/10.14722\/ndss.2016.23364","DOI":"10.14722\/ndss.2016.23364"},{"issue":"3","key":"46_CR6","first-page":"17:1","volume":"41","author":"R Casta\u00f1eda Lozano","year":"2019","unstructured":"Casta\u00f1eda Lozano, R., Carlsson, M., Blindell, G.H., Schulte, C.: Combinatorial register allocation and instruction scheduling. ACM Trans. Program. Lang. Syst. 41(3), 17:1\u201317:53 (2019)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"46_CR7","doi-asserted-by":"crossref","unstructured":"Checkoway, S., Davi, L., Dmitrienko, A., Sadeghi, A.R., Shacham, H., Winandy, M.: Return-oriented programming without returns. In: Proceedings of the 17th ACM Conference on Computer and Communications Security, CCS 2010, pp. 559\u2013572. ACM, New York (2010)","DOI":"10.1145\/1866307.1866370"},{"key":"46_CR8","unstructured":"Chu, G.G.: Improving combinatorial optimization. Ph.D. thesis, The University of Melbourne, Australia (2011)"},{"key":"46_CR9","doi-asserted-by":"publisher","unstructured":"Crane, S., et al.: Readactor: practical code randomization resilient to memory disclosure. In: 2015 IEEE Symposium on Security and Privacy, pp. 763\u2013780, May 2015. https:\/\/doi.org\/10.1109\/SP.2015.52","DOI":"10.1109\/SP.2015.52"},{"key":"46_CR10","unstructured":"Davi, L.V., Dmitrienko, A., N\u00fcrnberger, S., Sadeghi, A.R.: Gadge me if you can: secure and efficient ad-hoc instruction-level randomization for x86 and ARM. In: Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and Communications Security, pp. 299\u2013310 (2013). ACM: tex.organization"},{"key":"46_CR11","unstructured":"Gecode Team: Gecode: generic constraint development environment (2020). https:\/\/www.gecode.org"},{"issue":"2","key":"46_CR12","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1002\/j.1538-7305.1950.tb00463.x","volume":"29","author":"RW Hamming","year":"1950","unstructured":"Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 29(2), 147\u2013160 (1950). https:\/\/doi.org\/10.1002\/j.1538-7305.1950.tb00463.x","journal-title":"Bell Syst. Tech. J."},{"key":"46_CR13","unstructured":"Hebrard, E., Hnich, B., O\u2019Sullivan, B., Walsh, T.: Finding diverse and similar solutions in constraint programming. In: National Conference on Artificial Intelligence and the Seventeenth Innovative Applications of Artificial Intelligence Conference, p. 6 (2005)"},{"issue":"2","key":"46_CR14","doi-asserted-by":"publisher","first-page":"158","DOI":"10.1109\/TDSC.2015.2433252","volume":"14","author":"A Homescu","year":"2017","unstructured":"Homescu, A., Jackson, T., Crane, S., Brunthaler, S., Larsen, P., Franz, M.: Large-scale automated software diversity\u2014program evolution redux. IEEE Trans. Dependable Secure Comput. 14(2), 158\u2013171 (2017). https:\/\/doi.org\/10.1109\/TDSC.2015.2433252","journal-title":"IEEE Trans. Dependable Secure Comput."},{"key":"46_CR15","doi-asserted-by":"publisher","unstructured":"Homescu, A., Neisius, S., Larsen, P., Brunthaler, S., Franz, M.: Profile-guided automated software diversity. In: Proceedings of the 2013 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO), CGO 2013, pp. 1\u201311. IEEE Computer Society, Washington, DC (2013). https:\/\/doi.org\/10.1109\/CGO.2013.6494997","DOI":"10.1109\/CGO.2013.6494997"},{"key":"46_CR16","doi-asserted-by":"crossref","unstructured":"Ingmar, L., de la Banda, M.G., Stuckey, P.J., Tack, G.: Modelling diversity of solutions. In: Proceedings of the Thirty-Fourth AAAI Conference on Artificial Intelligence (2020)","DOI":"10.1609\/aaai.v34i02.5512"},{"key":"46_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1007\/978-3-540-89598-5_7","volume-title":"Advances in Information and Computer Security","author":"M Jacob","year":"2008","unstructured":"Jacob, M., Jakubowski, M.H., Naldurg, P., Saw, C.W.N., Venkatesan, R.: The superdiversifier: peephole individualization for software protection. In: Matsuura, K., Fujisaki, E. (eds.) IWSEC 2008. LNCS, vol. 5312, pp. 100\u2013120. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-89598-5_7"},{"key":"46_CR18","doi-asserted-by":"publisher","unstructured":"Koo, H., Chen, Y., Lu, L., Kemerlis, V.P., Polychronakis, M.: Compiler-assisted code randomization. In: 2018 IEEE Symposium on Security and Privacy (SP), pp. 461\u2013477, May 2018. https:\/\/doi.org\/10.1109\/SP.2018.00029","DOI":"10.1109\/SP.2018.00029"},{"issue":"2","key":"46_CR19","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1145\/130844.130856","volume":"24","author":"CW Krueger","year":"1992","unstructured":"Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131\u2013183 (1992). https:\/\/doi.org\/10.1145\/130844.130856","journal-title":"ACM Comput. Surv."},{"key":"46_CR20","doi-asserted-by":"publisher","unstructured":"Larsen, P., Homescu, A., Brunthaler, S., Franz, M.: SoK: automated software diversity. In: 2014 IEEE Symposium on Security and Privacy, pp. 276\u2013291, May 2014. https:\/\/doi.org\/10.1109\/SP.2014.25","DOI":"10.1109\/SP.2014.25"},{"key":"46_CR21","unstructured":"Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Code Generation and Optimization. IEEE (2004)"},{"key":"46_CR22","unstructured":"Lee, C., Potkonjak, M., Mangione-Smith, W.H.: MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems. In: International Symposium on Microarchitecture, pp. 330\u2013335. IEEE (1997)"},{"key":"46_CR23","unstructured":"Lundquist, G.R., Bhatt, U., Hamlen, K.W.: Relational processing for fun and diversity. In: Proceedings of the 2019 Minikanren and Relational Programming Workshop, p. 100 (2019)"},{"key":"46_CR24","doi-asserted-by":"publisher","unstructured":"Lundquist, G.R., Mohan, V., Hamlen, K.W.: Searching for software diversity: attaining artificial diversity through program synthesis. In: Proceedings of the 2016 New Security Paradigms Workshop, NSPW 2016, pp. 80\u201391. ACM, New York (2016). https:\/\/doi.org\/10.1145\/3011883.3011891","DOI":"10.1145\/3011883.3011891"},{"key":"46_CR25","doi-asserted-by":"publisher","unstructured":"Pappas, V., Polychronakis, M., Keromytis, A.D.: Smashing the gadgets: hindering return-oriented programming using in-place code randomization. In: 2012 IEEE Symposium on Security and Privacy, pp. 601\u2013615, May 2012. https:\/\/doi.org\/10.1109\/SP.2012.41","DOI":"10.1109\/SP.2012.41"},{"key":"46_CR26","unstructured":"Petit, T., Trapp, A.C.: Finding diverse solutions of high quality to constraint optimization problems. In: Twenty-Fourth International Joint Conference on Artificial Intelligence, June 2015"},{"key":"46_CR27","unstructured":"Salwan, J.: ROPgadget tool (2020). http:\/\/shell-storm.org\/project\/ROPgadget\/"},{"key":"46_CR28","doi-asserted-by":"crossref","unstructured":"Shacham, H.: The geometry of innocent flesh on the bone: return-into-libc without function calls (on the x86). In: Proceedings of the 14th ACM Conference on Computer and Communications Security, CCS 2007, pp. 552\u2013561. ACM, New York (2007)","DOI":"10.1145\/1315245.1315313"},{"key":"46_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"417","DOI":"10.1007\/3-540-49481-2_30","volume-title":"Principles and Practice of Constraint Programming \u2014 CP 1998","author":"P Shaw","year":"1998","unstructured":"Shaw, P.: Using constraint programming and local search methods to solve vehicle routing problems. In: Maher, M., Puget, J.-F. (eds.) CP 1998. LNCS, vol. 1520, pp. 417\u2013431. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/3-540-49481-2_30"},{"key":"46_CR30","unstructured":"SPEC: CPU 2006 benchmarks (2020). https:\/\/www.spec.org\/cpu2006. Accessed 20 Mar 2020"},{"key":"46_CR31","volume-title":"See MIPS Run","author":"D Sweetman","year":"2006","unstructured":"Sweetman, D.: See MIPS Run, 2nd edn. Morgan Kaufmann, Burlington (2006)","edition":"2"},{"key":"46_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"787","DOI":"10.1007\/978-3-642-04244-7_61","volume-title":"Principles and Practice of Constraint Programming - CP 2009","author":"P Van Hentenryck","year":"2009","unstructured":"Van Hentenryck, P., Coffrin, C., Gutkovich, B.: Constraint-based local search for the automatic generation of architectural tests. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 787\u2013801. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-04244-7_61"},{"issue":"1","key":"46_CR33","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1145\/321796.321811","volume":"21","author":"RA Wagner","year":"1974","unstructured":"Wagner, R.A., Fischer, M.J.: The string-to-string correction problem. J. ACM (JACM) 21(1), 168\u2013173 (1974)","journal-title":"J. ACM (JACM)"},{"key":"46_CR34","doi-asserted-by":"publisher","unstructured":"Wang, S., Wang, P., Wu, D.: Composite software diversification. In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 284\u2013294, September 2017. https:\/\/doi.org\/10.1109\/ICSME.2017.61","DOI":"10.1109\/ICSME.2017.61"}],"container-title":["Lecture Notes in Computer Science","Principles and Practice of Constraint Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-58475-7_46","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,24]],"date-time":"2021-04-24T05:40:44Z","timestamp":1619242844000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-58475-7_46"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030584740","9783030584757"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-58475-7_46","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"2 September 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Principles and Practice of Constraint Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Louvain-la-Neuve","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Belgium","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 September 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 September 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cp2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/cp2020.a4cp.org\/","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":"122","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":"55","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":"0","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":"45% - 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.13","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":"3.47","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)"}},{"value":"The conference was held virtually due to the COVID-19 pandemic.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}