Abstract
Because potential users have to choose a formal method before they can start using one, research on assessing the applicability of specific formal methods might be as effective in encouraging their use as work on the methods themselves. This comparison of Alloy and Spin is based on a demanding project that exploited the full capabilities of both languages and tools. The study exposed issues not apparent from more superficial studies, and resulted in some unexpected conclusions. The paper provides tentative recommendations for two different classes of network protocol, a research agenda for solidifying the recommendations, and a few general lessons learned about research on selection of formal methods.
Similar content being viewed by others
References
Keshav S: Editor’s message: modeling. ACM SIGCOMM Comput. Commun. Rev. 42(3), 3 (2012)
Woodcock J, Larsen PG, Bicarregui J, Fitzgerald J (2009) Formal methods: practice and experience. ACM Comput. Surv. 41(4)
Jackson D: 2012) Software abstractions: logic, language, and analysis. MIT Press, Massachusetts (2006)
Holzmann GJ: The spin model checker: primer and reference manual. Addison-Wesley, Boston (2004)
Frappier M, Fraiken B, Chossart R, Chane-Yack-Fa R, Ouenzar M (2010) Comparison of model checking tools for information systems. Formal methods and software engineering. Springer, Berlin, LNCS 6447, pp 581–596
Stoica I, Morris R, Karger D, Kaashoek MF, Balakrishnan H (2001) Chord: a scalable peer-to-peer lookup service for internet applications. In: Proceedings of ACM SIGCOMM
Stoica I, Morris R, Liben-Nowell D, Karger D, Kaashoek MF, Dabek F, Balakrishnan H: Chord: a scalable peer-to-peer lookup protocol for internet applications. In: IEEE/ACM Transactions on Networking 11(1), 17–32 (2003)
Stoica I, Morris R, Liben-Nowell D, Karger D, Kaashoek MF, Dabek F, Balakrishnan H (2001) Chord: a scalable peer-to-peer lookup service for internet applications. MIT LCS technical report, vol 819. http://www.pdos.lcs.mit.edu/chord/papers/chord-tn
Liben-Nowell D, Balakrishnan H, Karger D (2002) Analysis of the evolution of peer-to-peer systems. In: Proceedings of the 21st ACM symposium on principles of distributed computing, pp 233–242
Zave P: Using lightweight modeling to understand chord. ACM SIGCOMM Comput. Commun. Rev. 42(2), 50–57 (2012)
Emerson EA, Namjoshi KS (1995) Reasoning about rings. In: Proceedings of the symposium on principles of programming languages, pp 85–94
Zave P: Using lightweight modeling to understand chord. ACM SIGCOMM Comput. Commun. Rev. 42(2), 50–57 (2012)
Arye M, Harrison R, Wang R, Zave P, Rexford J (2011) Toward a lightweight model of BGP safety. In: Proceedings of the 1st international workshop on rigorous protocol engineering
Zave P (2008) Understanding SIP through model-checking. In: Proceedings of the 2nd international conference on principles, systems and applications of IP telecommunications. Springer, Berlin, LNCS 5310, pp 256–279
Zave P, Bond GW, Cheung E, Smith TM: Abstractions for programming SIP back-to-back user agents. In: Proceedings of the 3rd international conference on principles, systems and applications of IP telecommunications (2009)
Bishop S, Fairbairn M, Norrish M, Sewell P, Smith M, Wansbrough K (2005) Rigorous specification and conformance testing techniques for network protocols, as applied to TCP, UDP and sockets. In: Proceedings of SIGCOMM
Glendenning L, Beschastnikh I, Krishnamurthy A, Anderson T (2011) Scalable consistency in scatter. In: Proceedings of the 23rd ACM symposium on operating systems principles
Freedman MJ, Lakshminarayanan K, Rhea S, Stoica I (2005) Non-transitive connectivity and DHTs. In: Proceedings of the 2nd conference on real, large, distributed systems, pp 55–60
Killian C, Anderson JA, Jhala R, Vahdat A (2007) Life, death, and the critical transition: finding liveness bugs in systems code. In: Proceedings of the 4th USENIX symposium on networked system design and implementation, pp 243–256
Yabandeh M, Knežević N, Kostić D, Kuncak V (2009) CrystalBall: predicting and preventing inconsistencies in deployed distributed systems. In: Proceedings of the 6th USENIX symposium on networked systems design and implementation
Yabandeh M, Anand A, Canini M, Kostić D: Almost-invariants: from bugs in distributed systems to invariants, EPFL NSL-REPORT- 2009(007), 2009–007 (2009)
Author information
Authors and Affiliations
Corresponding author
Additional information
J. Woodcock
Rights and permissions
About this article
Cite this article
Zave, P. A practical comparison of Alloy and Spin. Form Asp Comp 27, 239–253 (2015). https://doi.org/10.1007/s00165-014-0302-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-014-0302-2