Usability of AutoProof: a case study of software verification

Verification tools are often the result of several years of research effort. The development happens as a distributed effort inside academic institutes relying on the ability of senior investigators to ensure continuity. Quality attributes such as usability are unlikely to be targeted with the same...

Full description

Bibliographic Details
Main Authors: Mansur Khazeev, Victor Rivera, Manuel Mazzara, Alexander Tchitchigin
Format: Article
Language:English
Published: Ivannikov Institute for System Programming of the Russian Academy of Sciences 2018-10-01
Series:Труды Института системного программирования РАН
Subjects:
Online Access:https://ispranproceedings.elpub.ru/jour/article/view/63
id doaj-760e5eda95164f7b8ad684a20546a68d
record_format Article
spelling doaj-760e5eda95164f7b8ad684a20546a68d2020-11-25T02:17:53Zeng Ivannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-0128211112610.15514/ISPRAS-2016-28(2)-763Usability of AutoProof: a case study of software verificationMansur Khazeev0Victor Rivera1Manuel Mazzara2Alexander Tchitchigin3Университет ИннополисУниверситет ИннополисУниверситет ИннополисУниверситет ИннополисVerification tools are often the result of several years of research effort. The development happens as a distributed effort inside academic institutes relying on the ability of senior investigators to ensure continuity. Quality attributes such as usability are unlikely to be targeted with the same accuracy required for commercial software where those factors make a financial difference. In order for such tools to become of widespread use, it is therefore necessary to spend an extra effort and attention on users' experience, and allow software engineers to benefit out of them without the necessity of understanding the mathematical machinery in full detail. In order to put the spotlight on usability of verification tools we chose an automated verifier for the Eiffel programming language, AutoProof, and a well-known benchmark, the Tokeneer problem. The tool is used to verify parts of the implementation of the Tokeneer so to identify AutoProof's strengths and weaknesses, and finally propose the necessary updates. The results show the efficacy of the tool in verifying a real piece of software and automatically discharging nearly two thirds of verification conditions. At the same time, the case study shows the demand for improved documentation and emphasizes the need for improvement in the tool itself and in the Eiffel IDE.https://ispranproceedings.elpub.ru/jour/article/view/63статическая верификация, формальная спецификация, eiffel, autoproof, контрактное программирование
collection DOAJ
language English
format Article
sources DOAJ
author Mansur Khazeev
Victor Rivera
Manuel Mazzara
Alexander Tchitchigin
spellingShingle Mansur Khazeev
Victor Rivera
Manuel Mazzara
Alexander Tchitchigin
Usability of AutoProof: a case study of software verification
Труды Института системного программирования РАН
статическая верификация, формальная спецификация, eiffel, autoproof, контрактное программирование
author_facet Mansur Khazeev
Victor Rivera
Manuel Mazzara
Alexander Tchitchigin
author_sort Mansur Khazeev
title Usability of AutoProof: a case study of software verification
title_short Usability of AutoProof: a case study of software verification
title_full Usability of AutoProof: a case study of software verification
title_fullStr Usability of AutoProof: a case study of software verification
title_full_unstemmed Usability of AutoProof: a case study of software verification
title_sort usability of autoproof: a case study of software verification
publisher Ivannikov Institute for System Programming of the Russian Academy of Sciences
series Труды Института системного программирования РАН
issn 2079-8156
2220-6426
publishDate 2018-10-01
description Verification tools are often the result of several years of research effort. The development happens as a distributed effort inside academic institutes relying on the ability of senior investigators to ensure continuity. Quality attributes such as usability are unlikely to be targeted with the same accuracy required for commercial software where those factors make a financial difference. In order for such tools to become of widespread use, it is therefore necessary to spend an extra effort and attention on users' experience, and allow software engineers to benefit out of them without the necessity of understanding the mathematical machinery in full detail. In order to put the spotlight on usability of verification tools we chose an automated verifier for the Eiffel programming language, AutoProof, and a well-known benchmark, the Tokeneer problem. The tool is used to verify parts of the implementation of the Tokeneer so to identify AutoProof's strengths and weaknesses, and finally propose the necessary updates. The results show the efficacy of the tool in verifying a real piece of software and automatically discharging nearly two thirds of verification conditions. At the same time, the case study shows the demand for improved documentation and emphasizes the need for improvement in the tool itself and in the Eiffel IDE.
topic статическая верификация, формальная спецификация, eiffel, autoproof, контрактное программирование
url https://ispranproceedings.elpub.ru/jour/article/view/63
work_keys_str_mv AT mansurkhazeev usabilityofautoproofacasestudyofsoftwareverification
AT victorrivera usabilityofautoproofacasestudyofsoftwareverification
AT manuelmazzara usabilityofautoproofacasestudyofsoftwareverification
AT alexandertchitchigin usabilityofautoproofacasestudyofsoftwareverification
_version_ 1724884508772139008