skip to main content
research-article
Open Access

A practical comparison of Alloy and Spin

Published:01 March 2015Publication History
Skip Abstract Section

Abstract

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.

References

  1. Kes12 Keshav SEditor’s message: modelingACM SIGCOMM Comput. Commun. Rev.20124233Google ScholarGoogle Scholar
  2. Woo09 Woodcock J, Larsen PG, Bicarregui J, Fitzgerald J (2009) Formal methods: practice and experience. ACM Comput. Surv. 41(4)Google ScholarGoogle Scholar
  3. Jac06 Jackson D2012) Software abstractions: logic, language, and analysis2006MassachusettsMIT PressGoogle ScholarGoogle Scholar
  4. Hol04 Holzmann GJThe spin model checker: primer and reference manual2004BostonAddison-WesleyGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  5. Fra10 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–596Google ScholarGoogle Scholar
  6. Sto01 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 SIGCOMMGoogle ScholarGoogle Scholar
  7. Sto03 Stoica IMorris RLiben-Nowell DKarger DKaashoek MFDabek FBalakrishnan HChord: a scalable peer-to-peer lookup protocol for internet applicationsIn: IEEE/ACM Transactions on Networking20031111732Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. SML01 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-tnGoogle ScholarGoogle Scholar
  9. Lib02 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–242Google ScholarGoogle Scholar
  10. Zav12 Zave PUsing lightweight modeling to understand chordACM SIGCOMM Comput. Commun. Rev.2012422505710.1145/2185376.2185383Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Eme95 Emerson EA, Namjoshi KS (1995) Reasoning about rings. In: Proceedings of the symposium on principles of programming languages, pp 85–94Google ScholarGoogle Scholar
  12. Gri05 Zave PUsing lightweight modeling to understand chordACM SIGCOMM Comput. Commun. Rev.2012422505710.1145/2185376.2185383Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ary11 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 engineeringGoogle ScholarGoogle Scholar
  14. Zav08 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–279Google ScholarGoogle Scholar
  15. Zav09 Zave PBond GWCheung ESmith TMAbstractions for programming SIP back-to-back user agents2009systems and applications of IP telecommunicationsIn: Proceedings of the 3rd international conference on principlesGoogle ScholarGoogle Scholar
  16. Bis05 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 SIGCOMMGoogle ScholarGoogle Scholar
  17. Gle11 Glendenning L, Beschastnikh I, Krishnamurthy A, Anderson T (2011) Scalable consistency in scatter. In: Proceedings of the 23rd ACM symposium on operating systems principlesGoogle ScholarGoogle Scholar
  18. Fre05 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–60Google ScholarGoogle Scholar
  19. Kil07 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–256Google ScholarGoogle Scholar
  20. Yab09 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 implementationGoogle ScholarGoogle Scholar
  21. YAC09 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)Google ScholarGoogle Scholar

Index Terms

  1. A practical comparison of Alloy and Spin
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader