{"id":"https://openalex.org/W3042324405","doi":"https://doi.org/10.1007/978-3-030-53291-8_11","title":"Recursive Data Structures in SPARK","display_name":"Recursive Data Structures in SPARK","publication_year":2020,"publication_date":"2020-01-01","ids":{"openalex":"https://openalex.org/W3042324405","doi":"https://doi.org/10.1007/978-3-030-53291-8_11","mag":"3042324405"},"language":"en","primary_location":{"id":"doi:10.1007/978-3-030-53291-8_11","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-53291-8_11","pdf_url":"https://link.springer.com/content/pdf/10.1007%2F978-3-030-53291-8_11.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},"type":"book-chapter","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007%2F978-3-030-53291-8_11.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5067462015","display_name":"Claire Dross","orcid":null},"institutions":[{"id":"https://openalex.org/I4210093031","display_name":"AdaCore (France)","ror":"https://ror.org/00fpt6s33","country_code":"FR","type":"company","lineage":["https://openalex.org/I4210093031"]}],"countries":["FR"],"is_corresponding":true,"raw_author_name":"Claire Dross","raw_affiliation_strings":["AdaCore, 75009, Paris, France"],"affiliations":[{"raw_affiliation_string":"AdaCore, 75009, Paris, France","institution_ids":["https://openalex.org/I4210093031"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5004220251","display_name":"Johannes Kanig","orcid":null},"institutions":[{"id":"https://openalex.org/I4210093031","display_name":"AdaCore (France)","ror":"https://ror.org/00fpt6s33","country_code":"FR","type":"company","lineage":["https://openalex.org/I4210093031"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Johannes Kanig","raw_affiliation_strings":["AdaCore, 75009, Paris, France"],"affiliations":[{"raw_affiliation_string":"AdaCore, 75009, Paris, France","institution_ids":["https://openalex.org/I4210093031"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5067462015"],"corresponding_institution_ids":["https://openalex.org/I4210093031"],"apc_list":{"value":5000,"currency":"EUR","value_usd":5392},"apc_paid":{"value":5000,"currency":"EUR","value_usd":5392},"fwci":1.65,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.86465342,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"178","last_page":"189"},"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.9997000098228455,"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.9997000098228455,"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.9994000196456909,"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.998199999332428,"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/computer-science","display_name":"Computer science","score":0.8732821941375732},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7183524370193481},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.7088978886604309},{"id":"https://openalex.org/keywords/spark","display_name":"SPARK (programming language)","score":0.6425362825393677},{"id":"https://openalex.org/keywords/aliasing","display_name":"Aliasing","score":0.6188969612121582},{"id":"https://openalex.org/keywords/predicate","display_name":"Predicate (mathematical logic)","score":0.5950863361358643},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5448907613754272},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.48119598627090454},{"id":"https://openalex.org/keywords/relation","display_name":"Relation (database)","score":0.4323035180568695},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4131254255771637},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3608182668685913},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3249071538448334},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.19881945848464966},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.12221565842628479}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8732821941375732},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7183524370193481},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.7088978886604309},{"id":"https://openalex.org/C2781215313","wikidata":"https://www.wikidata.org/wiki/Q3493345","display_name":"SPARK (programming language)","level":2,"score":0.6425362825393677},{"id":"https://openalex.org/C4069607","wikidata":"https://www.wikidata.org/wiki/Q868732","display_name":"Aliasing","level":3,"score":0.6188969612121582},{"id":"https://openalex.org/C140146324","wikidata":"https://www.wikidata.org/wiki/Q1144319","display_name":"Predicate (mathematical logic)","level":2,"score":0.5950863361358643},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5448907613754272},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.48119598627090454},{"id":"https://openalex.org/C25343380","wikidata":"https://www.wikidata.org/wiki/Q277521","display_name":"Relation (database)","level":2,"score":0.4323035180568695},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4131254255771637},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3608182668685913},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3249071538448334},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.19881945848464966},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.12221565842628479},{"id":"https://openalex.org/C136536468","wikidata":"https://www.wikidata.org/wiki/Q1225894","display_name":"Undersampling","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/978-3-030-53291-8_11","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-53291-8_11","pdf_url":"https://link.springer.com/content/pdf/10.1007%2F978-3-030-53291-8_11.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},{"id":"pmh:oai:pubmedcentral.nih.gov:7363197","is_oa":true,"landing_page_url":"https://www.ncbi.nlm.nih.gov/pmc/articles/7363197","pdf_url":null,"source":{"id":"https://openalex.org/S2764455111","display_name":"PubMed Central","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"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":"Computer Aided Verification","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1007/978-3-030-53291-8_11","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-53291-8_11","pdf_url":"https://link.springer.com/content/pdf/10.1007%2F978-3-030-53291-8_11.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3042324405.pdf","grobid_xml":"https://content.openalex.org/works/W3042324405.grobid-xml"},"referenced_works_count":15,"referenced_works":["https://openalex.org/W165943180","https://openalex.org/W177306140","https://openalex.org/W1993255342","https://openalex.org/W2073407646","https://openalex.org/W2137628566","https://openalex.org/W2276012935","https://openalex.org/W2294722445","https://openalex.org/W2426198682","https://openalex.org/W2605073028","https://openalex.org/W2746792245","https://openalex.org/W2913530642","https://openalex.org/W3007744929","https://openalex.org/W3100536147","https://openalex.org/W4231420003","https://openalex.org/W4247699568"],"related_works":["https://openalex.org/W1874815355","https://openalex.org/W322847698","https://openalex.org/W4243828764","https://openalex.org/W4254523142","https://openalex.org/W4229844547","https://openalex.org/W2391392917","https://openalex.org/W2464437250","https://openalex.org/W56552447","https://openalex.org/W2006708681","https://openalex.org/W2947398561"],"abstract_inverted_index":{"SPARK":[0,30],"is":[1,39,117,123],"both":[2],"a":[3,25,52,84,95,120],"deductive":[4],"verification":[5],"tool":[6],"for":[7],"the":[8,12,29,102,108,111,114,126],"Ada":[9,15],"language":[10,31],"and":[11,32,65,98,113],"subset":[13],"of":[14,28,55,87,106,146],"on":[16,41],"which":[17,122],"it":[18],"operates.":[19],"In":[20,57],"this":[21,140,153],"paper,":[22],"we":[23,59,143],"present":[24],"recent":[26],"extension":[27,38],"toolset":[33],"to":[34,48,99,138],"support":[35],"pointers.":[36],"This":[37],"based":[40],"an":[42],"ownership":[43],"policy":[44],"inspired":[45],"by":[46],"Rust":[47],"enforce":[49],"non-aliasing":[50],"through":[51],"move":[53],"semantics":[54],"assignment.":[56],"particular,":[58],"consider":[60],"pointer-based":[61],"recursive":[62],"data":[63],"structures,":[64],"discuss":[66],"how":[67,75],"they":[68],"are":[69],"supported":[70],"in":[71,101],"SPARK.":[72],"We":[73],"explain":[74],"iteration":[76],"over":[77],"these":[78],"structures":[79],"can":[80,135,149],"be":[81,136,150],"handled":[82],"using":[83,152],"restricted":[85],"form":[86],"aliasing":[88],"called":[89,133],"local":[90],"borrowing.":[91],"To":[92],"avoid":[93],"introducing":[94],"memory":[96],"model":[97],"stay":[100],"first-order":[103,131],"logic":[104],"background":[105],"SPARK,":[107],"relation":[109],"between":[110],"iterator":[112],"underlying":[115],"structure":[116],"encoded":[118],"as":[119],"predicate":[121],"maintained":[124],"throughout":[125],"program":[127],"control":[128],"flow.":[129],"Special":[130],"contracts,":[132],"pledges,":[134],"used":[137],"describe":[139],"relation.":[141],"Finally,":[142],"give":[144],"examples":[145],"programs":[147],"that":[148],"verified":[151],"framework.":[154]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1}],"updated_date":"2026-04-21T08:09:41.155169","created_date":"2025-10-10T00:00:00"}
