Network engineers often need to perform network diagnosis and inference tasks, which frequently require answers to enumeration questions such as "Which packets from the Internet arrive at host C?" or "Which single-link failures disconnect my network?" Parametric NetKAT is a new domain-specific language that combines elements of NetKAT, Relational NetKAT, and Weighted NetKAT into a single system and extends them with parameters, allowing users to pose such enumeration questions directly over network models. This paper presents the design and semantics of Parametric NetKAT and illustrates its utility through a series of examples. It shows how to compile Parametric NetKAT into NetKAT automata, develops new algorithms for efficiently collecting satisfying valuations, and proves the correctness of these procedures. Finally, it evaluates the performance of Parametric NetKAT on a collection of benchmarks drawn from industrial sources.
Relational NetKAT (RN) is a new specification language for network change validation. Engineers use RN to specify intended changes by providing a trace relation R, which maps existing packet traces in the pre-change network to intended packet traces in the post-change network. The intended set of traces may then be checked against the actual post-change traces to uncover errors in implementation. Trace relations are constructed compositionally from a language of combinators that include trace insertion, trace deletion, and packet transformation, as well as regular operators for concatenation, union, and iteration of relations. We provide algorithms for converting trace relations into a new form of NetKAT transducer and also for constructing an automaton that recognizes the image of a NetKAT automaton under a NetKAT transducer. These algorithms, together with existing decision procedures for NetKAT automaton equivalence, suffice for validating network changes. We provide a denotational semantics for our specification language, prove our compilation algorithms correct, implement a tool for network change validation, and evaluate it on a set of benchmarks drawn from a production network and Amazon's Batfish toolkit.
Network operators are often interested in verifying eventually-stable properties of network control planes: properties of control plane states that hold eventually, and hold forever thereafter, provided the operating environment remains unchanged. Examples include eventually-stable reachability, access control, or path length properties. In this work, we introduce CB-Ver, a new framework for verifying such properties, based on the key idea of a converges-before graph (CB-graph for short). When a user provides interfaces for each network component, CB-Ver checks the necessary component-by-component requirements in parallel using an SMT solver. In addition, the tool automatically synthesizes a CB-graph and checks whether it connects all nodes in a network – if it does, the interfaces are valid and users can check whether additional eventually-stable properties are implied. Moreover, the CB-graph can then be used to determine fault tolerance properties of the network. We formalize our verification algorithm in the Lean theorem proving environment and prove its soundness. We evaluate the performance of CB-Ver on a range of benchmarks that demonstrate its ability to verify expressive properties in reasonable time. Finally, we demonstrate it is possible to automatically generate suitable interfaces by turning the problem around: Given a CB-graph, we use an off-the-shelf Constrained Horn Clause (CHC) solver to synthesize interfaces for every network component that together ensure the given correctness property.
Kleene algebra (KA) provides a foundational algebraic framework for reasoning about program structure and control flow. To capture equivalences arising from reordering or independence of actions, Kozen [1996] purposed that KA can be extended with commutativity conditions, that is, equations of the form ab = ba | (a,b) ∈C , where C is a binary relation on constant symbols. This paper studies the following question: for which relations C is the equational theory of KA+C decidable? Early related work [Bertoni et al. 1982; Ibarra 1978] showed that regular languages modulo commutativity conditions C are decidable if and only if C is transitive. For Kleene algebra KA and commutativity conditions C, however, the situation is substantially more difficult. Only very recently, Kuznetsov [2023] showed that the equational theory of Kleene algebra KA+C is undecidable under certain specific commutativity conditions, settling the first nontrivial cases more than 25 years after the corresponding problem for KA* +C was resolved by Kozen [1996]. Nevertheless, the decidability problem of KA+C remained open. In this work, we resolve this question completely by showing that the equational theory of KA+C is decidable if and only if C is transitive. Moreover, we strengthen the result in both directions. On the negative side, we show that when C is not transitive, the universality problem for KA+C is already undecidable. On the positive side, we show that for transitive C, the equational theories of KA* +C and KA+C coincide.
An abstract is not available for this content so a preview has been provided. Please use the Get access link above for information on how to access this content.
Influenza virological surveillance was conducted in Bangladesh from January to December 2021 in live poultry markets (LPMs) and in Tanguar Haor, a wetland region where domestic ducks have frequent contact with migratory birds. The predominant viruses circulating in LPMs were low pathogenic avian influenza (LPAI) H9N2 and clade 2.3.2.1a highly pathogenic avian influenza (HPAI) H5N1 viruses. Additional LPAIs were found in both LPM (H4N6) and Tanguar Haor wetlands (H7N7). Genetic analyses of these LPAIs strongly suggested long-distance movement of viruses along the Central Asian migratory bird flyway. We also detected a novel clade 2.3.4.4b H5N1 virus from ducks in free-range farms in Tanguar Haor that was similar to viruses first detected in October 2020 in The Netherlands but with a different PB2. Identification of clade 2.3.4.4b HPAI H5N1 viruses in Tanguar Haor provides continued support of the role of migratory birds in transboundary movement of influenza A viruses (IAV), including HPAI viruses. Domestic ducks in free range farm in wetland areas, like Tangua Haor, serve as a conduit for the introduction of LPAI and HPAI viruses into Bangladesh. Clade 2.3.4.4b viruses have dominated in many regions of the world since mid-2021, and it remains to be seen if these viruses will replace the endemic clade 2.3.2.1a H5N1 viruses in Bangladesh.
Influenza A viruses of the H2 subtype represent a zoonotic and pandemic threat to humans due to a lack of widespread specific immunity. Although A(H2) viruses that circulate in wild bird reservoirs are distinct from the 1957 pandemic A(H2N2) viruses, there is concern that they could impact animal and public health. There is limited information on AIVs in Latin America, and next to nothing about H2 subtypes in Brazil. In the present study, we report the occurrence and genomic sequences of two influenza A viruses isolated from wild-caught white-rumped sandpipers (Calidris fuscicollis). One virus, identified as A(H2N1), was isolated from a bird captured in Restinga de Jurubatiba National Park (PNRJ, Rio de Janeiro), while the other, identified as A(H2N2), was isolated from a bird captured in Lagoa do Peixe National Park (PNLP, Rio Grande do Sul). DNA sequencing and phylogenetic analysis of the obtained sequences revealed that each virus belonged to distinct subtypes. Furthermore, the phylogenetic analysis indicated that the genomic sequence of the A(H2N1) virus isolated from PNRJ was most closely related to other A(H2N1) viruses isolated from North American birds. On the other hand, the A(H2N2) virus genome recovered from the PNLP-captured bird exhibited a more diverse origin, with some sequences closely related to viruses from Iceland and North America, and others showing similarity to virus sequences recovered from birds in South America. Viral genes of diverse origins were identified in one of the viruses, indicating local reassortment. This suggests that the extreme South of Brazil may serve as an environment conducive to reassortment between avian influenza virus lineages from North and South America, potentially contributing to an increase in overall viral diversity.
In Bangladesh, free-range duck farms provide opportunities for the generation of novel influenza A viruses as evidenced by the emergence of an unusual A(H1N7) virus in 2023. Continued surveillance of such environments for the potential emergence of influenza A viruses with novel properties remains a priority.
Despite recent advances in using formal methods for analyzing network performance, modeling network functionality for performance analysis remains challenging. Existing tools expect users to directly create the logical formulas corresponding to the network functionality of interest. This is often unintuitive, difficult to get right, and tightly coupled with the specific encoding and reasoning engine one chooses to use. Instead, we propose language abstractions that enable users to model network functionality and analysis tasks in an imperative solver-agnostic program, and a framework to transform them into a representation that can be analyzed by the appropriate solver. We outline our progress so far, demonstrating the potential of our approach through preliminary case studies and directions for future work.
Programmable data planes allow for sophisticated applications that give operators the power to customize the functionality of their networks. Deploying these applications, however, often requires tedious and burdensome optimization of their layout and design, in which programmers must manually write, compile, and test an implementation, adjust the design, and repeat. In this paper we present Parasol, a framework that allows programmers to define general, parameterized network algorithms and automatically optimize their various parameters. The parameters of a Parasol program can represent a wide variety of implementation decisions, and may be optimized for arbitrary, high-level objectives defined by the programmer. Furthermore, optimization may be tailored to particular environments by providing a representative sample of traffic. We show how we implement the Parasol framework, which consists of a sketching language for writing parameterized programs, and a simulation-based optimizer for testing different parameter settings. We evaluate Parasol by implementing a suite of ten data-plane applications, and find that Parasol produces a solution with comparable performance to hand-optimized P4 code within a two-hour time budget.
Influenza viruses are a major global health burden with up to 650,000 associated deaths annually. Beyond seasonal illness, influenza A viruses (IAVs) pose a constant pandemic threat due to novel emergent viruses that have evolved the ability to jump from their natural avian hosts to humans. Because of this threat, active surveillance of circulating IAV strains in wild and domestic bird populations is vital to our pandemic preparedness and response strategies. Here, we report on IAV surveillance data collected from 2017 to 2022 from wild and domestic birds in Bangladesh. We note evidence to suggest that male birds show a higher risk of IAV, including highly pathogenic avian influenza (HPAI) A(H5) virus, positivity than female birds. The data was stratified to control for selection bias and confounding variables to test the hypothesis that male birds are at a higher risk of IAV positivity relative to female birds. The association of IAV and A(H5) largely held in each stratum, and double stratification suggested that the phenomena was largely specific to ducks. Finally, we show that chickens, male birds, and juvenile birds generally have higher viral loads compared to their counterparts. These observations warrant further validation through active surveillance across various populations. Such efforts could significantly contribute to the enhancement of pandemic prediction and risk assessment models.
We develop FLM, a high-level language that enables network operators to write programs that recognize and react to specific packet sequences. To be able to examine every packet, our compilation procedure can transform FLM programs into P4 code that can run on programmable switch ASICs. It first splits FLM programs into a state management component and a classical regular expression, then generates an efficient implementation of the regular expression using SMT-based program synthesis. Our experiments find that FLM can express 15 sequence monitoring tasks drawn from prior literature. Our compiler can convert all of these programs to run on switch hardware in way that fit within available pipeline stages and consume less than 15% additional header fields and instruction words when run alongside switch programs.
Relational network verification is a new approach for validating network changes. In contrast to traditional network verification, which analyzes specifications for a single network snapshot, it analyzes specifications that capture similarities and differences between two network snapshots (e.g., pre- and post-change snapshots). Relational specifications are compact and precise because they focus on the flows and paths that change between snapshots and then simply mandate that all other network behaviors "stay the same", without enumerating them. To achieve similar guarantees, single-snapshot specifications would need to enumerate all flow and path behaviors that are not expected to change in order to enable checking that nothing has accidentally changed. Such specifications are proportional to network size, which makes them impractical to generate for many real-world networks. We demonstrate the value of relational reasoning by developing Rela, a high-level relational specification language and verification tool for network changes. Rela compiles input specifications and network snapshot representations to finite state automata, and it then verifies compliance by checking automaton equivalence. Our experiments using data from a global backbone with over 103 routers find that Rela specifications need fewer than 10 terms for 93% of the complex, high-risk changes. Rela validates 80% of the changes within 20 minutes.
Since late 2021, highly pathogenic avian influenza (HPAI) viruses of A/goose/Guangdong/1/1996 (H5N1) lineage have caused widespread mortality in wild birds and poultry in the United States. Concomitant with the spread of HPAI viruses in birds are increasing numbers of mammalian infections, including wild and captive mesocarnivores and carnivores with central nervous system involvement. Here we report HPAI, A(H5N1) of clade 2.3.4.4b, in a common bottlenose dolphin (Tursiops truncatus) from Florida, United States. Pathological findings include neuronal necrosis and inflammation of the brain and meninges, and quantitative real time RT-PCR reveal the brain carried the highest viral load. Virus isolated from the brain contains a S246N neuraminidase substitution which leads to reduced inhibition by neuraminidase inhibitor oseltamivir. The increased prevalence of A(H5N1) viruses in atypical avian hosts and its cross-species transmission into mammalian species highlights the public health importance of continued disease surveillance and biosecurity protocols.
Satisfiability Modulo Theories (SMT)-based analysis allows exhaustive reasoning over complex distributed control plane routing behaviors, enabling verification of routing under arbitrary conditions. To improve scalability of SMT solving, we introduce a modular verification approach to network control plane verification, where we cut a network into smaller fragments. Users specify an annotated cut which describes how to generate these fragments from the monolithic network, and we verify each fragment independently, using these annotations to define assumptions and guarantees over fragments akin to assume-guarantee reasoning. We prove this modular network verification procedure is sound and complete with respect to verification over the monolithic network. We implement this procedure as Kirigami, an extension of NV [25] - a network verification language and tool - and evaluate it on industrial topologies with synthesized policies. We observe a 10x improvement in end-to-end NV verification time, with SMT solve time improving by up to 6 orders of magnitude.
Donor-advised funds (DAFs) are conduits for charitable giving that support immediate tax deductions while creating a reservoir of assets for subsequent disposition to end-use charities. The number of new DAF accounts has skyrocketed in the wake of the 2017 Tax Cuts and Jobs Act (TCJA). This Article presents evidence suggesting that bunching charitable contributions to more fully exploit the TCJA-enhanced standard deduction likely motivates much of the onslaught of new DAF accounts established since 2016 and argues that the typical buncher is likely to differ from other DAF account holders in ways that matter from a policy perspective. Thus, while DAF critics have generally focused on the unproductive accumulation of assets in DAF accounts and have advanced reforms aimed at speeding up DAF payouts, this Article argues that in the context of bunchers, unproductive accumulation of assets in DAF accounts is unlikely to be a major problem. The more significant problem with DAF-facilitated bunching is that the cost to the public fisc is unlikely to be justified by incremental charitable giving. Thus, while this Article concludes that regulation targeting DAF payouts is unobjectionable, it argues that a wholly different set of reforms targeting the deductibility of charitable giving generally would be needed to address the cost of DAF-facilitated bunching under current law and under thoughtfully reformed laws involving universal charitable deductions above a floor.
Common data types like dates, addresses, phone numbers and tables can have multiple textual representations, and many heavily-used languages, such as SQL, come in several dialects. These variations can cause data to be misinterpreted, leading to silent data corruption, failure of data processing systems, or even security vulnerabilities. Saggitarius is a new language and system designed to help programmers reason about the format of data, by describing grammatical domains---that is, sets of context-free grammars that describe the many possible representations of a datatype. We describe the design of Saggitarius via example and provide a relational semantics. We show how Saggitarius may be used to analyze a data set: given example data, it uses an algorithm based on semi-ring parsing and MaxSAT to infer which grammar in a given domain best matches that data. We evaluate the effectiveness of the algorithm on a benchmark suite of 110 example problems, and we demonstrate that our system typically returns a satisfying grammar within a few seconds with only a small number of examples. We also delve deeper into a more extensive case study on using Saggitarius for CSV dialect detection. Despite being general-purpose, we find that Saggitarius offers comparable results to hand-tuned, specialized tools; in the case of CSV, it infers grammars for 84% of benchmarks within 60 seconds, and has comparable accuracy to custom-built dialect detection tools.
Many applications that run on programmable data planes rely on approximate data structures, due to insufficient in-network memory. However, programming with approximate data structures is challenging because it requires (1) expertise in streaming algorithms to select the data structures that best match an application's requirements, (2) meticulous configuration to minimize approximation error while fitting within the hardware constraints, and (3) proficiency in the low-level P4 language. To address these issues, we propose NAP, a high-level network programming language. The core of NAP is the versatile approximate dictionary abstraction that captures a wide range of compact data structures, while allowing programmers to simply specify the kinds of error an application can tolerate. We demonstrate the language's expressiveness, conciseness, and efficiency through a variety of network applications, each compiling to P4 for the Intel Tofino in less than a second and featuring 25X--50X fewer lines of code compared to the P4 output. We evaluate an approximate stateful firewall written in NAP with real campus traffic, achieving performance consistent with the predicted accuracy.
The development of programmable switches such as the Intel Tofino has allowed network designers to implement a wide range of new in-network applications and network control logic. However, current switch programming languages, like P4, operate at a very low level of abstraction. This paper introduces SwitchLog, a new experimental logic programming language designed to lift the level of abstraction at which network programmers operate, while remaining amenable to efficient implementation on programmable switches. SwitchLog is inspired by previous distributed logic programming languages such as NDLog, in which programmers declare a series of facts, each located at a particular switch in the network. Logic programming rules that operate on facts at different locations implicitly generate network communication, and are updated incrementally, as packets pass through a switch. In order to ensure these updates can be implemented efficiently on switch hardware, SwitchLog imposes several restrictions on the way programmers can craft their rules. We demonstrate that SwitchLog can be used to express a variety of networking applications in a mere handful of lines of code.
Jay Ligatti合作论文数Dept. of Computer Science & Engineering
University of South Florida10