Alloy as a Refactoring Checker?
Electronic Notes in Theoretical Computer Science (ENTCS)
Verification of Mondex Electronic Purses with KIV: From a Security Protocol to Verified Code
FM '08 Proceedings of the 15th international symposium on Formal Methods
Automating Algebraic Specifications of Non-freely Generated Data Types
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Formal methods: Practice and experience
ACM Computing Surveys (CSUR)
Bounded relational analysis of free data types
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Analyzing a formal specification of Mondex using model checking
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Automated Flaw Detection in Algebraic Specifications
Journal of Automated Reasoning
TAP'10 Proceedings of the 4th international conference on Tests and proofs
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
A systematic verification approach for mondex electronic purses using ASMs
Rigorous Methods for Software Construction and Analysis
Dynamite: A tool for the verification of alloy models based on PVS
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
This paper explains how the Alloy model-finding method has been used to check the specification of an electronic purse (also called smart card) system, called the Mondex case study, initially written in Z. After describing the payment protocol between two electronic purses, and presenting an overview of the Alloy model-finding method, this paper explains how technical issues about integers and conceptual issues about the object layout in Z have been tackled in Alloy, giving general methods that can be used in most case studies with Alloy. This work has also pointed out some significant bugs in the original Z specification such as reasoning bugs in the proofs, and proposes a way to solve them.