<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcq="http://purl.org/dc/terms/"><records count="1" morepages="false" start="1" end="1"><record rownumber="1"><dc:product_type>Journal Article</dc:product_type><dc:title>A Grounded Conceptual Model for Ownership Types in Rust</dc:title><dc:creator>Crichton, Will; Gray, Gavin; Krishnamurthi, Shriram</dc:creator><dc:corporate_author/><dc:editor/><dc:description>&lt;p&gt;Programmers learning Rust struggle to understand ownership types, Rust’s core mechanism for ensuring memory safety without garbage collection. This paper describes our attempt to systematically design a pedagogy for ownership types. First, we studied Rust developers’ misconceptions of ownership to create the Ownership Inventory, a new instrument for measuring a person’s knowledge of ownership. We found that Rust learners could not connect Rust’s static and dynamic semantics, such as determining why an ill-typed program would (or would not) exhibit undefined behavior. Second, we created a conceptual model of Rust’s semantics that explains borrow checking in terms of flow-sensitive permissions on paths into memory. Third, we implemented a Rust compiler plugin that visualizes programs under the model. Fourth, we integrated the permissions model and visualizations into a broader pedagogy of ownership by writing a new ownership chapter for&lt;italic&gt;The Rust Programming Language&lt;/italic&gt;, a popular Rust textbook. Fifth, we evaluated an initial deployment of our pedagogy against the original version, using reader responses to the Ownership Inventory as a point of comparison. Thus far, the new pedagogy has improved learner scores on the Ownership Inventory by an average of 9&lt;/p&gt;</dc:description><dc:publisher>ACM</dc:publisher><dc:date>2023-10-16</dc:date><dc:nsf_par_id>10539095</dc:nsf_par_id><dc:journal_name>Proceedings of the ACM on Programming Languages</dc:journal_name><dc:journal_volume>7</dc:journal_volume><dc:journal_issue>OOPSLA2</dc:journal_issue><dc:page_range_or_elocation>1224 to 1252</dc:page_range_or_elocation><dc:issn>2475-1421</dc:issn><dc:isbn/><dc:doi>https://doi.org/10.1145/3622841</dc:doi><dcq:identifierAwardId>2319014</dcq:identifierAwardId><dc:subject/><dc:version_number/><dc:location/><dc:rights/><dc:institution/><dc:sponsoring_org>National Science Foundation</dc:sponsoring_org></record></records></rdf:RDF>