{"id":"https://openalex.org/W181581971","doi":null,"title":"A tutorial on program development and optimization using the Ciao preprocessor","display_name":"A tutorial on program development and optimization using the Ciao preprocessor","publication_year":2006,"publication_date":"2006-01-12","ids":{"openalex":"https://openalex.org/W181581971","mag":"181581971"},"language":"en","primary_location":{"id":"pmh:oai:oa.upm.es:14742","doi":null,"is_oa":true,"landing_page_url":"https://oa.upm.es/14742/","pdf_url":null,"source":{"id":"https://openalex.org/S4306402421","display_name":"Archivo Digital UPM (Universidad Polit\u00e9cnica de Madrid)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I88060688","host_organization_name":"Universidad Polit\u00e9cnica de Madrid","host_organization_lineage":["https://openalex.org/I88060688"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"PeerReviewed"},"volume":null,"type":"article","is_traditional":true,"indexed_in":[],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://oa.upm.es/14742/","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084965967","display_name":"Francisco Bueno Carrillo","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Francisco Bueno Carrillo","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030520172","display_name":"Pedro L\u00f3pez-Garc\u00eda","orcid":"https://orcid.org/0000-0002-1092-2071","observed_orcids":["https://orcid.org/0000-0002-1092-2071"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Pedro L\u00f3pez-Garc\u00eda","raw_affiliation_strings":[],"raw_orcid":"https://orcid.org/0000-0002-1092-2071","affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023712857","display_name":"Alvaro Germ\u00e1n Puebla S\u00e1nchez","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Alvaro Germ\u00e1n Puebla S\u00e1nchez","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5073531919","display_name":"Manuel V. Hermenegildo","orcid":"https://orcid.org/0000-0002-7583-323X","observed_orcids":["https://orcid.org/0000-0002-7583-323X"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Manuel V. Hermenegildo","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.6236,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.86767746,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":87,"max":93},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.0003000000142492354,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":9.999999747378752e-05,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/ciaopp","display_name":"CiaoPP","score":0.8799999952316284},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"abstract interpretation","score":0.7490000128746033},{"id":"https://openalex.org/keywords/program-validation","display_name":"code validation","score":0.6620000004768372},{"id":"https://openalex.org/keywords/bug-finding","display_name":"bug detection","score":0.7749999761581421},{"id":"https://openalex.org/keywords/assertion","display_name":"assertion","score":0.9110000133514404},{"id":"https://openalex.org/keywords/parallelization","display_name":"parallelization","score":0.8259999752044678},{"id":"https://openalex.org/keywords/determinacy","display_name":"determinacy","score":0.6449999809265137},{"id":"https://openalex.org/keywords/termination-analysis","display_name":"termination analysis","score":0.8199999928474426},{"id":"https://openalex.org/keywords/multi-paradigm-programming","display_name":"multi-paradigm programming","score":0.765999972820282}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8297450542449951},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.6290096044540405},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.6270495057106018},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.5263080596923828},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.4843336343765259},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.48250675201416016},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46936991810798645},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.4560662508010864},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.4394797682762146},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.41919535398483276},{"id":"https://openalex.org/C58468513","wikidata":"https://www.wikidata.org/wiki/Q1201165","display_name":"Determinacy","level":2,"score":0.41184136271476746},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.347103476524353},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.16010373830795288},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:oa.upm.es:14742","doi":null,"is_oa":true,"landing_page_url":"https://oa.upm.es/14742/","pdf_url":null,"source":{"id":"https://openalex.org/S4306402421","display_name":"Archivo Digital UPM (Universidad Polit\u00e9cnica de Madrid)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I88060688","host_organization_name":"Universidad Polit\u00e9cnica de Madrid","host_organization_lineage":["https://openalex.org/I88060688"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"PeerReviewed"},{"id":"pmh:oai:hispana.mcu.es:61094343","doi":null,"is_oa":true,"landing_page_url":"https://hispana.mcu.es/es/registros/registro.do?tipoRegistro=MTD&idBib=61094343","pdf_url":"http://clip.dia.fi.upm.es/papers/ciaopp-tutorial.pdf","source":{"id":"https://openalex.org/S4377196108","display_name":"Hispana","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/acceptedVersion"},{"id":"mag:181581971","doi":null,"is_oa":false,"landing_page_url":"http://oa.upm.es/14742/","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"pmh:oai:oa.upm.es:14742","doi":null,"is_oa":true,"landing_page_url":"https://oa.upm.es/14742/","pdf_url":null,"source":{"id":"https://openalex.org/S4306402421","display_name":"Archivo Digital UPM (Universidad Polit\u00e9cnica de Madrid)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I88060688","host_organization_name":"Universidad Polit\u00e9cnica de Madrid","host_organization_lineage":["https://openalex.org/I88060688"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"PeerReviewed"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W181581971.pdf","grobid_xml":"https://content.openalex.org/works/W181581971.grobid-xml"},"referenced_works_count":35,"referenced_works":["https://openalex.org/W159226319","https://openalex.org/W1278612252","https://openalex.org/W1489655774","https://openalex.org/W1491271723","https://openalex.org/W1507626698","https://openalex.org/W1508161107","https://openalex.org/W1512001008","https://openalex.org/W1522598964","https://openalex.org/W1530717542","https://openalex.org/W1531108889","https://openalex.org/W1533556407","https://openalex.org/W1544096846","https://openalex.org/W1556604985","https://openalex.org/W1584053602","https://openalex.org/W1594349561","https://openalex.org/W1607985220","https://openalex.org/W1787265089","https://openalex.org/W1892527813","https://openalex.org/W1965377774","https://openalex.org/W1999281702","https://openalex.org/W2012571091","https://openalex.org/W2024886390","https://openalex.org/W2026398929","https://openalex.org/W2033130678","https://openalex.org/W2037035101","https://openalex.org/W2037439718","https://openalex.org/W2048831705","https://openalex.org/W2065590295","https://openalex.org/W2085729865","https://openalex.org/W2125364400","https://openalex.org/W2136914567","https://openalex.org/W2157542044","https://openalex.org/W2163660741","https://openalex.org/W2175275752","https://openalex.org/W2675876715"],"related_works":["https://openalex.org/W7099338376","https://openalex.org/W4237080346","https://openalex.org/W2116325485","https://openalex.org/W2548355365","https://openalex.org/W7100142224","https://openalex.org/W2167632389","https://openalex.org/W7096783815","https://openalex.org/W2124571243","https://openalex.org/W2150905411","https://openalex.org/W2142044962"],"abstract_inverted_index":{"We":[0],"present":[1],"in":[2,66,92],"a":[3,17,27,93,109],"tutorial":[4],"fashion":[5],"CiaoPP,":[6],"the":[7,10,41,62,98,104],"preprocessor":[8],"of":[9,100,111],"Ciao":[11],"multi-paradigm":[12],"programming":[13],"system,":[14],"which":[15,22],"implements":[16],"novel":[18],"program":[19,63,79,112],"development":[20],"framework":[21,31],"uses":[23,32],"abstract":[24,35,84],"interpretation":[25,36],"as":[26,82,115,158,160,164],"fundamental":[28],"tool.":[29],"The":[30,126],"modular,":[33],"incremental":[34],"to":[37,47,50,55,69,76,108],"obtain":[38],"information":[39,44,133],"about":[40],"program.":[42],"This":[43,139],"is":[45],"used":[46],"validate":[48],"programs,":[49],"detect":[51],"bugs":[52],"with":[53,130],"respect":[54],"partial":[56],"specifications":[57],"written":[58],"using":[59],"assertions":[60,105],"(in":[61],"itself":[64],"and/or":[65],"system":[67,127],"libraries),":[68],"generate":[70],"and":[71,75,87,102,152,168],"simplify":[72],"run-time":[73],"tests,":[74],"perform":[77],"high-level":[78],"transformations":[80],"such":[81,114,163],"multiple":[83],"specialization,":[85],"parallelization,":[86],"resource":[88,171],"usage":[89],"control,":[90],"all":[91],"provably":[94],"correct":[95],"way.":[96],"In":[97],"case":[99],"validation":[101],"debugging,":[103],"can":[106,128],"refer":[107],"variety":[110],"points":[113,120],"procedure":[116,118],"entry,":[117],"exit,":[119],"within":[121],"procedures,":[122],"or":[123,174],"global":[124],"computations.":[125],"reason":[129],"much":[131],"richer":[132],"than,":[134],"for":[135],"example,":[136],"traditional":[137],"types.":[138],"includes":[140],"data":[141,149],"structure":[142,150],"shape":[143],"(including":[144],"pointer":[145],"sharing),":[146],"bounds":[147,169],"on":[148,170],"sizes,":[151],"other":[153],"operational":[154],"variable":[155],"instantiation":[156],"properties,":[157],"well":[159],"procedure-level":[161],"properties":[162],"determinacy,":[165],"termination,":[166],"non-failure,":[167],"consumption":[172],"(time":[173],"space":[175],"cost).":[176]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1}],"updated_date":"2026-11-04T10:54:05.112534","created_date":"2016-06-24T00:00:00"}
