Abstract
Network operators often need to ensure that important probabilistic properties are met, such as that the probability of network congestion is below a certain threshold. Ensuring such properties is challenging and requires both a suitable language for probabilistic networks and an automated procedure for answering probabilistic inference queries.
We present Bayonet, a novel approach that consists of: (i) a probabilistic network programming language and (ii) a system that performs probabilistic inference on Bayonet programs. The key insight behind Bayonet is to phrase the problem of probabilistic network reasoning as inference in existing probabilistic languages. As a result, Bayonet directly leverages existing probabilistic inference systems and offers a flexible and expressive interface to operators.
We present a detailed evaluation of Bayonet on common network scenarios, such as network congestion, reliability of packet delivery, and others. Our results indicate that Bayonet can express such practical scenarios and answer queries for realistic topology sizes (with up to 30 nodes).
Supplemental Material
- Aws Albarghouthi, Loris D’Antoni, Samuel Drews, and Aditya V. Nori. 2017. FairSquare: Probabilistic Verification of Program Fairness. Proc. ACM Program. Lang. 1, OOPSLA, Article 80 (Oct. 2017), 30 pages. Google Scholar
Digital Library
- Torben Amtoft and Anindya Banerjee. 2016. A Theory of Slicing for Probabilistic Control Flow Graphs. In Foundations of Software Science and Computation Structures, Bart Jacobs and Christof Löding (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 180–196.Google Scholar
- Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. 2014. NetKAT: Semantic Foundations for Networks. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’14). ACM, New York, NY, USA, 113–126. Google Scholar
Digital Library
- T. Auld, A. W. Moore, and S. F. Gull. 2007. Bayesian Neural Networks for Internet Traffic Classification. IEEE Transactions on Neural Networks 18, 1 (Jan 2007), 223–239. Google Scholar
Digital Library
- Gilles Barthe, Boris Köpf, Federico Olmedo, and Santiago ZanellaBéguelin. 2013. Probabilistic Relational Reasoning for Differential Privacy. ACM Trans. Program. Lang. Syst. 35, 3, Article 9 (Nov. 2013), 49 pages. Google Scholar
Digital Library
- Sooraj Bhat, Ashish Agarwal, Richard Vuduc, and Alexander Gray. 2012. A Type Theory for Probability Density Functions. In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’12). ACM, New York, NY, USA, 545–556. Google Scholar
Digital Library
- Sooraj Bhat, Johannes Borgström, Andrew D. Gordon, and Claudio Russo. 2013. Deriving Probability Density Functions from Probabilistic Functional Programs. In Tools and Algorithms for the Construction and Analysis of Systems, Nir Piterman and Scott A. Smolka (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 508–522. Google Scholar
Digital Library
- Johannes Borgström, Andrew D. Gordon, Long Ouyang, Claudio Russo, Adam Ścibior, and Marcin Szymczak. 2016. Fabular: Regression Formulas As Probabilistic Programming. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’16). ACM, New York, NY, USA, 271–283. Google Scholar
Digital Library
- James Bornholt, Todd Mytkowicz, and Kathryn S. McKinley. 2014. Uncertain<T>: A First-order Type for Uncertain Data. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’14). ACM, New York, NY, USA, 51–66. Google Scholar
Digital Library
- Marco Canini, Daniele Venzano, Peter Perešíni, Dejan Kostić, and Jennifer Rexford. 2012. A NICE Way to Test Openflow Applications. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation (NSDI’12). USENIX Association, Berkeley, CA, USA, 10–10. http://dl.acm.org/citation.cfm?id=2228298.2228312 Google Scholar
Digital Library
- Marta Carbone and Luigi Rizzo. 2010. Dummynet Revisited. SIGCOMM Comput. Commun. Rev. 40, 2 (April 2010), 12–20. Google Scholar
Digital Library
- Sarah Chasins and Phitchaya Mangpo Phothilimthana. 2017. DataDriven Synthesis of Full Probabilistic Programs. In Computer Aided Verification, Rupak Majumdar and Viktor Kunčak (Eds.). Springer International Publishing, Cham, 279–304.Google Scholar
- B. Claise. 2004. Cisco Systems NetFlow Services Export Version 9. RFC 3954 (Informational). (Oct. 2004). http://www.ietf.org/rfc/rfc3954.txtGoogle Scholar
Digital Library
- Guillaume Claret, Sriram K. Rajamani, Aditya V. Nori, Andrew D. Gordon, and Johannes Borgström. 2013. Bayesian Inference Using Data Flow Analysis. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2013). ACM, New York, NY, USA, 92–102. Google Scholar
Digital Library
- A. Dainotti, W. de Donato, A. Pescape, and P. Salvo Rossi. 2008. Classification of Network Traffic via Packet-Level Hidden Markov Models. In IEEE GLOBECOM 2008 - 2008 IEEE Global Telecommunications Conference. 1–5.Google Scholar
- Alexandre David, Kim G. Larsen, Axel Legay, Marius Mikučionis, and Danny Bøgsted Poulsen. 2015. Uppaal SMC tutorial. International Journal on Software Tools for Technology Transfer 17, 4 (01 Aug 2015), 397–415. Google Scholar
Digital Library
- Leonardo de Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, C. R. Ramakrishnan and Jakob Rehof (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 337–340. Google Scholar
Digital Library
- Oscar Diaz, Feng Xu, Nasro Min-Allah, Mahmoud Khodeir, Min Peng, Samee Khan, and Nasir Ghani. 2012. Network Survivability for Multiple Probabilistic Failures. IEEE Communications Letters 16, 8 (August 2012), 1320–1323.Google Scholar
Cross Ref
- Ahmed El-Hassany, Jeremie Miserez, Pavol Bielik, Laurent Vanbever, and Martin Vechev. 2016. SDNRacer: Concurrency Analysis for Software-defined Networks. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’16). ACM, New York, NY, USA, 402–415. Google Scholar
Digital Library
- Antonio Filieri, Corina S. Păsăreanu, and Willem Visser. 2013. Reliability analysis in Symbolic PathFinder. In 2013 35th International Conference on Software Engineering (ICSE). 622–631. Google Scholar
Digital Library
- 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 Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation (NSDI’15). USENIX Association, Berkeley, CA, USA, 469–483. http://dl.acm.org/citation.cfm?id=2789770.2789803 Google Scholar
Digital Library
- Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, and Alexandra Silva. 2016. Probabilistic NetKAT. In Programming Languages and Systems, Peter Thiemann (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 282–309.Google Scholar
- P. García-Teodoro, J. Díaz-Verdejo, G. Maciá-Fernández, and E. Vázquez. 2009. Anomaly-based Network Intrusion Detection: Techniques, Systems and Challenges. Computers & Security 28, 1-2 (Feb. 2009), 18–28. Google Scholar
Digital Library
- Timon Gehr, Sasa Misailovic, and Martin Vechev. 2016. PSI: Exact Symbolic Inference for Probabilistic Programs. In Computer Aided Verification, Swarat Chaudhuri and Azadeh Farzan (Eds.). Springer International Publishing, Cham, 62–83.Google Scholar
- Andrew Gelman, Daniel Lee, and Jiqiang Guo. 2015. Stan: A Probabilistic Programming Language for Bayesian Inference and Optimization. Journal of Educational and Behavioral Statistics 40, 5 (oct 2015), 530–543.Google Scholar
Cross Ref
- Noah D. Goodman, Vikash K. Mansinghka, Daniel Roy, Keith Bonawitz, and Joshua B. Tenenbaum. 2008. Church: A Language for Generative Models. In Proceedings of the Twenty-Fourth Conference on Uncertainty in Artificial Intelligence (UAI’08). AUAI Press, Arlington, Virginia, United States, 220–229. http://dl.acm.org/citation.cfm?id=3023476. 3023503 Google Scholar
Digital Library
- Noah D Goodman and Andreas Stuhlmüller. 2014. The Design and Implementation of Probabilistic Programming Languages. (2014). Retrieved April 18, 2018 from http://dippl.orgGoogle Scholar
- Andrew D. Gordon, Thomas A. Henzinger, Aditya V. Nori, and Sriram K. Rajamani. 2014. Probabilistic Programming. In Proceedings of the on Future of Software Engineering (FOSE 2014). ACM, New York, NY, USA, 167–181. Google Scholar
Digital Library
- C. Hopps. 2013. Analysis of an Equal-Cost Multi-Path Algorithm. RFC 2992. (2 March 2013). Google Scholar
Digital Library
- Daniel Huang, Jean-Baptiste Tristan, and Greg Morrisett. 2017. Compiling Markov Chain Monte Carlo Algorithms for Probabilistic Modeling. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017). ACM, New York, NY, USA, 111–125. Google Scholar
Digital Library
- Chung-Kil Hur, Aditya V. Nori, Sriram K. Rajamani, and Selva Samuel. 2014. Slicing Probabilistic Programs. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). ACM, New York, NY, USA, 133–144. Google Scholar
Digital Library
- Teerawat Issariyakul and Ekram Hossain. 2011. Introduction to network simulator NS2. Springer Science & Business Media. Google Scholar
Digital Library
- Nils Jansen, Christian Dehnert, Benjamin Lucien Kaminski, JoostPieter Katoen, and Lukas Westhofen. 2016. Bounded Model Checking for Probabilistic Programs. In Automated Technology for Verification and Analysis, Cyrille Artho, Axel Legay, and Doron Peled (Eds.). Springer International Publishing, Cham, 68–85.Google Scholar
- Srikanth Kandula, Dina Katabi, and Jean-Philippe Vasseur. 2005. Shrink: A Tool for Failure Diagnosis in IP Networks. In Proceedings of the 2005 ACM SIGCOMM Workshop on Mining Network Data (MineNet ’05). ACM, New York, NY, USA, 173–178. Google Scholar
Digital Library
- Joost-Pieter Katoen, Annabelle K. McIver, Larissa A. Meinicke, and Carroll C. Morgan. 2010. Linear-invariant Generation for Probabilistic Programs: Automated Support for Proof-based Methods. In Proceedings of the 17th International Conference on Static Analysis (SAS’10). Springer-Verlag, Berlin, Heidelberg, 390–406. Google Scholar
Digital Library
- M. Kattenbelt. 2011. Automated Quantitative Software Verification. Ph.D. Dissertation. Oxford University, Oxford, UK.Google Scholar
- Peyman Kazemian, George Varghese, and Nick McKeown. 2012. Header Space Analysis: Static Checking for Networks. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation (NSDI’12). USENIX Association, Berkeley, CA, USA, 9–9. http://dl.acm.org/citation.cfm?id=2228298.2228311 Google Scholar
Digital Library
- Ahmed Khurshid, Xuan Zou, Wenxuan Zhou, Matthew Caesar, and P. Brighten Godfrey. 2013. VeriFlow: Verifying Network-wide Invariants in Real Time. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI’13). USENIX Association, Berkeley, CA, USA, 15–28. http://dl.acm.org/citation.cfm? id=2482626.2482630 Google Scholar
Digital Library
- Simon Knight, Hung X Nguyen, Nick Falkner, Rhys Bowden, and Matthew Roughan. 2011. The Internet Topology Zoo. IEEE Journal on Selected Areas in Communications 29, 9 (October 2011), 1765–1775.Google Scholar
Cross Ref
- Dexter Kozen. 2016. Kolmogorov Extension, Martingale Convergence, and Compositionality of Processes. In Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science, LICS ’16, New York, NY, USA, July 5-8, 2016. 692–699. Google Scholar
Digital Library
- Bob Lantz, Brandon Heller, and Nick McKeown. 2010. A Network in a Laptop: Rapid Prototyping for Software-defined Networks. In Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks (Hotnets-IX). ACM, New York, NY, USA, Article 19, 6 pages. Google Scholar
Digital Library
- Hyang-Won Lee, Eytan Modiano, and Kayi Lee. 2010. Diverse Routing in Networks with Probabilistic Failures. IEEE/ACM Trans. Netw. 18, 6 (Dec. 2010), 1895–1907. Google Scholar
Digital Library
- Vikash Mansinghka, Daniel Selsam, and Yura Perov. 2014. Venture: a Higher-order Probabilistic Programming Platform with Programmable Inference. arXiv: 1404.0099 Retrieved from https://arxiv.org/abs/1404. 0099 .Google Scholar
- Piotr Mardziel, Stephen Magill, Michael Hicks, and Mudhakar Srivatsa. 2011. Dynamic Enforcement of Knowledge-Based Security Policies. In Proceedings of the 2011 IEEE 24th Computer Security Foundations Symposium (CSF ’11). IEEE Computer Society, Washington, DC, USA, 114–128. Google Scholar
Digital Library
- David Monniaux. 2000. Abstract Interpretation of Probabilistic Semantics. In Proceedings of the 7th International Symposium on Static Analysis (SAS ’00). Springer-Verlag, London, UK, UK, 322–339. Google Scholar
Digital Library
- Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. 2013. Composing Software-defined Networks. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI’13). USENIX Association, Berkeley, CA, USA, 1–14. http://dl.acm.org/citation.cfm?id=2482626.2482629 Google Scholar
Digital Library
- Andrew W. Moore and Denis Zuev. 2005. Internet Traffic Classification Using Bayesian Analysis Techniques. In Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS ’05). ACM, New York, NY, USA, 50–60. Google Scholar
Digital Library
- Carroll Morgan, Annabelle McIver, and Karen Seidel. 1996. Probabilistic Predicate Transformers. ACM Trans. Program. Lang. Syst. 18, 3 (May 1996), 325–353. Google Scholar
Digital Library
- J. Moy. 1998. OSPF Version 2. RFC 2328 (Standard). (April 1998). http://www.ietf.org/rfc/rfc2328.txtGoogle Scholar
- Chandrakana Nandi, Dan Grossman, Adrian Sampson, Todd Mytkowicz, and Kathryn S. McKinley. 2017. Debugging Probabilistic Programs. In Proceedings of the 1st ACM SIGPLAN International Workshop on Machine Learning and Programming Languages (MAPL 2017). ACM, New York, NY, USA, 18–26. Google Scholar
Digital Library
- Srinivas Narayana, Mina Tashmasbi Arashloo, Jennifer Rexford, and David Walker. 2016. Compiling Path Queries. In Proceedings of the 13th Usenix Conference on Networked Systems Design and Implementation (NSDI’16). USENIX Association, Berkeley, CA, USA, 207–222. http: //dl.acm.org/citation.cfm?id=2930611.2930626 Google Scholar
Digital Library
- Praveen Narayanan, Jacques Carette, Wren Romano, Chung-chieh Shan, and Robert Zinkov. 2016. Probabilistic Inference by Program Transformation in Hakaru (System Description). Springer International Publishing, Cham, 62–79.Google Scholar
- Tim Nelson, Andrew D. Ferguson, Michael J. G. Scheer, and Shriram Krishnamurthi. 2014. Tierless Programming and Reasoning for Software-defined Networks. In Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI’14). USENIX Association, Berkeley, CA, USA, 519–531. http://dl.acm.org/ citation.cfm?id=2616448.2616496 Google Scholar
Digital Library
- Aditya V. Nori, Chung-Kil Hur, Sriram K. Rajamani, and Selva Samuel. 2014. R2: An Efficient MCMC Sampler for Probabilistic Programs. In Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence (AAAI’14). AAAI Press, 2476–2482. http://dl.acm.org/citation. cfm?id=2892753.2892895 Google Scholar
Digital Library
- Aditya V. Nori, Sherjil Ozair, Sriram K. Rajamani, and Deepak Vijaykeerthy. 2015. Efficient Synthesis of Probabilistic Programs. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’15). ACM, New York, NY, USA, 208–217. Google Scholar
Digital Library
- P. Phaal, S. Panchen, and N. McKee. 2001. InMon Corporation’s sFlow: A Method for Monitoring Traffic in Switched and Routed Networks. RFC 3176 (Informational). (Sept. 2001). http://www.ietf.org/rfc/rfc3176. txt Google Scholar
Digital Library
- Y. Rekhter, T. Li, and S. Hares. 2006. A Border Gateway Protocol 4 (BGP-4). RFC 4271 (Draft Standard). (Jan. 2006). http://www.ietf.org/ rfc/rfc4271.txtGoogle Scholar
- Sriram Sankaranarayanan, Aleksandar Chakarov, and Sumit Gulwani. 2013. Static Analysis for Probabilistic Programs: Inferring Whole Program Properties from Finitely Many Paths. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’13). ACM, New York, NY, USA, 447–458. Google Scholar
Digital Library
- Chung-chieh Shan and Norman Ramsey. 2017. Exact Bayesian Inference by Symbolic Disintegration. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017). ACM, New York, NY, USA, 130–144. Google Scholar
Digital Library
- Steffen Smolka, Praveen Kumar, Nate Foster, Dexter Kozen, and Alexandra Silva. 2017. Cantor Meets Scott: Semantic Foundations for Probabilistic Networks. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017). ACM, New York, NY, USA, 557–571. Google Scholar
Digital Library
- Kausik Subramanian, Loris D’Antoni, and Aditya Akella. 2017. Genesis: Synthesizing Forwarding Tables in Multi-tenant Networks. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017). ACM, New York, NY, USA, 572–585. Google Scholar
Digital Library
- Jean-Baptiste Tristan, Daniel Huang, Joseph Tassarotti, Adam Pocock, Stephen J. Green, and Guy L. Steele, Jr. 2014. Augur: Data-parallel Probabilistic Modeling. In Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2 (NIPS’14). MIT Press, Cambridge, MA, USA, 2600–2608. http://dl.acm.org/citation. cfm?id=2969033.2969117 Google Scholar
Digital Library
- Amin Vahdat, Ken Yocum, Kevin Walsh, Priya Mahadevan, Dejan Kostić, Jeff Chase, and David Becker. 2002. Scalability and Accuracy in a Large-scale Network Emulator. In Proceedings of the 5th Symposium on Operating Systems Design and implementation (OSDI ’02). USENIX Association, Berkeley, CA, USA, 271–284. http://dl.acm.org/citation. cfm?id=1060289.1060315 Google Scholar
Digital Library
- András Varga and Rudolf Hornig. 2008. An Overview of the OM-NeT++ Simulation Environment. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops (Simutools ’08). ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), ICST, Brussels, Belgium, Belgium, Article 60, 10 pages. http://dl.acm.org/citation.cfm?id=1416222.1416290 Google Scholar
Digital Library
- Nigel Williams, Sebastian Zander, and Grenville Armitage. 2006. A Preliminary Performance Comparison of Five Machine Learning Algorithms for Practical IP Traffic Flow Classification. SIGCOMM Computer Communication Review 36, 5 (Oct. 2006), 5–16. Google Scholar
Digital Library
- Frank D. Wood, Jan-Willem van de Meent, and Vikash Mansinghka. 2014. A New Approach to Probabilistic Programming Inference. In Proceedings of the Seventeenth International Conference on Artificial Intelligence and Statistics, AISTATS 2014, Reykjavik, Iceland, April 22-25, 2014. 1024–1032. http://jmlr.org/proceedings/papers/v33/wood14.htmlGoogle Scholar
- Yi Wu, Lei Li, Stuart Russell, and Rastislav Bodik. 2016. Swift: Compiled Inference for Probabilistic Programming Languages. In Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI’16). AAAI Press, 3637–3645. http://dl.acm.org/citation.cfm?id= 3061053.3061128 Google Scholar
Digital Library
Index Terms
Bayonet: probabilistic inference for networks
Recommendations
Bayonet: probabilistic inference for networks
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and ImplementationNetwork operators often need to ensure that important probabilistic properties are met, such as that the probability of network congestion is below a certain threshold. Ensuring such properties is challenging and requires both a suitable language for ...
Scaling exact inference for discrete probabilistic programs
Probabilistic programming languages (PPLs) are an expressive means of representing and reasoning about probabilistic models. The computational challenge of probabilistic inference remains the primary roadblock for applying PPLs in practice. Inference is ...
A landscape and implementation framework for probabilistic rough sets using ProbLog
Highlights- A survey of probabilistic rough set methods.
- A parameterised definition of ...
AbstractReasoning about uncertainty is one of the main cornerstones of Knowledge Representation. More recently, combining logic with probability has been of major interest. Rough set methods have been proposed for modeling incompleteness and ...







Comments