<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0" xml:base="https://opencourse.inf.ed.ac.uk/">
  <channel>
    <title>Formal Verification</title>
    <link>https://opencourse.inf.ed.ac.uk/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>FV: Schedule</title>
  <link>https://opencourse.inf.ed.ac.uk/fv/schedule</link>
  <description>
&lt;span&gt;FV: Schedule&lt;/span&gt;

&lt;span&gt;&lt;span&gt;flittlet&lt;/span&gt;&lt;/span&gt;

&lt;span&gt;Tue, 18/07/2023 - 15:57&lt;/span&gt;

            &lt;div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"&gt;&lt;div class="tex2jax_process"&gt;&lt;p&gt;In the schedule information below&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Lecture slides are linked to from the lecture titles&lt;/li&gt;&lt;li&gt;"H&amp;R" refers to the book by Michael Huth and Mark Ryan: &lt;em&gt;Logic in Computer Science: Modelling and Reasoning about Systems&lt;/em&gt;, 2nd Edition, Cambridge University Press, 2004.  See the &lt;a href="https://opencourse.inf.ed.ac.uk/fv#further-reading"&gt;Further Reading&lt;/a&gt; section on the course's OpenCourse home page for how to navigate to online editions of this book and other books relevant to the course.&lt;/li&gt;&lt;li&gt;The plan for future lectures is provisional and might change as the semester progresses.&lt;/li&gt;&lt;/ul&gt;&lt;table class="lectures"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Week&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;th&gt;Lecture&lt;/th&gt;&lt;th&gt;Further Information&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;1&lt;/td&gt;&lt;td&gt;Mon 18 Sep 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l1a-intro-handout.pdf"&gt;1a. Course Introduction&lt;/a&gt;    &lt;br /&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l1b-mc-intro-handout.pdf"&gt;1b. Model Checking Overview&lt;/a&gt;&lt;/td&gt;&lt;td&gt;H&amp;R Sections 3.1, 3.2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 21 Sep 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l2-ltl-handout.pdf"&gt;2. Linear Temporal Logic&lt;/a&gt;&lt;/td&gt;&lt;td&gt;H&amp;R Section 3.2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;2&lt;/td&gt;&lt;td&gt;Mon 25 Sep 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l3-ctl-handout.pdf"&gt;3. Computation Tree Logic&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;H&amp;R Sections 3.4, 3.5&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.cs.rice.edu/~vardi/papers/etaps01-ver13.pdf"&gt;Moshe Vardi. &lt;em&gt;Branching vs. Linear Time: Final Showdown.&lt;/em&gt; TACAS 2001&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 28 Sep 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l4-nuxmv-handout.pdf"&gt;4. The NuXmv model checker&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/fv/getting-started-with-nusmv"&gt;Getting started with NuSMV &amp; nuXmv&lt;/a&gt; &lt;br /&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/nusmv-examples.zip"&gt;nusmv-examples.zip&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;3&lt;/td&gt;&lt;td&gt;Mon 2 Oct 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l5-ctl-mc-handout.pdf"&gt;5. How CTL Model Checking Works&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;H&amp;R Sections 3.6.1, 3.6.2, 3.7&lt;/p&gt;&lt;p&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/ex1.pdf"&gt;Practical Exercise 1: NuSMV/nuXmv&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 5 Oct 2023&lt;/td&gt;&lt;td&gt;NO LECTURE&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;4&lt;/td&gt;&lt;td&gt;Mon 9 Oct 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l6-ltl-mc-handout.pdf"&gt;6. How LTL Model Checking Works&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;H&amp;R Sections 3.6.2, 3.6.3&lt;/p&gt;&lt;p&gt;CW1 Handout&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 12 Oct 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l7-bbd-intro-handout.pdf"&gt;7. Introduction to BDDs&lt;/a&gt;&lt;/td&gt;&lt;td&gt;H&amp;R Section 6.1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;5&lt;/td&gt;&lt;td&gt;Mon 16 Oct 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l8-bbd-ops-handout.pdf"&gt;8. BDD Operations&lt;/a&gt;&lt;/td&gt;&lt;td&gt;H&amp;R Sections 6.2, 6.3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 19 Oct 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l9-sat-smt-handout_0.pdf"&gt;9. SAT &amp; SMT solving&lt;/a&gt;&lt;/td&gt;&lt;td&gt;See last page of slides&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;6&lt;/td&gt;&lt;td&gt;Mon 23 Oct 2023&lt;/td&gt;&lt;td&gt;10. SAT &amp; SMT solving &lt;br /&gt;(Slides from Lecture 9)&lt;/td&gt;&lt;td&gt;12 Noon - CW1 Handin&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 26 Oct 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l11a-spark-intro-handout.pdf"&gt;11a. SPARK Introduction&lt;/a&gt;&lt;br /&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l11b-spark-verif-handout.pdf"&gt;11b. Verification with SPARK&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/ex2.pdf"&gt;Practical Exercise 2: SAT&amp;SMT with Z3&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;7&lt;/td&gt;&lt;td&gt;Mon 30 Oct 2023&lt;/td&gt;&lt;td&gt;12. Verification with SPARK 2&lt;br /&gt;(Slides from Lecture 11b)&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 2 Nov 2023&lt;/td&gt;&lt;td&gt;NO LECTURE&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/fv/software-verification-with-spark"&gt;Practical Exercise 3: Verification with SPARK&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;8&lt;/td&gt;&lt;td&gt;Mon 6 Nov 2023&lt;/td&gt;&lt;td&gt;13. Verification with SPARK 3&lt;br /&gt;(Slides from Lecture 11b)&lt;/td&gt;&lt;td&gt;CW2 Handout&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 9 Nov 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l14-pl-sem-handout.pdf"&gt;14. Programming Language Semantics&lt;/a&gt;&lt;/td&gt;&lt;td&gt;See last page of slides&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;9&lt;/td&gt;&lt;td&gt;Mon 13 Nov 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l15-spark-tool-handout.pdf"&gt;15. SPARK tool architecture and other similar tools&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Follow links on slides&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 16 Nov 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l16-big-picture-pres.pdf"&gt;16. FV - The Big Picture&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Follow links on slides&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;10&lt;/td&gt;&lt;td&gt;Mon 20 Nov 2023&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/sites/default/files/https/opencourse.inf.ed.ac.uk/fv/2023/l17-cbmc-pres.pdf"&gt;17. Bounded Model Checking for C&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;12 Noon - CW2 Handin&lt;/p&gt;&lt;p&gt;For more about CBMC, follow the link below.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 23 Nov 2023&lt;/td&gt;&lt;td&gt;NO LECTURE&lt;/td&gt;&lt;td&gt;&lt;a href="https://opencourse.inf.ed.ac.uk/fv/cbmc-lab"&gt;Practical Exercise 4: Verification with CBMC&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="weeknum" rowspan="2"&gt;11&lt;/td&gt;&lt;td&gt;Mon 27 Nov 2023&lt;/td&gt;&lt;td&gt;NO LECTURE&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Thu 30 Nov 2023&lt;/td&gt;&lt;td&gt;NO LECTURE&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;
      
  &lt;div class="field field--name-field-license field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;License&lt;/div&gt;
              &lt;div class="field__item"&gt;All rights reserved The University of Edinburgh&lt;/div&gt;
          &lt;/div&gt;
</description>
  <pubDate>Tue, 18 Jul 2023 14:57:40 +0000</pubDate>
    <dc:creator>flittlet</dc:creator>
    <guid isPermaLink="false">1004 at https://opencourse.inf.ed.ac.uk</guid>
    </item>
<item>
  <title>FV: Formal Verification</title>
  <link>https://opencourse.inf.ed.ac.uk/fv</link>
  <description>
&lt;span&gt;FV: Formal Verification&lt;/span&gt;

&lt;span&gt;&lt;span&gt;flittlet&lt;/span&gt;&lt;/span&gt;

&lt;span&gt;Tue, 18/07/2023 - 15:57&lt;/span&gt;

            &lt;div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"&gt;&lt;div class="tex2jax_process"&gt;&lt;div id="inf-welcome"&gt;&lt;h2 class="inf"&gt;Welcome to Formal Verification&lt;/h2&gt;&lt;p&gt;Hello, welcome to the 2023-24 run of Formal Verification. &lt;/p&gt;&lt;p&gt;The course this year is taught by &lt;a href="https://homepages.inf.ed.ac.uk/pbj/" target="_blank" rel="noopener"&gt;Paul Jackson&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;On this page:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="#summary"&gt;Course Summary&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#lectures"&gt;Lectures&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#labs"&gt;Labs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#courseworks"&gt;Courseworks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#exercises"&gt;Practical Exercises&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#help"&gt;Seeking help&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#further-reading"&gt;Further Reading&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#description"&gt;Course Description&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="summary"&gt;Course Summary&lt;/h3&gt;&lt;p&gt;Formal verification is the use of mathematical techniques to verify the correctness of various kinds of engineering systems: software systems and digital hardware systems, for example. Formal verification techniques are exhaustive and provide much stronger guarantees of correctness than testing or simulation-based approaches. They are particularly useful for safety and security critical systems and for when system behaviour is highly complex. They are also now being used for some commercial software when bugs have a major impact on customer satisfaction. The course focuses on automated techniques that are currently used in industry. It gives practical exposure to current formal verification tools, explaining the input languages used and introducing the underlying mathematical techniques and algorithms used for automation.&lt;/p&gt;&lt;p&gt;For a more detailed overview, see the &lt;a href="#description"&gt;Course Description&lt;/a&gt; below or the &lt;a href="http://www.drps.ed.ac.uk/23-24/dpt/cxinfr11129.htm"&gt;DRPS Course Descriptor&lt;/a&gt;.&lt;/p&gt;&lt;h3 id="lectures"&gt;Lectures&lt;/h3&gt;&lt;p&gt;Lecture are in Semester 1 at 15:10-16:00 in Weeks 1 to 11:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Mondays in Appleton Tower, Room 2.12,&lt;/li&gt;&lt;li&gt;Thursdays in Appleton Tower, Lecture Theatre 3.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The first lecture is on Monday 18th September 2023.  &lt;/p&gt;&lt;p&gt;Not every lecture time will be used: see the &lt;a href="https://opencourse.inf.ed.ac.uk/fv/schedule"&gt;Course Schedule&lt;/a&gt; for details. &lt;/p&gt;&lt;h3 id="labs"&gt;Labs&lt;/h3&gt;&lt;p&gt;Drop-in lab sessions are at 11:10-13:00 in Weeks 3 to 10 in Appleton Tower, Room 4.12.  At each lab session the course lecturer and/or the course demonstrator will be available to answer questions about lecture material, practical exercises and coursework.&lt;/p&gt;&lt;h3 id="courseworks"&gt;Courseworks&lt;/h3&gt;&lt;p&gt;Two courseworks are planned. See the course Learn pages for further information on these courseworks.  &lt;/p&gt;&lt;h3 id="exercises"&gt;Practical Exercises&lt;/h3&gt;&lt;p&gt;Through the course, several exercises will be released in the use of various formal verification tools.   While these exercises are not formally assessed, you are strongly encouraged to work through them.  Sometimes, they will lead in to coursework involving the same tools.  They also will broaden your experience of formal verification tools.   If you like, you can work on the exercises in pairs.  Solutions to the exercises will be released.&lt;/p&gt;&lt;/div&gt;&lt;h3 id="help"&gt;Seeking Help&lt;/h3&gt;&lt;p&gt;If you run into difficulties and are not making satisfactory progress then seek help. The earlier you ask for help the more likely it is that your problems can be solved without damaging your performance in the course. Do not be shy asking for help. This is a challenging course, which introduces you to novel techniques and skills. You are expected to learn them during the course, not to come already equipped with them.&lt;/p&gt;&lt;p&gt;To seek help, you can:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;post questions on the course's Piazza discussion forum,&lt;/li&gt;&lt;li&gt;ask questions at one of the drop-in lab sessions,&lt;/li&gt;&lt;li&gt;email the course lecturer Paul Jackson.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Even if you are managing fine, please feel free to use the discussion forum to ask questions on course-related topics that go beyond the core material presented in the lectures, practical exercises, and courseworks.&lt;/p&gt;&lt;h3 id="further-reading"&gt;Further Reading&lt;/h3&gt;&lt;p&gt;The course lecture slides are designed to be reasonably self-contained.  When appropriate, links are provided on the &lt;a href="https://opencourse.inf.ed.ac.uk/fv/schedule"&gt;Schedule page&lt;/a&gt; to further information on the topics covered in lectures.  &lt;/p&gt;&lt;p&gt;On the course's Learn page, near the foot of the Content section, is a link to a Library Resources page which in turn links to a Resource List, the University Library's online reading list tool.   This tool displays information on recommended books and books for further reading.  When the Library has online access to a book, it links to the online version.  In some cases, the Library has physical copies and a library catalogue code is given to help you locate the book. You are encouraged to have a browse, particularly of introductory sections in these books.  However, do note that these books go far far beyond what you are expected to know for the course assessments.&lt;/p&gt;&lt;h3 id="description"&gt;Course Description&lt;/h3&gt;&lt;div id="inf-course-outline"&gt;&lt;p&gt;In recent years there have been highly noteworthy cases of the adoption of formal verification (FV) techniques in industry. For example, at Intel, FV has largely replaced simulation-based verification of their microprocessors, at Microsoft, FV is used to certify that 3rd party drivers are free of certain kinds of concurrency bugs. As FV tools and methodologies improve, FV is expected to become more and more widely used in industry.&lt;/p&gt;&lt;p&gt;This course aims to familiarise students with main classes of FV techniques that are likely to become most widespread in industry in the coming years. The intent is to prepare students who might go into industry with sufficient background in FV that they would be aware of when and how they might deploy FV techniques. The course will also be of interest to students who wish to go into research developing techniques for future-generation FV tools and who might need to use FV in their research. To satisfy these aims, the course has a practical focus, giving students hands-on experience with a number of tools and explaining their input languages for specifying systems and desired system properties. The course also introduces the underlying mathematical techniques, which gives students a deeper understanding of the tools and will help them use the tools most effectively.&lt;/p&gt;&lt;p&gt;Topics the course covers include the following: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Formal verification in context, its current take-up in industry and challenges to its wider adoption&lt;/li&gt;&lt;li&gt;Syntax and semantics of CTL and LTL temporal logics&lt;/li&gt;&lt;li&gt;CTL and LTL model checking techniques, including automata-based approaches and bounded model checking with SAT solvers&lt;/li&gt;&lt;li&gt;The BDD data-structure used at the heart of many model checkers&lt;/li&gt;&lt;li&gt;Writing models for model checking and phrasing useful properties in CTL and LTL&lt;/li&gt;&lt;li&gt;Operational semantics of a simple imperative programming language, weakest precondition operators and verification condition generation &lt;/li&gt;&lt;li&gt;The capabilities of SMT solvers for discharging verification conditions&lt;/li&gt;&lt;li&gt;Assertion-based software verification  &lt;br /&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Possible further topics include the following:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Industrial temporal logics such as PSL and SVA used in hardware verification&lt;/li&gt;&lt;li&gt;Formal verification case studies&lt;/li&gt;&lt;li&gt;Formal verification of hybrid systems, system with both discrete state changes and continuous state changes governed by differential equations&lt;/li&gt;&lt;li&gt;Combining formal and simulation-based verification methods&lt;/li&gt;&lt;li&gt;Dual use of temporal logic properties and assertions in formal and simulation-based verification of hardware and software&lt;/li&gt;&lt;li&gt;Software model checking, focusing on its use for finding concurrency bugs&lt;/li&gt;&lt;li&gt;Pattern-based detection of concurrency bugs&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
      
  &lt;div class="field field--name-field-license field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;License&lt;/div&gt;
              &lt;div class="field__item"&gt;All rights reserved The University of Edinburgh&lt;/div&gt;
          &lt;/div&gt;
</description>
  <pubDate>Tue, 18 Jul 2023 14:57:39 +0000</pubDate>
    <dc:creator>flittlet</dc:creator>
    <guid isPermaLink="false">998 at https://opencourse.inf.ed.ac.uk</guid>
    </item>

  </channel>
</rss>
