[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-640618-105":59,"doc-detail-640618-en":130},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":123,"head_meta":125,"extra_data":127,"updated_unix":129},105,"en","compositional-non-interference-for-fine-grained-concurrent-programs","Compositional Non-Interference for Fine-Grained Concurrent Programs","","Non-interference is a security property ensuring confidential information cannot leak to attackers. For programming languages, establishing non-interference is commonly addressed via type systems or program logics, but each approach has limitations: type systems are restrictive, while program logics demand substantial manual effort and struggle with modules or higher-order programs. SeLoC combines separation logic for non-interference with a type system built using logical relations, enabling compositional verification of typed and untyped components.",{"@graph":69,"@context":122},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/compositional-non-interference-for-fine-grained-concurrent-programs/640618/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/compositional-non-interference-for-fine-grained-concurrent-programs/640618.png","ImageObject",300,407,{"name":92,"@type":93},"moss~","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-29","2026-10-22",true,{"@type":102,"interactionType":103,"userInteractionCount":14},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What problem does non-interference solve in programs?","Question",{"text":112,"@type":113},"Non-interference prevents confidential information from leaking to attackers by enforcing controlled information flow across program executions.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"Why are type systems and program logics each insufficient on their own?",{"text":117,"@type":113},"Type systems offer strong automation but support only limited program forms. Program logics can handle more challenging programs but require significant manual proof effort and typically do not scale well to modular or higher-order settings.",{"name":119,"@type":110,"acceptedAnswer":120},"How does SeLoC combine separation logic with typing?",{"text":121,"@type":113},"SeLoC provides a relational weakest-preconditions style separation logic for non-interference, then builds a type system on top using logical relations. Typed parts are verified by type checking, while untyped parts can be verified via manual proof in the separation logic.","https://schema.org",{"og:url":83,"og:type":124,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":126,"canonical":83},"index,follow",{"doc_id":128,"site_id":62},640618,1793145172,{"code":4,"msg":5,"data":131},{"doc_id":128,"user_id":132,"nickname":92,"user_avatar":133,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":14,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":139,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":144,"read_time":145},962090895452,"https://ap-avatar.wpscdn.com/davatar_a8503ba1806abce46bf441b54a3ca4cd","Compositional Non-Interference for Fine-Grained Concurrent Programs  \nDan Frumin Radboud University  \nRobbert Krebbers Delft University of Technology  \nLars Birkedal Aarhus University  \nAbstract—Non-interference is a program property that ensures the absence of information leaks. In the context of programming languages, there exist two common approaches for establishing non-interference: type systems and program logics. Type systems provide strong automation (by means of type checking), but they are inherently restrictive in the kind of programs they support. Program logics support challenging programs, but they typically require signiﬁcant human assistance, and cannot handle modules or higher-order programs.  \nTo connect these two approaches, we present SeLoC—a separation logic for non-interference, on top of which we build a type system using the technique of logical relations. By building a type system on top of separation logic, we can compositionally verify programs that consist of typed and untyped parts. The former parts are veriﬁed through type checking, while the latter parts are veriﬁed through manual proof.  \nThe core technical contribution of SeLoC is a relational form of weakest preconditions that can track information ﬂow using separation logic resources. SeLoC is fully machine-checked, and built on top of the Iris framework for concurrent separation logic in Coq. The integration with Iris provides seamless support for ﬁne-grained concurrency, which was beyond the reach of prior type systems and program logics for non-interference.  \nIndex Terms—non-interference, logical relations, separation logic, ﬁne-grained concurrency, Coq, Iris  \nI. INTRODUCTION Non-interference is a form of information ﬂow control (IFC)  \nused to express that conﬁdential information cannot leak to attackers. To establish non-interference of modern programs, it is crucial to develop veriﬁcation techniques that support challenging programming paradigms and programming constructs such as concurrency. Furthermore, to scale up these techniques to larger programs, it is important that they are compositional. That is, they should make it possible to establish non-interference of program modules in isolation, without having to consider all possible interference from the environment and other program modules.  \nMuch effort has been put into developing these veriﬁcation techniques. In terms of expressivity, techniques have been developed that support dynamically allocated references and higher-order functions [1]–[3], and concurrency [4]–[10] . Despite recent advancements, the expressivity of available techniques for non-interference still lags behind the expressivity of techniques for functional correctness, which have seen major breakthroughs since the seminal development of concurrent separation logic [11], [12] . There are several reasons for this. First, a lot of prior work on non-interference focused on type systems and type system-like logics, e.g., [1], [4], [6], [9],  \n[10] . Such systems provide strong automation (by means of type checking), but lack capabilities to reason about functional correctness, and are thus inherently restrictive in the kind of programs they can verify. For example, it may be the case that the conﬁdentiality of the contents of a reference depends on runtime information instead of solely static information (this is called value-dependent classiﬁcation [7], [13]–[16]) .  \nSecond, proving non-interference is harder than proving functional correctness. While functional correctness is a property about each single run of a program, non-interference is stated in terms of multiple runs of the same program. One has to show that for different values of conﬁdential inputs, the attacker cannot observe a different behavior.  \nTo overcome the aforementioned shortcomings, we take anew approach that combines program logics and type systems: we present a concurrent separation logic for non-interference on top of which we build a ty","cbCaie4oqCef0BoB","https://ap.wps.com/l/cbCaie4oqCef0BoB","pdf",485501,18,"English","# Introduction\n## Non-interference and information flow control\n## Expressivity limits of existing approaches\n## Combining program logics and type systems\n## Key advantages of SeLoC","[{\"question\":\"What problem does non-interference solve in programs?\",\"answer\":\"Non-interference prevents confidential information from leaking to attackers by enforcing controlled information flow across program executions.\"},{\"question\":\"Why are type systems and program logics each insufficient on their own?\",\"answer\":\"Type systems offer strong automation but support only limited program forms. Program logics can handle more challenging programs but require significant manual proof effort and typically do not scale well to modular or higher-order settings.\"},{\"question\":\"How does SeLoC combine separation logic with typing?\",\"answer\":\"SeLoC provides a relational weakest-preconditions style separation logic for non-interference, then builds a type system on top using logical relations. Typed parts are verified by type checking, while untyped parts can be verified via manual proof in the separation logic.\"}]","Compositional Non-Interference for Fine-Grained Concurrent Programs | PDF",1792710047,45]