{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,11]],"date-time":"2026-01-11T19:56:46Z","timestamp":1768161406329,"version":"3.49.0"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783032159809","type":"print"},{"value":"9783032159816","type":"electronic"}],"license":[{"start":{"date-parts":[[2026,1,1]],"date-time":"2026-01-01T00:00:00Z","timestamp":1767225600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2026,1,1]],"date-time":"2026-01-01T00:00:00Z","timestamp":1767225600000},"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":[[2026]]},"DOI":"10.1007\/978-3-032-15981-6_6","type":"book-chapter","created":{"date-parts":[[2026,1,11]],"date-time":"2026-01-11T17:13:30Z","timestamp":1768151610000},"page":"96-114","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Multi-configurable Search Rules in\u00a0Prolog and\u00a0Application to\u00a0Testing"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0002-1072-8989","authenticated-orcid":false,"given":"Daniela","family":"Ferreiro","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9782-8135","authenticated-orcid":false,"given":"Jose F.","family":"Morales","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1092-2071","authenticated-orcid":false,"given":"Pedro","family":"L\u00f3pez-Garc\u00eda","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7583-323X","authenticated-orcid":false,"given":"Manuel V.","family":"Hermenegildo","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2026,1,12]]},"reference":[{"key":"6_CR1","doi-asserted-by":"crossref","unstructured":"Amaral, C., Florido, M., Costa, V.S.: PrologCheck - property-based testing in prolog. In: Functional and Logic Programming - 12th International Symposium, FLOPS. LNCS, vol.\u00a08475, pp. 1\u201317. Springer, Cham (2014)","DOI":"10.1007\/978-3-319-07151-0_1"},{"key":"6_CR2","doi-asserted-by":"crossref","unstructured":"Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Proceedings of the 9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education, PLILP 1997, pp. 191\u2013206. Springer, London (1997). http:\/\/dl.acm.org\/citation.cfm?id=646452.692956","DOI":"10.1007\/BFb0033845"},{"key":"6_CR3","doi-asserted-by":"publisher","unstructured":"Casso, I., Morales, J.F., Lopez-Garcia, P., Hermenegildo, M.: An integrated approach to assertion-based random testing in prolog. In: Gabbrielli, M. (ed.) Post-Proceedings of the 29th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2019). LNCS, vol. 12042, pp. 159\u2013176. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-45260-5_10","DOI":"10.1007\/978-3-030-45260-5_10"},{"key":"6_CR4","doi-asserted-by":"crossref","unstructured":"Christiansen, J., Fischer, S.: EasyCheck - test data for free. In: Functional and Logic Programming, 9th International Symposium, FLOPS. pp. 322\u2013336 (2008)","DOI":"10.1007\/978-3-540-78969-7_23"},{"key":"6_CR5","doi-asserted-by":"crossref","unstructured":"Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of haskell programs. In: Fifth ACM SIGPLAN International Conference on Functional Programming, ICFP 2000, , pp. 268\u2013279. ACM (2000)","DOI":"10.1145\/351240.351266"},{"issue":"1\u20132","key":"6_CR6","doi-asserted-by":"publisher","first-page":"253","DOI":"10.1017\/S1471068411000470","volume":"12","author":"D Diaz","year":"2012","unstructured":"Diaz, D., Abreu, S., Codognet, P.: On the implementation of GNU Prolog. Theory Pract. Logic Program. 12(1\u20132), 253\u2013282 (2012)","journal-title":"Theory Pract. Logic Program."},{"key":"6_CR7","doi-asserted-by":"crossref","unstructured":"De Angelis, E., Fioravanti, F., Palacios, A., Pettorossi, A., Proietti, M.: Property-based test case generators for free. In: International Conference on Tests and Proofs, pp. 186\u2013206. Springer, Cham (2019)","DOI":"10.1007\/978-3-030-31157-5_12"},{"key":"6_CR8","doi-asserted-by":"crossref","unstructured":"De\u00a0Koninck, L., Schrijvers, T., Demoen, B.: A flexible search framework for CHR, pp. 16\u201347. Springer, Heidelberg (2008)","DOI":"10.1007\/978-3-540-92243-8_2"},{"key":"6_CR9","doi-asserted-by":"crossref","unstructured":"Ferreiro, D., Casso, I., Lopez-Garcia, P., Morales, J.F., Hermenegildo, M.V.: Checkification: A Practical Approach for Testing Static Analysis Truths. Theory and Practice of Logic Programming (2025). https:\/\/arxiv.org\/abs\/2501.12093","DOI":"10.1017\/S1471068425100069"},{"key":"6_CR10","doi-asserted-by":"crossref","unstructured":"Flanagan, C.: Hybrid type checking. In: 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, pp. 245\u2013256 (2006)","DOI":"10.1145\/1111037.1111059"},{"key":"6_CR11","doi-asserted-by":"publisher","unstructured":"Fortz, S., Mesnard, F., Payet, \u00c9., Perrouin, G., Vanhoof, W., Vidal, G.: An SMT-based concolic testing tool for logic programs. In: Functional and Logic Programming - 15th International Symposium, FLOPS. LNCS, vol. 12073, pp. 215\u2013219. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-59025-3_13","DOI":"10.1007\/978-3-030-59025-3_13"},{"key":"6_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"36","DOI":"10.1007\/978-3-030-45260-5_3","volume-title":"Logic-Based Program Synthesis and Transformation","author":"I Garcia-Contreras","year":"2020","unstructured":"Garcia-Contreras, I., Morales, J.F., Hermenegildo, M.V.: Incremental analysis of logic programs with assertions and open predicates. In: Gabbrielli, M. (ed.) LOPSTR 2019. LNCS, vol. 12042, pp. 36\u201356. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-45260-5_3"},{"key":"6_CR13","doi-asserted-by":"crossref","unstructured":"Garc\u00eda de la Banda, M.J., Jeffery, D., Marriott, K., Nethercote, N., Stuckey, P.J., Holzbaur, C.: Building constraint solvers with hal. In: ICLP 2004, pp. 90\u2013104 (2001)","DOI":"10.1007\/3-540-45635-X_14"},{"key":"6_CR14","unstructured":"Hamlet, D.: Random testing. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering, pp. 970\u2013978. Wiley (1994)"},{"key":"6_CR15","doi-asserted-by":"publisher","unstructured":"Hermenegildo, M.V., et al.: An overview of ciao and its design philosophy. Theory Pract. Logic Program. 12(1\u20132), 219\u2013252 (2012). https:\/\/doi.org\/10.1017\/S1471068411000457. https:\/\/arxiv.org\/abs\/1102.5497","DOI":"10.1017\/S1471068411000457"},{"key":"6_CR16","unstructured":"Hermenegildo, M.V., Morales, J.F., Lopez-Garcia, P.: Teaching pure LP with prolog and a fair search rule. In: Proceedings of the 40th ICLP Workshops, vol.\u00a03799. CEUR-WS.org (2024). https:\/\/ceur-ws.org\/Vol-3799\/paper2PEG2.0.pdf"},{"key":"6_CR17","doi-asserted-by":"crossref","unstructured":"Hermenegildo, M., Puebla, G., Bueno, F.: Using global analysis, partial specifications, and an extensible assertion language for program validation and debugging. In: Apt, K.R., Marek, V., Truszczynski, M., Warren, D.S. (eds.) The Logic Programming Paradigm: A 25\u2013Year Perspective, pp. 161\u2013192. Springer, Cham (1999)","DOI":"10.1007\/978-3-642-60085-2_7"},{"key":"6_CR18","doi-asserted-by":"crossref","unstructured":"Hermenegildo, M., Puebla, G., Bueno, F., Lopez-Garcia, P.: Program development using abstract interpretation (and the ciao system preprocessor). In: 10th International Static Analysis Symposium (SAS 2003). LNCS, vol.\u00a02694, pp. 127\u2013152. Springer, Cham (2003)","DOI":"10.1007\/3-540-44898-5_8"},{"issue":"2","key":"6_CR19","doi-asserted-by":"publisher","first-page":"187","DOI":"10.1145\/349214.349216","volume":"22","author":"M Hermenegildo","year":"2000","unstructured":"Hermenegildo, M., Puebla, G., Marriott, K., Stuckey, P.: Incremental analysis of constraint logic programs. ACM Trans. Program. Lang. Syst. 22(2), 187\u2013223 (2000)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"6_CR20","unstructured":"Holzbaur, C.: OFAI CLP(Q,R) Manual, Edition 1.3.3. Technical report. TR-95-09, Austrian Research Institute for Artificial Intelligence, Vienna (1995)"},{"key":"6_CR21","unstructured":"Jaffar, J., Michaylov, S.: Methodology and implementation of a CLP system. In: Fourth International Conference on Logic Programming, pp. 196\u2013219. University of Melbourne, MIT Press (1987)"},{"issue":"7","key":"6_CR22","doi-asserted-by":"publisher","first-page":"424","DOI":"10.1145\/359131.359136","volume":"22","author":"R Kowalski","year":"1979","unstructured":"Kowalski, R.: Algorithm = logic + control. Commun. ACM 22(7), 424\u2013436 (1979)","journal-title":"Commun. ACM"},{"key":"6_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"281","DOI":"10.1007\/978-3-642-02846-5_25","volume-title":"Logic Programming","author":"E Mera","year":"2009","unstructured":"Mera, E., Lopez-Garc\u00eda, P., Hermenegildo, M.: Integrating software testing and run-time checking in an assertion verification framework. In: Hill, P.M., Warren, D.S. (eds.) ICLP 2009. LNCS, vol. 5649, pp. 281\u2013295. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-02846-5_25"},{"issue":"2\/3","key":"6_CR24","doi-asserted-by":"publisher","first-page":"315","DOI":"10.1016\/0743-1066(92)90035-2","volume":"13","author":"K Muthukumar","year":"1992","unstructured":"Muthukumar, K., Hermenegildo, M.: Compile-time derivation of variable dependency using abstract interpretation. J. Log. Program. 13(2\/3), 315\u2013347 (1992)","journal-title":"J. Log. Program."},{"key":"6_CR25","doi-asserted-by":"crossref","unstructured":"Papadakis, M., Sagonas, K.: A PropEr integration of types and function specifications with property-based testing. In: 10th ACM SIGPLAN workshop on Erlang, pp. 39\u201350 (2011)","DOI":"10.1145\/2034654.2034663"},{"key":"6_CR26","doi-asserted-by":"crossref","unstructured":"Rastogi, A., Swamy, N., Fournet, C., Bierman, G., Vekris, P.: Safe & efficient gradual typing for typescript. In: 42nd POPL, pp. 167\u2013180. ACM (2015)","DOI":"10.1145\/2676726.2676971"},{"key":"6_CR27","doi-asserted-by":"publisher","unstructured":"Schimpf, J., Shen, K.: ECLiPSe \u2013 from LP to CLP. Theory Pract. Logic Program. 12(1-2), 127\u2013156 (2012). https:\/\/doi.org\/10.1017\/S1471068411000469","DOI":"10.1017\/S1471068411000469"},{"key":"6_CR28","doi-asserted-by":"publisher","first-page":"101","DOI":"10.1016\/j.scico.2013.05.008","volume":"84","author":"T Schrijvers","year":"2014","unstructured":"Schrijvers, T., Demoen, B., Triska, M., Desouter, B.: Tor: modular search with hookable disjunction. Sci. Comput. Program. 84, 101\u2013120 (2014)","journal-title":"Sci. Comput. Program."},{"key":"6_CR29","unstructured":"Siek, J.G., Taha, W.: Gradual Typing for Functional Languages. In: Scheme and Functional Programming Workshop, pp. 81\u201392. University of Chicago Department of Computer Science (2006)"},{"key":"6_CR30","doi-asserted-by":"publisher","unstructured":"Stulova, N., Morales, J.F., Hermenegildo, M.: Practical run-time checking via unobtrusive property caching. In: Theory and Practice of Logic Programming, 31st International Conference on Logic Programming (ICLP 2015) Special Issue, vol. 15 (04-05), pp. 726\u2013741 (2015). https:\/\/doi.org\/10.1017\/S1471068415000344. https:\/\/arxiv.org\/abs\/1507.05986","DOI":"10.1017\/S1471068415000344"},{"key":"6_CR31","doi-asserted-by":"crossref","unstructured":"Stulova, N., Morales, J.F., Hermenegildo, M.: Reducing the overhead of assertion run-time checks via static analysis. In: 18th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP 2016), pp. 90\u2013103. ACM Press (2016)","DOI":"10.1145\/2967973.2968597"},{"key":"6_CR32","doi-asserted-by":"publisher","first-page":"140","DOI":"10.1137\/0201010","volume":"1","author":"R Tarjan","year":"1972","unstructured":"Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1, 140\u2013160 (1972)","journal-title":"SIAM J. Comput."},{"issue":"3","key":"6_CR33","doi-asserted-by":"publisher","first-page":"594","DOI":"10.1145\/322261.322273","volume":"28","author":"RE Tarjan","year":"1981","unstructured":"Tarjan, R.E.: Fast algorithms for solving path problems. J. ACM 28(3), 594\u2013614 (1981). https:\/\/doi.org\/10.1145\/322261.322273","journal-title":"J. ACM"},{"issue":"1\u20132","key":"6_CR34","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1017\/S1471068411000494","volume":"12","author":"J Wielemaker","year":"2012","unstructured":"Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-prolog. Theory Pract. Logic Program. 12(1\u20132), 67\u201396 (2012). https:\/\/doi.org\/10.1017\/S1471068411000494","journal-title":"Theory Pract. Logic Program."}],"container-title":["Lecture Notes in Computer Science","Practical Aspects of Declarative Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-032-15981-6_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,1,11]],"date-time":"2026-01-11T17:13:32Z","timestamp":1768151612000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-032-15981-6_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026]]},"ISBN":["9783032159809","9783032159816"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-032-15981-6_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026]]},"assertion":[{"value":"12 January 2026","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"PADL","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Practical Aspects of Declarative Languages","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Rennes","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2026","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"12 January 2026","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13 January 2026","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"padl2026","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/popl26.sigplan.org\/home\/PADL-2026","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}