[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-81863-en":3,"doc-seo-81863-105":29,"detail-sidebar-cat-0-en-105":82},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":13,"seo_description":14,"update_tm":27,"read_time":28},81863,5909877438554,"Maeve","https://ap-avatar.wpscdn.com/avatar/5600025385ad2bf12a7?_k=1778553567797529272",8,"Research & Report","CAF: an Automated Feedback Tool to Approach Formal Methods","CAF is a learning platform that introduces computer science students to Formal Methods by guiding them toward structural thinking instead of purely operational thinking. It promotes Graphical Loop Invariant Based Programming (GLIBP), where learners construct a Graphical Loop Invariant (GLI) diagram before deriving the corresponding code. Students submit both a fill-in-the-blank GLI and C code, enabling automated, personalized feedback on the GLI and its alignment with the final program. The demo covers tool use from student and teacher perspectives, including challenge encoding.","CAF´E, an automated feedback tool to approach  \nFormal Methods  \nGraldine Brieven,Ayman Labrahimi Kasdaoui,Benoit Donnet Universit de Lige, Institut Montefiore, Belgium  \narXiv :2607 .0300 1v 1 [ cs . SE] 3 Jul 2026  \nAbstract—We present CAF, a learning platform designed to introduce computer science students to Formal Methods (FM). CAF aims to scaffold students’ structural thinking (in contrast with operational thinking) by promoting the practice of Graphical Loop Invariant Based Programming (GLIBP). In the GLIBP approach, students solve loop-based problems by first constructing a Graphical Loop Invariant (GLI) before deriving the corresponding code. The GLI is an informal diagrammatic representation of the loop invariant. It illustrates the variables involved in the loop, their properties, and the relationships between them. To enable automated feedback, students complete a fill-in-the-blank GLI, a box-based version of the GLI. Beyond evaluating the code students submit, CAF provides personalized feedback on students’GLI and its alignment with the code. In this demo, we walk through CAF from both a student’s anda teacher’s perspective. We show how the tool supports GLIdesign and provides feedback. We then present how a teacher can encode programming challenges together with a corresponding fill-in-the-blank GLI.  \nIndex Terms—Graphical Loop Based Programming, Automated Feedback, Formal Methods, CS1  \nI. INTRODUCTION  \nFormal Methods (FM) thinking is a mindset computer scientists should develop from the very first day of their studies [1] . Other researchers [2], [3],[4] have also highlighted the importance of FM in education, given its increasing adoption in industry and the persistent challenge of writing correct programs.  \nTo address this, we introduced a Graphical Loop Invariant Based Programming (GLIBP) approach in our introductory programming (CS1) course. It aims to familiarize students with structural thinking early in their education, thereby preparing them for FM. GLIBP is grounded in Hoare’s logic [5] and the programming methodology established by Dijkstra [6] . To make invariants accessible, this approach uses informal visual representations and textual descriptions, referred to as a Graphical Loop Invariant (GLI) . A GLI illustrates the objects and variables involved in a loop solution, as well as the relationships between them, and must hold at each evaluation of the loop guard. Students are expected to implement their loops in accordance with their GLI, under the constraint that the loop terminates.  \nTo support regular practice, we developed a learning platform called CAF . Throughout the semester, students use CAF to solve loop-based problems by submitting both the GLI reflecting their solution and the corresponding C code. Beyond evaluating the final code, CAF provides personalized feedback on the GLI and its consistency with the code. This  \nautomated feedback guides students in refining their GLI and code before resubmitting for further feedback. In our demo, we use one problem as a running example, showing how it can be solved by completing a fill-in-the-blank GLI and deriving the corresponding code. We also give the audience hands-on access to CAF, first from the student’s perspective, walking through the automated feedback a student might receive. We then shift to the teacher’s view, demonstrating how instructors can encode new programming challenges and define a corresponding fill-in-the-blank GLI.  \nCAF’s distinguishing feature is its ability to automatically generate feedback on students’GLI within an interactive online environment.  \nA. Targeted Audience  \nThis demo will primarily interest CS educators who teach FM or wish to prepare their students for it. Our tool may also serve as a valuable complementary resource for students who struggle to grasp the role of assertions in program correctness. More broadly, we are open to extending our automated feedback feature to support the teaching of FM in ","cbCaitj8OayLl1Pf","https://ap.wps.com/l/cbCaitj8OayLl1Pf","pdf",6102272,1,11,"English","en",105,"# Introduction\n## Targeted Audience\n# Related Work","[{\"question\":\"What kind of feedback does CAF provide to students and teachers?\",\"answer\":\"CAF evaluates submitted code and also gives personalized feedback on the student’s fill-in-the-blank GLI and whether it matches the submitted code. For teachers, the tool supports encoding new programming challenges together with the corresponding fill-in-the-blank GLI.\"}]",1784176713,28,{"code":4,"msg":30,"data":31},"ok",{"site_id":24,"language":23,"slug":32,"title":13,"keywords":33,"description":14,"schema_data":34,"social_meta":77,"head_meta":79,"extra_data":81,"updated_unix":27},"caf-an-automated-feedback-tool-to-approach-formal-methods","",{"@graph":35,"@context":76},[36,53,67],{"@type":37,"itemListElement":38},"BreadcrumbList",[39,43,47,50],{"item":40,"name":41,"@type":42,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":44,"name":45,"@type":42,"position":46},"https://docshare.wps.com/document/","Document",2,{"item":48,"name":12,"@type":42,"position":49},"https://docshare.wps.com/document/research-report/",3,{"item":51,"name":13,"@type":42,"position":52},"https://docshare.wps.com/document/caf-an-automated-feedback-tool-to-approach-formal-methods/81863/",4,{"url":51,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":23,"description":14,"dateModified":61,"datePublished":61,"encodingFormat":60,"isAccessibleForFree":62,"interactionStatistic":63},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":40,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-16",true,{"@type":64,"interactionType":65,"userInteractionCount":4},"InteractionCounter",{"@type":66},"ViewAction",{"@type":68,"mainEntity":69},"FAQPage",[70],{"name":71,"@type":72,"acceptedAnswer":73},"What kind of feedback does CAF provide to students and teachers?","Question",{"text":74,"@type":75},"CAF evaluates submitted code and also gives personalized feedback on the student’s fill-in-the-blank GLI and whether it matches the submitted code. For teachers, the tool supports encoding new programming challenges together with the corresponding fill-in-the-blank GLI.","Answer","https://schema.org",{"og:url":51,"og:type":78,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":80,"canonical":51},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":83},[84,88,92,96,101,106,111,114,119,122,126],{"id":20,"doc_module":4,"doc_module_name":45,"category_name":85,"show_sort_weight":86,"slug":87},"Story & Novel",90,"story-novel",{"id":46,"doc_module":4,"doc_module_name":45,"category_name":89,"show_sort_weight":90,"slug":91},"Literature",80,"literature",{"id":52,"doc_module":4,"doc_module_name":45,"category_name":93,"show_sort_weight":94,"slug":95},"Exam",70,"exam",{"id":97,"doc_module":4,"doc_module_name":45,"category_name":98,"show_sort_weight":99,"slug":100},5,"Comic",60,"comic",{"id":102,"doc_module":4,"doc_module_name":45,"category_name":103,"show_sort_weight":104,"slug":105},6,"Technology",50,"technology",{"id":107,"doc_module":4,"doc_module_name":45,"category_name":108,"show_sort_weight":109,"slug":110},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":45,"category_name":12,"show_sort_weight":112,"slug":113},30,"research-report",{"id":115,"doc_module":4,"doc_module_name":45,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":45,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":45,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":45,"category_name":128,"show_sort_weight":97,"slug":129},19,"General","general"]