{"id":"https://openalex.org/W4414988704","doi":"https://doi.org/10.1145/3763068","title":"Incremental Certified Programming","display_name":"Incremental Certified Programming","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4414988704","doi":"https://doi.org/10.1145/3763068"},"language":"en","primary_location":{"id":"doi:10.1145/3763068","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763068","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763068","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5081614356","display_name":"Tom\u00e1s D\u00edaz","orcid":null},"institutions":[{"id":"https://openalex.org/I69737025","display_name":"University of Chile","ror":"https://ror.org/047gc3g35","country_code":"CL","type":"education","lineage":["https://openalex.org/I69737025"]}],"countries":["CL"],"is_corresponding":true,"raw_author_name":"Tom\u00e1s D\u00edaz","raw_affiliation_strings":["University of Chile, Santiago, Chile"],"affiliations":[{"raw_affiliation_string":"University of Chile, Santiago, Chile","institution_ids":["https://openalex.org/I69737025"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083750560","display_name":"Kenji Maillard","orcid":"https://orcid.org/0000-0001-5554-3203"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Kenji Maillard","raw_affiliation_strings":["Inria, Nantes, France"],"affiliations":[{"raw_affiliation_string":"Inria, Nantes, France","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033499088","display_name":"Nicolas Tabareau","orcid":"https://orcid.org/0000-0003-3366-2273"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Nicolas Tabareau","raw_affiliation_strings":["Inria, Nantes, France"],"affiliations":[{"raw_affiliation_string":"Inria, Nantes, France","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074606459","display_name":"\u00c9ric Tanter","orcid":"https://orcid.org/0000-0002-7359-890X"},"institutions":[{"id":"https://openalex.org/I69737025","display_name":"University of Chile","ror":"https://ror.org/047gc3g35","country_code":"CL","type":"education","lineage":["https://openalex.org/I69737025"]}],"countries":["CL"],"is_corresponding":false,"raw_author_name":"\u00c9ric Tanter","raw_affiliation_strings":["University of Chile, Santiago, Chile"],"affiliations":[{"raw_affiliation_string":"University of Chile, Santiago, Chile","institution_ids":["https://openalex.org/I69737025"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5081614356"],"corresponding_institution_ids":["https://openalex.org/I69737025"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.14415934,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"499","last_page":"526"},"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.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T11424","display_name":"Security and Verification in Computing","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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":0.996399998664856,"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/certification","display_name":"Certification","score":0.6003999710083008},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.5909000039100647},{"id":"https://openalex.org/keywords/completeness","display_name":"Completeness (order theory)","score":0.48669999837875366},{"id":"https://openalex.org/keywords/automation","display_name":"Automation","score":0.4846000075340271},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.42570000886917114},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.38359999656677246},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.37450000643730164},{"id":"https://openalex.org/keywords/proof-assistant","display_name":"Proof assistant","score":0.36820000410079956},{"id":"https://openalex.org/keywords/procedural-programming","display_name":"Procedural programming","score":0.3596999943256378}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7307000160217285},{"id":"https://openalex.org/C46304622","wikidata":"https://www.wikidata.org/wiki/Q374814","display_name":"Certification","level":2,"score":0.6003999710083008},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.5909000039100647},{"id":"https://openalex.org/C17231256","wikidata":"https://www.wikidata.org/wiki/Q5156540","display_name":"Completeness (order theory)","level":2,"score":0.48669999837875366},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.48669999837875366},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.4846000075340271},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.42570000886917114},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4065999984741211},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.38359999656677246},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.37450000643730164},{"id":"https://openalex.org/C203265346","wikidata":"https://www.wikidata.org/wiki/Q11387554","display_name":"Proof assistant","level":3,"score":0.36820000410079956},{"id":"https://openalex.org/C120558287","wikidata":"https://www.wikidata.org/wiki/Q1418502","display_name":"Procedural programming","level":4,"score":0.3596999943256378},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.35120001435279846},{"id":"https://openalex.org/C139807058","wikidata":"https://www.wikidata.org/wiki/Q352374","display_name":"Adaptation (eye)","level":2,"score":0.329800009727478},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.32829999923706055},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.32749998569488525},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.32350000739097595},{"id":"https://openalex.org/C167729594","wikidata":"https://www.wikidata.org/wiki/Q17736","display_name":"Axiom","level":2,"score":0.30970001220703125},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.30550000071525574},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.2897000014781952},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2854999899864197},{"id":"https://openalex.org/C75606506","wikidata":"https://www.wikidata.org/wiki/Q1049183","display_name":"Formal methods","level":2,"score":0.2775999903678894},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.2721000015735626},{"id":"https://openalex.org/C77781355","wikidata":"https://www.wikidata.org/wiki/Q223335","display_name":"Structured programming","level":2,"score":0.26600000262260437},{"id":"https://openalex.org/C173404611","wikidata":"https://www.wikidata.org/wiki/Q528588","display_name":"Constraint programming","level":3,"score":0.2655999958515167},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.26010000705718994},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.25459998846054077},{"id":"https://openalex.org/C76518257","wikidata":"https://www.wikidata.org/wiki/Q271680","display_name":"Software framework","level":5,"score":0.2500999867916107}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3763068","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763068","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:HAL:hal-05256780v1","is_oa":true,"landing_page_url":"https://hal.science/hal-05256780","pdf_url":"https://hal.science/hal-05256780v1/document","source":{"id":"https://openalex.org/S4406922461","display_name":"SPIRE - Sciences Po Institutional REpository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"OOPSLA 2025 - ACM Conference on Object Oriented Programming Systems Languages and Applications, Oct 2025, Singapore, Singapore. pp.1-28, &#x27E8;10.1145/3763068&#x27E9;","raw_type":"Conference papers"}],"best_oa_location":{"id":"doi:10.1145/3763068","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763068","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4544478076","display_name":null,"funder_award_id":"GRAPA","funder_id":"https://openalex.org/F4320313934","funder_display_name":"Institut national de recherche en informatique et en automatique (INRIA)"},{"id":"https://openalex.org/G6153617267","display_name":null,"funder_award_id":"ANID/Doctorado","funder_id":"https://openalex.org/F4320331146","funder_display_name":"Agencia Nacional de Investigaci\u00f3n y Desarrollo"},{"id":"https://openalex.org/G8364709869","display_name":null,"funder_award_id":"ANID/Doctorado Nacional/2022-21221100","funder_id":"https://openalex.org/F4320331146","funder_display_name":"Agencia Nacional de Investigaci\u00f3n y Desarrollo"}],"funders":[{"id":"https://openalex.org/F4320313934","display_name":"Institut national de recherche en informatique et en automatique (INRIA)","ror":"https://ror.org/02kvxyf05"},{"id":"https://openalex.org/F4320331146","display_name":"Agencia Nacional de Investigaci\u00f3n y Desarrollo","ror":null}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":54,"referenced_works":["https://openalex.org/W1503543775","https://openalex.org/W1526792518","https://openalex.org/W1558115254","https://openalex.org/W1558175043","https://openalex.org/W1976978933","https://openalex.org/W1977764760","https://openalex.org/W2082841864","https://openalex.org/W2099741881","https://openalex.org/W2128448167","https://openalex.org/W2130427425","https://openalex.org/W2136310957","https://openalex.org/W2148662736","https://openalex.org/W2296772897","https://openalex.org/W2489483223","https://openalex.org/W2565502105","https://openalex.org/W2760547725","https://openalex.org/W2792493843","https://openalex.org/W2798115558","https://openalex.org/W2886134830","https://openalex.org/W2898452294","https://openalex.org/W2901454403","https://openalex.org/W2936157456","https://openalex.org/W2949241294","https://openalex.org/W2953833525","https://openalex.org/W2963975932","https://openalex.org/W2978136495","https://openalex.org/W2987977008","https://openalex.org/W3003081834","https://openalex.org/W3044307770","https://openalex.org/W3089404887","https://openalex.org/W3090441383","https://openalex.org/W3098405185","https://openalex.org/W3104549103","https://openalex.org/W3116189532","https://openalex.org/W3123828280","https://openalex.org/W3172998033","https://openalex.org/W3178506813","https://openalex.org/W3184092516","https://openalex.org/W4205625158","https://openalex.org/W4226281315","https://openalex.org/W4241057360","https://openalex.org/W4250728693","https://openalex.org/W4250846042","https://openalex.org/W4252547602","https://openalex.org/W4307886767","https://openalex.org/W4362659494","https://openalex.org/W4379536897","https://openalex.org/W4384026589","https://openalex.org/W4389158536","https://openalex.org/W4390604815","https://openalex.org/W4391376921","https://openalex.org/W4392934223","https://openalex.org/W4404860218","https://openalex.org/W7077483965"],"related_works":[],"abstract_inverted_index":{"Certified":[0],"programming,":[1,232],"as":[2,194],"carried":[3],"out":[4],"in":[5,78,124],"proof":[6],"assistants":[7],"and":[8,26,35,65,68,93,98,135,137,162,223,235],"dependently-typed":[9],"programming":[10,60,77,171,206],"languages,":[11],"ensures":[12],"that":[13,103,185],"a":[14,70,79,121,163,211],"software":[15],"meets":[16],"its":[17,63,150],"requirements":[18],"by":[19,61,196],"supporting":[20],"the":[21,46,113,116,125,159,180,186,216],"definition":[22],"of":[23,50,90,109,115,140,158,168,179,215],"both":[24,153],"specifications":[25,39,102],"proofs.":[27],"However,":[28],"proofs":[29],"easily":[30],"break":[31],"with":[32,152,190,207],"partial":[33],"definitions":[34],"incremental":[36,58,75,155,169,204,230],"changes":[37],"because":[38],"are":[40,104],"not":[41],"designed":[42],"to":[43,86,95,99,145,202],"account":[44],"for":[45,54,57,73,133,172,229,237],"intermediate":[47],"incomplete":[48],"states":[49],"programs.":[51],"We":[52,119,148,183],"advocate":[53],"proper":[55],"support":[56,228],"certified":[59,76,170,205,231],"analyzing":[62],"objectives":[64],"inherent":[66],"challenges,":[67],"propose":[69],"formal":[71],"framework":[72],"achieving":[74],"principled":[80],"manner.":[81],"The":[82],"key":[83],"idea":[84],"is":[85,138,188],"define":[87],"appropriate":[88],"notions":[89],"completion":[91],"refinement":[92],"completeness":[94],"capture":[96],"incrementality,":[97],"systematically":[100],"produce":[101],"valid":[105],"at":[106],"every":[107],"stage":[108],"development":[110],"while":[111],"preserving":[112],"intent":[114],"original":[117],"statements.":[118],"provide":[120],"prototype":[122],"implementation":[123],"Rocq":[126],"Prover,":[127],"called":[128],"IncRease,":[129],"which":[130],"exploits":[131],"typeclasses":[132],"automation":[134],"extensibility,":[136],"independent":[139],"any":[141],"specific":[142],"mechanism":[143],"used":[144],"handle":[146],"incompleteness.":[147],"illustrate":[149],"use":[151],"an":[154,173],"textbook":[156],"formalization":[157],"simply-typed":[160],"\u03bb-calculus,":[161],"more":[164],"complex":[165],"case":[166],"study":[167,200],"existing":[174],"dead-code":[175],"elimination":[176],"optimization":[177],"pass":[178],"CompCert":[181],"project.":[182],"show":[184],"approach":[187],"compatible":[189],"randomized":[191],"property-based":[192],"testing":[193],"provided":[195],"QuickChick.":[197],"Finally":[198],"we":[199],"how":[201],"combine":[203],"deductive":[208],"synthesis,":[209],"using":[210],"novel":[212],"incrementality-friendly":[213],"adaptation":[214],"Fiat":[217],"library.":[218],"This":[219],"work":[220],"provides":[221],"theoretical":[222],"practical":[224],"foundations":[225],"towards":[226],"systematic":[227],"highlighting":[233],"challenges":[234],"perspectives":[236],"future":[238],"developments.":[239]},"counts_by_year":[],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
