Many distributed systems use a minimum spanning tree (MST) as the backbone of efficient communication within the system. Given its critical role, it is important that the MST be implemented correctly. One way to ensure its correctness with a high degree of confidence is to use formal methods, i.e. mathematically-based tools and approaches for design and verification of software and hardware. Toward this end, we implement Prim’s algorithm for construction of MSTs in SPARK, which is both a programming language and associated set of formal verification tools. At the most basic levels, formal verification in SPARK requires proving that code satisfies contracts on data flow and initialization and is free of run-time errors, which often reveals r...
The increasing availability of information technology in today’s life is a challenge for users as we...
Reliability is critical for system software, such as OS kernels, mobile browsers, embedded systems a...
Formal verification techniques allow rigorous reasoning about the operation of computer systems and ...
We present a link between the interactive proof assistant Isabelle/HOL and the SPARK/Ada tool suite ...
There is a strong link between software quality and software reliability. By decreasing the probabil...
Software is an increasingly integral and sophisticated part of safety- and mission-critical systems....
An approach to generating provably correct sequential code from formallydeveloped algorithmic design...
Doctor of PhilosophyDepartment of Computing and Information SciencesJohn M. HatcliffHigh-integrity a...
Safe operation is crucial to safety-critical systems, and formal verification of implementations is ...
The standard SPARK deductive verification tools, based on contracts, are not practical in early stag...
International audienceThis paper presents SPARK by Example, a guide for people wanting to get involv...
With the increasing power of computers and advances in constraint solving technologies, formal and s...
We present a case-study of developing a simple software module using contracts, and rigorously verif...
Two main types of formal methods have been investigated, formal specification and formal verificatio...
Dissertação de mestrado em Engenharia de InformáticaFormal verification of software has been an acti...
The increasing availability of information technology in today’s life is a challenge for users as we...
Reliability is critical for system software, such as OS kernels, mobile browsers, embedded systems a...
Formal verification techniques allow rigorous reasoning about the operation of computer systems and ...
We present a link between the interactive proof assistant Isabelle/HOL and the SPARK/Ada tool suite ...
There is a strong link between software quality and software reliability. By decreasing the probabil...
Software is an increasingly integral and sophisticated part of safety- and mission-critical systems....
An approach to generating provably correct sequential code from formallydeveloped algorithmic design...
Doctor of PhilosophyDepartment of Computing and Information SciencesJohn M. HatcliffHigh-integrity a...
Safe operation is crucial to safety-critical systems, and formal verification of implementations is ...
The standard SPARK deductive verification tools, based on contracts, are not practical in early stag...
International audienceThis paper presents SPARK by Example, a guide for people wanting to get involv...
With the increasing power of computers and advances in constraint solving technologies, formal and s...
We present a case-study of developing a simple software module using contracts, and rigorously verif...
Two main types of formal methods have been investigated, formal specification and formal verificatio...
Dissertação de mestrado em Engenharia de InformáticaFormal verification of software has been an acti...
The increasing availability of information technology in today’s life is a challenge for users as we...
Reliability is critical for system software, such as OS kernels, mobile browsers, embedded systems a...
Formal verification techniques allow rigorous reasoning about the operation of computer systems and ...