=Paper=
{{Paper
|id=Vol-2503/paper1_11
|storemode=property
|title=Formal Verification of Interactive Computing Systems: Opportunities and Challenges
|pdfUrl=https://ceur-ws.org/Vol-2503/paper1_11.pdf
|volume=Vol-2503
|authors=José C. Campos,Michael D.Harrison
|dblpUrl=https://dblp.org/rec/conf/eics/CamposH19
}}
==Formal Verification of Interactive Computing Systems: Opportunities and Challenges==
Formal Verification of Interactive Computing
Systems: Opportunities and Challenges
José C. Campos1[0000−0001−9163−580X] and Michael D.
Harrison2[0000−0002−5567−9650]
1
Department of Informatics/University of Minho & HASLab/INESC TEC
Braga, Portugal
jose.campos@di.uminho.pt
http://www.di.uminho.pt/~jfc
2
School of Computing, Newcastle University
Newcastle upon Tyne, UK
michael.harrison@ncl.ac.uk
http://www.ncl.ac.uk/computing/people/profile/michael.harrison
Abstract. Formal verification has the potential to provide a level of
evidence based assurance not possible by more traditional development
approaches. For this potential to be fulfilled, its integration into exist-
ing practices must be achieved. Starting from this premise, the position
paper discusses the opportunities created and the challenges faced by
the use of formal verification in the analysis of critical interactive com-
puting systems. Three main challenges are discussed: the accessibility of
the modelling stage; support for expressing relevant properties; the need
to provide analysis results that are comprehensible to a broad range of
expertise including software, safety and human factors.
Keywords: Formal verification · Automated reasoning tools · Interac-
tive computing systems.
1 Introduction
Safety and mission critical interactive computing systems require a level of ev-
idence based assurance that traditional user centred approaches alone cannot
provide. For this reason user centred approaches must be integrated with hazard
analysis and risk assessment approaches to guarantee safety. Such processes are
required to comply with regulatory requirements. Current approaches to pro-
vide evidence for safety, are typically based on inspection and testing techniques
making it hard to guarantee an adequate level of safety assurance at a reasonable
cost/effort level.
Formal verification tools promise the scaleable analysis of components of real
systems including interactive systems. They enable exhaustive analysis of use
centred safety requirements as part of a risk analysis. This position paper dis-
cusses extensions to existing tools for formal modelling and analysis that have the
potential to enable their use by current development teams who are not expert
Copyright © 2019 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
2 José C. Campos and Michael D. Harrison
in formal methods. In doing this, it discusses requirements for formal toolsets
that would aid their acceptability by development teams. The requirements are
discussed using the IVY toolset as an example.
2 Formal verification of interactive computing systems
Formal verification, applied to interactive computing systems, has seen consid-
erable development, mostly at the model-based level3 [8, 4, 19, 1, 21]. In [12] we
first argued that formal verification has a role to play in systematic usability
analysis. Formal verification techniques, although narrower in scope, provide a
more thorough analysis in which human factors claims are more clearly identi-
fied and substantiated. Use centred requirements may be identified informally
by domain or human factors experts and formulated as properties that may be
proved of a formal model of the interactive system under investigation. There is
potential for using the complementary expertise of multiple parties to the design
process. Since the publication of that paper, tools have continued to mature and
their role in the context of user centred design has become more feasible.
Tools such as the IVY workbench have been shown to be applicable to real
systems [3] and to contribute to the risk analysis of actual medical devices [10].
IVY focuses on model-based analysis of interactive computing system designs,
focussing particularly on aspects related to their behaviour. Other tools also aim
at supporting the analysis of these systems, each with its particular focus (see [6]
for a comparison of CIRCUS and PVSio-web).
These activities are consistent with recent progress in “lightweight formal
methods” (LFM). According to Zamansky et al.’s review [22] a key feature of
developments in lightweight techniques is a focus on partial models and analyses
— the ability to use formal methods to model and analyse components of the
software, for example the control component, or in the present context, the
user interface component. Analyses can then contribute to parts of the required
analysis or program development. The review [22] uses a classification framework
as a basis for assessment of relevant papers.
when: at which development stage should formal methods be applied?
what: for what parts/aspects of the system should formal methods be applied?
how: how rigorous shall the modelling and analysis be and what languages and
tools should one use to achieve that?
who: which human resources should be deployed?
Hence, for example Osaiweran et al. [18] describe a Philips based medical project
using Analytical Software Design (ASD). The modelling notation uses transition
tables to simplify the expression of the design model. They focus on a control
component where decisions depend on incoming events and not on the data
parameters of these events. The described method automatically checks a set of
3
Perhaps because this level plays well with the iterative nature of user centred ap-
proaches.
Formal verification of interactive computing systems 3
predefined properties of the model using a model checker and code is generated
from the model. Our interest is to provide techniques that share characteristics
with the reviewed techniques. The focus here is interactive systems, allowing the
analyst to choose properties based on user centred engineering requirements and
to check whether the property is true of the developed model.
3 Challenges and opportunities
The focus of this discussion is the analysis of safety issues associated with user
interaction with software devices. The main problem with the use of formal
techniques is that there can be a substantial learning curve associated with their
use. Software engineers and human factors specialists have not been trained to
use them. This lack of expertise is particularly significant when it is considered
that many safety critical systems are developed by small teams of innovators.
This is certainly the case, for example, in medical device development. Medical
devices are often safety critical. They are often innovative and developed by
small teams attached to hospitals where the drivers for the design have a medical
background. They are not software engineers (or programmers) or HCI experts.
The problem of safety analysis of these devices presents important challenges.
Safety is usually seen (quite reasonably) in terms of clinical trials where the key
focus is the clinical advantage of a functional medical device.
While it can be argued that formal verification has proved its worth in a
number of practical applications, the challenge now is to make the tools available
to a wider audience. How to make these techniques accessible to the small teams
that develop these safety critical devices. This is the goal of the LFM community.
The concern here is to make the models and analysis tools of formal methods
accessible to a broader community. The experience of using the IVY tool to
support the safety analysis of a neonatal dialysis machine [9, 10] indicates that
the following stages are areas where broad interdisciplinary comprehension is
necessary:
1. making the modelling stage accessible;
2. supporting the expression of relevant properties for verification;
3. providing analysis results in ways that are understandable and useful.
These stages mirror the concerns of LFM but the stress here is recognising the
mixed community (software and safety engineering and human factors) that
will be required to understand the scope and consequences of the models and
analyses.
Each of these topics will now be addressed.
3.1 Making the modelling stage accessible to developers
The modelling stage must be made more accessible to non-formal methods ex-
perts. Building formal models of interactive systems is not the typical approach
4 José C. Campos and Michael D. Harrison
to developing interactive computing systems, which often relies on the develop-
ment of prototypes. There is, then, a gap to be filled between the practices of
developers and the models needed for analysis. This must be filled by looking at
what the current practices are, and how whatever design and development arte-
facts are used might be fed into the verification process (see [2] for an example).
One approach to make this accessible to developers is to establish common
patterns for the architectures of components of interactive systems, to provide
a framework that can be populated in the case of the particular system. This
process produced the model that formed the basis for the controller in the case
of the neonatal dialyser. The developers had already produced a spreadsheet
that represented the state transition model that formed the basis for analysis.
The spreadsheet was also used in the implementation of the controller for the
device. The modelling problem then becomes one of choosing the architecture
and populating it.
Several existing notations provide starting points for modellers, see for ex-
ample [17]. The details of the models as instantiated for the particular problem
also need to be clear to the team. Simple descriptions of state transition models
have been expressed in ASD [18] as well as in much earlier approaches, including
those developed by Heitmeyer’s team [13], which can be useful here.
3.2 Supporting the expression of relevant properties for verification
The process of creating properties for verification is particularly challenging and
one where the integration with existing practices is both more critical and more
likely to create added value. The risk analysis process is often based on a set
of informal requirements. Sometimes these requirements are based on previous
cases, as risk logs. The risk requirements specified in the risk log are designed to
mitigate hazards and may have software, hardware or human aspects to them.
A safety requirement may demand an operating procedure or it may suggest
a formal requirement that must be true of a software component, for example.
This latter possibility could lead to formal analysis of the model of the system.
The problem for the safety analysis then is to decide which aspects of a require-
ment can be captured by properties of a formal model and to provide a formal
expression of the property.
Support for specifying these requirements is currently provided by the adop-
tion of property specification templates [7, 11]. To ease their application, these
templates must be adjusted to be relevant to the risk logs. Ideally this will en-
able properties for verification to be more directly drawn from the development
process itself. However, our experience of the dialysis machine is that the devel-
opers produced “pseudo formal” descriptions of the requirements. The formal
modeller, who was engaged in the analysis, then produced a CTL property that
could be checked of the model. Another important part of this process was to al-
low the analyst to “go back”, taking the property as formulated and showing that
it actually implements the intended part of the risk requirement. While there
are likely to be many requirements that fit standard templates, some require-
Formal verification of interactive computing systems 5
ments may not obviously fit and therefore the translation of “pseudo formal”
expressions is likely to be necessary.
A process such as the above will be made easier through some degree of
automation. Tool support is needed to go from risks, described in the logs, to
properties for verification that capture the risk being considered (natural lan-
guage processing techniques might be useful here [20]). Finally, work is also
needed in folding considerations about use into currently available hazard anal-
ysis techniques, so that the human aspects of risks are adequately dealt with
when risk logs are produced (see, for example, [16]).
3.3 Providing analysis results in ways that are understandable by,
and useful to, developers
When verification fails, the causes of failure need to be identified and investi-
gated. The counter-examples produced by model checkers can be particularly
useful here, but need to be presented in an understandable manner.
Several alternatives can, and have been, explored to this end. Tools such as
IVY provide a number of graphical representations to that purpose. These how-
ever assume a technical nature (tabular or activity diagram based representations
of the states of the system in the counter example) that might not necessarily be
the most appropriate for non-experts. At the other end of the spectrum, tools
such as PVSio-web [15] support the prototyping of the user interfaces, based on
their formal models. Using these prototypes to illustrate the counter examples
will allow a more design oriented representation of the counter-examples.
A mid-way, more flexible approach, is explored in [5] in the context of repre-
senting the outcome of analysis with Alloy [14]. The idea is to use managers to
support the configuration of how states and transitions between states should be
graphically rendered. This provides the flexibility to explore the representation
of states in different ways. While the work does not directly address interac-
tive computing systems models, the techniques used can clearly be adjusted to
support them.
4 Conclusion
Formal verification can provide a level of evidence based assurance that more
traditional development approaches do not guarantee. In this paper we have
discussed opportunities and challenges of its use with interactive computing sys-
tems. A common thread between the challenges is that the formal analysis pro-
cess must be integrated into existing practices, being driven by them and not
forcing developers to change their current practices. Areas where broad inter-
disciplinary comprehension is necessary to achieve this integration have been
identified and briefly discussed.
6 José C. Campos and Michael D. Harrison
Acknowledgments
This work is financed by the ERDF - European Regional Development Fund
through the Operational Programme for Competitiveness and Internationalisa-
tion - COMPETE 2020 Programme and by National Funds through the Por-
tuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, within
project POCI-01-0145-FEDER-016826.
References
1. Bolton, M.L., Bass, E., Siminiceanu, R.: Using formal verification to evaluate
human-automation interaction: A review. IEEE Transactions on Systems, Man,
and Cybernetics, Part A: Systems and Humans 43(3), 488–503 (May 2013)
2. Bowen, J., Reeves, S.: Formal models for user interface design arte-
facts. Innovations in Systems and Software Engineering 4(2), 125–141 (Jun
2008). https://doi.org/10.1007/s11334-008-0049-0, https://doi.org/10.1007/
s11334-008-0049-0
3. Campos, J., Sousa, M., Alves, M., Harrison, M.: Formal verifica-
tion of a space system’s user interface with the IVY workbench.
IEEE Transactions on Human-Machine Systems 46(2), 303–316 (2016).
https://doi.org/10.1109/THMS.2015.2421511
4. Campos, J.C., Harrison, M.D.: Formally verifying interactive systems: A review. In:
Harrison, M.D., Torres, J.C. (eds.) Design, Specification and Verification of Interac-
tive Systems ’97, pp. 109–124. Springer Computer Science, Springer-Verlag/Wien
(June 1997)
5. Couto, R., Campos, J., Macedo, N., Cunha, A.: Improving the visualization of al-
loy instances. In: Integrated Development Environment 2018 (F-IDE 2018). Elec-
tronic Proceedings in Theoretical Computer Science, vol. 284, pp. 37–52 (2018).
https://doi.org/10.4204/EPTCS.284.4
6. Fayollas, C., Martinie, C., Palanque, P., Masci, P., Harrison, M., Campos, J., Silva,
S.: Evaluation of formal IDEs for human-machine interface design and analysis: the
case of CIRCUS and PVSio-web. In: Proceedings of the Third Workshop on Formal
Integrated Development Environment. Electronic Proceedings in Theoretical Com-
puter Science, vol. 240, pp. 1–19 (2017). https://doi.org/10.4204/EPTCS.240.1
7. Harrison, M., Campos, J., Masci, P., Curzon, P.: Templates as heuristics for
proving properties of medical devices. In: 5th EAI International Conference
on Wireless Mobile Communication and Healthcare - ”Transforming health-
care through innovations in mobile and wireless technologies”. ACM (2015).
https://doi.org/10.4108/eai.14-10-2015.2261743
8. Harrison, M., Thimbleby, H. (eds.): Formal Methods in Human-Computer Inter-
action. Cambridge Series on Human-Computer Interaction, Cambridge University
Press (1990)
9. Harrison, M., Drinnan, M., Campos, J., Masci, P., Freitas, L., di Maria,
C., Whitaker, M.: Safety analysis of software components of a dialysis ma-
chine using model checking. In: Formal Aspects of Component Software. Lec-
ture Notes in Computer Science, vol. 10487, pp. 137–154. Springer (2017).
https://doi.org/10.1007/978-3-319-68034-7 8
Formal verification of interactive computing systems 7
10. Harrison, M., Freitas, L., Drinnan, M., Campos, J., Masci, P., di Maria, C.,
Whitaker, M.: Formal techniques in the safety analysis of software components
of a new dialysis machine. Science of Computer Programming 175, 17–34 (April
2019). https://doi.org/10.1016/j.scico.2019.02.003
11. Harrison, M., Masci, P., Campos, J.: Verification templates for the analysis of user
interface software design. IEEE Transactions on Software Engineering (accepted).
https://doi.org/10.1109/TSE.2018.2804939
12. Harrison, M.D., Campos, J.C., Loer, K.: Formal analysis of interactive systems:
opportunities and weaknesses. In: Cairns, P., Cox, A. (eds.) Research Methods for
Human Computer Interaction, chap. 5, pp. 88–111. Cambridge University Press
(2008)
13. Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR: A toolset for specifying
and analyzing software requirements. In: Computer Aided Verification. pp. 526–
531. Springer (1998)
14. Jackson, D.: Software Abstractions. MIT Press, revised edn. (2011)
15. Masci, P., Oladimeji, P., Zhang, Y., Jones, P., Curzon, P., Thimbleby, H.:
PVSio-web 2.0: Joining PVS to HCI. In: Computer Aided Verification. Lec-
ture Notes in Computer Science, vol. 9206, pp. 470–478. Springer (2015).
https://doi.org/10.1007/978-3-319-21690-4 30
16. Masci, P., Zhang, Y., Jones, P., Campos, J.: A hazard analysis method for sys-
tematic identification of safety requirements for user interface software in medical
devices. In: Software Engineering and Formal Methods. Lecture Notes in Computer
Science, vol. 10469, pp. 284–299. Springer (2017)
17. Mavridou, A., Stachtiari, E., Bliudze, S., Ivanov, A., Katsaros, P., Sifakis,
J.: Architecture-based design: A satellite on-board software case study. In:
Kouchnarenko, O., Khosravi, R. (eds.) Formal Aspects of Component Software.
Lecture Notes in Computer Science, vol. 10231, pp. 260–279. Springer (2017).
https://doi.org/10.1007/978-3-319-57666-4 16
18. Osaiweran, A., Schuts, M., Hooman, J., Groote, J.F., van Rijnsoever, B.:
Evaluating the effect of a lightweight formal technique in industry. Inter-
national Journal on Software Tools for Technology Transfer 18(1), 93–108
(Feb 2016). https://doi.org/10.1007/s10009-015-0374-1, https://doi.org/10.
1007/s10009-015-0374-1
19. Palanque, P., Paternò, F. (eds.): Formal Methods in Human-Computer Interaction.
Formal Approaches to Computing and Information Technology series, Springer-
Verlag, London (1998)
20. Vadera, S., Meziane, F.: From English to formal specifications. The Computer
Journal 37(9), 753–763 (1994)
21. Weyers, B., Bowen, J., Dix, A., Palanque, P. (eds.): The Handbook of Formal
Methods in Human-Computer Interaction. Human–Computer Interaction Series,
Springer (2017)
22. Zamansky, A., Spichkova, M., Rodrı́guez-Navas, G., Herrmann, P., Blech, J.O.: To-
wards classification of lightweight formal methods. In: Damiani, E., Spanoudakis,
G., Maciaszek, L. (eds.) Proceedings of the 13th International Conference on Eval-
uation of Novel Approaches to Software Engineering (ENASE 2018). pp. 305–313
(2018)