{"id":51663,"date":"2020-03-06T10:22:54","date_gmt":"2020-03-06T10:22:54","guid":{"rendered":"https:\/\/www.um.edu.mt\/projects\/behapi\/?p=51663"},"modified":"2020-03-18T09:03:31","modified_gmt":"2020-03-18T09:03:31","slug":"antonio-ravara-glasgow-uk","status":"publish","type":"post","link":"https:\/\/www.um.edu.mt\/projects\/behapi\/antonio-ravara-glasgow-uk\/","title":{"rendered":"Antonio Ravara @ Glasgow, UK"},"content":{"rendered":"<p>On December 19, as part of a <a href=\"https:\/\/groups.inf.ed.ac.uk\/abcd\/meeting-december2019\/\">workshop<\/a> in Glasgow of the <a href=\"https:\/\/groups.inf.ed.ac.uk\/abcd\/\">ABCD<\/a> project,\u00a0 <a href=\"http:\/\/nova-lincs.di.fct.unl.pt\/person\/47\">Ant\u00f3nio Ravara<\/a> gave a talk on\u00a0Behavioural Types for Memory Safety in Mungo.<\/p>\n<h1>Abstract<\/h1>\n<p>We present a type-based analysis that ensures memory safety and object protocol completion in the language Mungo, a non-trivial subset of Java including generics. Objects are annotated with usages, typestates-like specifications of the admissible sequences of method calls. The analysis combines controlling the order in which methods are called by usage checking with a static check that determines if references contain null values. This interdependence yields a refined static analysis: type-safety not only ensures the absence of null pointer dereferencing and memory leaks, a safety property, but also that the intended usage protocol of each object is respected and completed, a liveness property. The type system is implemented in the form of a typechecker in Haskell.<\/p>\n<p>[<a href=\"https:\/\/groups.inf.ed.ac.uk\/abcd\/meeting-december2019\/slides\/Ravara.pdf\">Slides<\/a>]<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On December 19, as part of a workshop in Glasgow of the ABCD project,\u00a0 Ant\u00f3nio Ravara gave a talk on\u00a0Behavioural Types for Memory Safety in Mungo. Abstract We present a<\/p>\n<div class=\"read-more\"><a class=\"btn read-more-link\" href=\"https:\/\/www.um.edu.mt\/projects\/behapi\/antonio-ravara-glasgow-uk\/\">Read More<\/a><\/div>\n","protected":false},"author":18,"featured_media":51664,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[36],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts\/51663"}],"collection":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/comments?post=51663"}],"version-history":[{"count":3,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts\/51663\/revisions"}],"predecessor-version":[{"id":51679,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts\/51663\/revisions\/51679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/media\/51664"}],"wp:attachment":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/media?parent=51663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/categories?post=51663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/tags?post=51663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}