skip to main content
10.1145/3696348.3696854acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

Buffy: A Formal Language-Based Framework for Network Performance Analysis

Published: 18 November 2024 Publication History

Abstract

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.

References

[1]
2023. FPerf Github Repository. https://github.com/all-things-networking/fperf/tree/main. Accessed: 2024--06.
[2]
2024. Buffy Github Repository. https://github.com/all-things-networking/hotnets24-buffy. Accessed: 2024--06.
[3]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. 1986. Compilers: Principles, Techniques, and Tools. Addison-Wesley.
[4]
Mohammad Alizadeh, Albert Greenberg, David A Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan. 2010. Data center tcp (dctcp). In ACM SIGCOMM.
[5]
Mohammad Alizadeh, Shuang Yang, Milad Sharif, Sachin Katti, Nick McKeown, Balaji Prabhakar, and Scott Shenker. 2013. pFabric: Minimal near-optimal datacenter transport. In ACM SIGCOMM.
[6]
Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, and Abhishek Udupa. 2013. Syntaxguided synthesis. In FMCAD.
[7]
Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. 2014. NetKAT: Semantic Foundations for Networks. In ACM SIGPLAN POPL.
[8]
Mina Tahmasbi Arashloo, Ryan Beckett, and Rachit Agarwal. 2023. Formal methods for network performance analysis. In USENIX NSDI.
[9]
Venkat Arun, Mina Tahmasbi Arashloo, Ahmed Saeed, Mohammad Alizadeh, and Hari Balakrishnan. 2021. Toward formally verifying congestion control behavior. In ACM SIGCOMM.
[10]
Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2017. The SMT-LIB Standard: Version 2.6. Technical Report. Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org.
[11]
Ryan Beckett and Ratul Mahajan. 2020. A General Framework for Compositional Network Modeling. In The ACM Workshop on Hot Topics in Networks (HotNets).
[12]
Xiaoqi Chen, Shir Landau Feibish, Yaron Koral, Jennifer Rexford, Ori Rottenstreich, Steven A Monetti, and Tzuu-Yi Wang. 2019. Fine-grained queue measurement in the data plane. In ACM CoNEXT.
[13]
Edmund Clarke, Daniel Kroening, and Flavio Lerda. 2004. A Tool for Checking ANSI-C Programs. In Proceedings of the Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) (Lecture Notes in Computer Science, Vol. 2988). Springer.
[14]
Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In In Proceedings of the Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS).
[15]
Cormac Flanagan, Rajeev Joshi, and K. Rustan M. Leino. 2001. Annotation inference for modular checkers. Inform. Process. Lett. (2001).
[16]
Ari Fogel, Stanley Fung, Luis Pedrosa, Meg Walraed-Sullivan, Ramesh Govindan, Ratul Mahajan, and Todd Millstein. 2015. A General Approach to Network Configuration Analysis. In USENIX NSDI.
[17]
Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, and Alexandra Silva. 2016. Probabilistic NetKAT. In European Symposium on Programming.
[18]
Timon Gehr, Sasa Misailovic, Petar Tsankov, Laurent Vanbever, Pascal Wiesmann, and Martin Vechev. 2018. Bayonet: Probabilistic inference for networks. In ACM SIGPLAN PLDI.
[19]
Nick Giannarakis, Devon Loehr, Ryan Beckett, and David Walker. 2020. NV: An Intermediate Language for Verification of Network Control Planes. In ACM SIGPLAN PLDI.
[20]
Mark Handley, Costin Raiciu, Alexandru Agache, Andrei Voinescu, Andrew W Moore, Gianni Antichi, and Marcin Wójcik. 2017. Re-architecting datacenter networks and stacks for low latency and high performance. In ACM SIGCOMM.
[21]
Toke Høeiland-Jøergensen, Paul McKenny, Dave Taht, Jim Gettys, and Eric Dumazet. 2018. The Flow Queue CoDel packet scheduler and active queue management algorithm. RFC 8290. https://rfc-editor.org/rfc/rfc8290.txt
[22]
Alex Horn, Ali Kheradmand, and Mukul Prasad. 2017. Delta-Net: Real-time network verification using atoms. In USENIX NSDI.
[23]
Karthick Jayaraman, Nikolaj Bjørner, Jitu Padhye, Amar Agrawal, Ashish Bhargava, Paul-Andre C Bissonnette, et al. 2019. Validating datacenters at scale. In ACM SIGCOMM.
[24]
Garvit Juniwal, Nikolaj Bjorner, Ratul Mahajan, Sanjit Seshia, and George Varghese. 2016. Quantitative network analysis. Technical report (2016).
[25]
Peyman Kazemian, George Varghese, and Nick McKeown. 2012. Header space analysis: Static checking for networks. In USENIX NSDI.
[26]
Ahmed Khurshid, Xuan Zou, Wenxuan Zhou, Matthew Caesar, and P Brighten Godfrey. 2013. Veriflow: Verifying network-wide invariants in real time. In USENIX NSDI.
[27]
Anvesh Komuravelli, Arie Gurfinkel, and Sagar Chaki. 2016. SMT-based model checking for recursive programs. Formal Methods in System Design (2016).
[28]
Kim G Larsen, Stefan Schmid, and Bingtian Xue. 2017. WNetKAT: A weighted SDN programming and verification language. In International Conference on Principles of Distributed Systems (OPODIS).
[29]
Jean-Yves Le Boudec and Patrick Thiran. 2001. Network calculus: a theory of deterministic queuing systems for the internet. Springer.
[30]
K. M. Leino. 2017. Accessible Software Verification with Dafny. IEEE Software (nov 2017). https://doi.org/10.1109/MS.2017.4121212
[31]
Yuliang Li, Rui Miao, Hongqiang Harry Liu, Yan Zhuang, Fei Feng, Lingbo Tang, Zheng Cao, Ming Zhang, Frank Kelly, Mohammad Alizadeh, et al. 2019. HPCC: High precision congestion control. In ACM SIGCOMM.
[32]
Haohui Mai, Ahmed Khurshid, Rachit Agarwal, Matthew Caesar, P Brighten Godfrey, and Samuel Talmadge King. 2011. Debugging the data plane with Anteater. In ACM SIGCOMM.
[33]
Anshuman Mohan, Yunhe Liu, Nate Foster, Tobias Kappé, and Dexter Kozen. 2023. Formal abstractions for packet scheduling. In ACM OOPSAL.
[34]
Jonathan Perry, Amy Ousterhout, Hari Balakrishnan, Devavrat Shah, and Hans Fugal. 2014. Fastpass: A centralized" zero-queue" datacenter network. In ACM SIGCOMM.
[35]
The P4.org Application Working Group. 2024. In-band Network Telemetry (INT) Dataplane Specification. https://p4.org/p4-spec/docs/INT_v2_1.pdf.
[36]
Ying Zhang, Wenfei Wu, Sujata Banerjee, Joon-Myung Kang, and Mario A Sanchez. 2017. SLA-verifier: Stateful and quantitative verification for service chaining. In IEEE INFOCOM.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HotNets '24: Proceedings of the 23rd ACM Workshop on Hot Topics in Networks
November 2024
394 pages
ISBN:9798400712722
DOI:10.1145/3696348
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 November 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Domain-Specific Programming Languages
  2. Formal Verification
  3. Network Performance Analysis

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • NSF
  • NSERC

Conference

HOTNETS '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 110 of 460 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 65
    Total Downloads
  • Downloads (Last 12 months)65
  • Downloads (Last 6 weeks)21
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media