{'fraction_non_alphanumeric': 0.02524271844660194, 'fraction_numerical': 0.0048543689320388345, 'mean_word_length': 5.364197530864198, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Declarative Framework for the Verification of Network Protocols

The verification of network protocols is a challenging problem. Traditional model checking requires a translation into an intermediate language and suffers from state explosion. Recent proposals [1, 2, 4] have aimed at mitigating these issues. In this poster 1, we propose a different and novel declarative framework to tackle this problem. The framework builds upon the recent realization that with simple extensions, database-style query languages (e.g., Datalog) can be used to specify and implement network protocols [3]. Contrary to imperative languages which describe how computation should be executed, declarative languages strive to specify what computation should be performed. As such, declarative languages have a clear correspondence to mathematical logic, and are well-suited for analysis. The large body of work and techniques developed by the formal logic community can be directly applied and taken advantage of to reason about network protocols.