<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Formal Veri cation of Interactive Computing Systems: Opportunities and Challenges</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Department of Informatics/University of Minho</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>HASLab/INESC TEC Braga</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computing, Newcastle University Newcastle upon Tyne</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Formal veri cation has the potential to provide a level of evidence based assurance not possible by more traditional development approaches. For this potential to be ful lled, its integration into existing practices must be achieved. Starting from this premise, the position paper discusses the opportunities created and the challenges faced by the use of formal veri cation in the analysis of critical interactive computing 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.</p>
      </abstract>
      <kwd-group>
        <kwd>Formal veri cation tive computing systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Safety and mission critical interactive computing systems require a level of
evidence 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
provide 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/e ort level.</p>
      <p>Formal veri cation 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
discusses 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
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</p>
    </sec>
    <sec id="sec-2">
      <title>Formal veri cation of interactive computing systems</title>
      <p>
        Formal veri cation, applied to interactive computing systems, has seen
considerable development, mostly at the model-based level3 [
        <xref ref-type="bibr" rid="ref1 ref19 ref21 ref4 ref8">8, 4, 19, 1, 21</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] we
rst argued that formal veri cation has a role to play in systematic usability
analysis. Formal veri cation techniques, although narrower in scope, provide a
more thorough analysis in which human factors claims are more clearly
identied and substantiated. Use centred requirements may be identi ed 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.
      </p>
      <p>
        Tools such as the IVY workbench have been shown to be applicable to real
systems [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and to contribute to the risk analysis of actual medical devices [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
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 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
for a comparison of CIRCUS and PVSio-web).
      </p>
      <p>
        These activities are consistent with recent progress in \lightweight formal
methods" (LFM). According to Zamansky et al.'s review [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] 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 [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] uses a classi cation 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. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] 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
approaches.
prede ned 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
      </p>
    </sec>
    <sec id="sec-3">
      <title>Challenges and opportunities</title>
      <p>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 signi cant 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.</p>
      <p>
        While it can be argued that formal veri cation 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 [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ] 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 veri cation;
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.
      </p>
      <p>Each of these topics will now be addressed.
3.1</p>
      <p>
        Making the modelling stage accessible to developers
The modelling stage must be made more accessible to non-formal methods
experts. Building formal models of interactive systems is not the typical approach
to developing interactive computing systems, which often relies on the
development of prototypes. There is, then, a gap to be lled between the practices of
developers and the models needed for analysis. This must be lled by looking at
what the current practices are, and how whatever design and development
artefacts are used might be fed into the veri cation process (see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for an example).
      </p>
      <p>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.</p>
      <p>
        Several existing notations provide starting points for modellers, see for
example [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. 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 [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] as well as in much earlier approaches, including
those developed by Heitmeyer's team [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], which can be useful here.
3.2
      </p>
      <p>Supporting the expression of relevant properties for veri cation
The process of creating properties for veri cation 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 speci ed 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
requirement can be captured by properties of a formal model and to provide a formal
expression of the property.</p>
      <p>
        Support for specifying these requirements is currently provided by the
adoption of property speci cation templates [
        <xref ref-type="bibr" rid="ref11 ref7">7, 11</xref>
        ]. To ease their application, these
templates must be adjusted to be relevant to the risk logs. Ideally this will
enable properties for veri cation to be more directly drawn from the development
process itself. However, our experience of the dialysis machine is that the
developers 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
allow 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 t standard templates, some
requirements may not obviously t and therefore the translation of \pseudo formal"
expressions is likely to be necessary.
      </p>
      <p>
        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 veri cation that capture the risk being considered (natural
language processing techniques might be useful here [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]). Finally, work is also
needed in folding considerations about use into currently available hazard
analysis techniques, so that the human aspects of risks are adequately dealt with
when risk logs are produced (see, for example, [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]).
3.3
      </p>
      <p>Providing analysis results in ways that are understandable by,
and useful to, developers
When veri cation fails, the causes of failure need to be identi ed and
investigated. The counter-examples produced by model checkers can be particularly
useful here, but need to be presented in an understandable manner.</p>
      <p>
        Several alternatives can, and have been, explored to this end. Tools such as
IVY provide a number of graphical representations to that purpose. These
however 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 [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] 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.
      </p>
      <p>
        A mid-way, more exible approach, is explored in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] in the context of
representing the outcome of analysis with Alloy [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The idea is to use managers to
support the con guration of how states and transitions between states should be
graphically rendered. This provides the exibility to explore the representation
of states in di erent ways. While the work does not directly address
interactive computing systems models, the techniques used can clearly be adjusted to
support them.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>Formal veri cation 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
systems. A common thread between the challenges is that the formal analysis
process must be integrated into existing practices, being driven by them and not
forcing developers to change their current practices. Areas where broad
interdisciplinary comprehension is necessary to achieve this integration have been
identi ed and brie y discussed.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This work is nanced by the ERDF - European Regional Development Fund
through the Operational Programme for Competitiveness and
Internationalisation - COMPETE 2020 Programme and by National Funds through the
Portuguese funding agency, FCT - Fundac~ao para a Ci^encia e a Tecnologia, within
project POCI-01-0145-FEDER-016826.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bolton</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bass</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siminiceanu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Using formal veri cation to evaluate human-automation interaction: A review</article-title>
          .
          <source>IEEE Transactions on Systems, Man, and Cybernetics</source>
          ,
          <source>Part A: Systems and Humans</source>
          <volume>43</volume>
          (
          <issue>3</issue>
          ),
          <volume>488</volume>
          {503 (May
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bowen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reeves</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Formal models for user interface design artefacts</article-title>
          .
          <source>Innovations in Systems and Software Engineering</source>
          <volume>4</volume>
          (
          <issue>2</issue>
          ),
          <volume>125</volume>
          {141 (Jun
          <year>2008</year>
          ). https://doi.org/10.1007/s11334-008-0049-0, https://doi.org/10.1007/ s11334-008-0049-0
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sousa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Formal veri cation of a space system's user interface with the IVY workbench</article-title>
          .
          <source>IEEE Transactions on Human-Machine Systems 46(2)</source>
          ,
          <volume>303</volume>
          {
          <fpage>316</fpage>
          (
          <year>2016</year>
          ). https://doi.org/10.1109/THMS.
          <year>2015</year>
          .2421511
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrison</surname>
          </string-name>
          , M.D.:
          <article-title>Formally verifying interactive systems: A review</article-title>
          . In: Harrison,
          <string-name>
            <given-names>M.D.</given-names>
            ,
            <surname>Torres</surname>
          </string-name>
          , J.C. (eds.) Design,
          <article-title>Speci cation</article-title>
          and
          <source>Veri cation of Interactive Systems '97</source>
          , pp.
          <volume>109</volume>
          {
          <fpage>124</fpage>
          . Springer Computer Science, Springer-Verlag/Wien (June
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Couto</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macedo</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunha</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Improving the visualization of alloy instances</article-title>
          .
          <source>In: Integrated Development Environment</source>
          <year>2018</year>
          (F-IDE
          <year>2018</year>
          ).
          <source>Electronic Proceedings in Theoretical Computer Science</source>
          , vol.
          <volume>284</volume>
          , pp.
          <volume>37</volume>
          {
          <issue>52</issue>
          (
          <year>2018</year>
          ). https://doi.org/10.4204/EPTCS.284.4
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fayollas</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martinie</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palanque</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Evaluation of formal IDEs for human-machine interface design and analysis: the case of CIRCUS and PVSio-web</article-title>
          .
          <source>In: Proceedings of the Third Workshop on Formal Integrated Development Environment. Electronic Proceedings in Theoretical Computer Science</source>
          , vol.
          <volume>240</volume>
          , pp.
          <volume>1</volume>
          {
          <issue>19</issue>
          (
          <year>2017</year>
          ). https://doi.org/10.4204/EPTCS.240.1
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curzon</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Templates as heuristics for proving properties of medical devices</article-title>
          .
          <source>In: 5th EAI International Conference on Wireless Mobile Communication</source>
          and
          <article-title>Healthcare - "Transforming healthcare through innovations in mobile and wireless technologies"</article-title>
          .
          <source>ACM</source>
          (
          <year>2015</year>
          ). https://doi.org/10.4108/eai.14-
          <fpage>10</fpage>
          -
          <year>2015</year>
          .
          <fpage>2261743</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thimbleby</surname>
          </string-name>
          , H. (eds.):
          <article-title>Formal Methods in Human-Computer Interaction</article-title>
          . Cambridge Series on Human-Computer Interaction, Cambridge University Press (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drinnan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freitas</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>di Maria</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whitaker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Safety analysis of software components of a dialysis machine using model checking</article-title>
          .
          <source>In: Formal Aspects of Component Software. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10487</volume>
          , pp.
          <volume>137</volume>
          {
          <fpage>154</fpage>
          . Springer (
          <year>2017</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -68034-7 8
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freitas</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drinnan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , di Maria,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Whitaker</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Formal techniques in the safety analysis of software components of a new dialysis machine</article-title>
          .
          <source>Science of Computer Programming</source>
          <volume>175</volume>
          ,
          <issue>17</issue>
          {34 (April
          <year>2019</year>
          ). https://doi.org/10.1016/j.scico.
          <year>2019</year>
          .
          <volume>02</volume>
          .003
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
          </string-name>
          , J.:
          <article-title>Veri cation templates for the analysis of user interface software design</article-title>
          .
          <source>IEEE Transactions on Software Engineering (accepted)</source>
          . https://doi.org/10.1109/TSE.
          <year>2018</year>
          .2804939
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>M.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campos</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loer</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Formal analysis of interactive systems: opportunities and weaknesses</article-title>
          . In: Cairns,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.) Research Methods for Human Computer Interaction,
          <source>chap. 5</source>
          , pp.
          <volume>88</volume>
          {
          <fpage>111</fpage>
          . Cambridge University Press (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Heitmeyer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kirby</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labaw</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bharadwaj</surname>
          </string-name>
          , R.:
          <article-title>SCR: A toolset for specifying and analyzing software requirements</article-title>
          . In: Computer Aided Veri cation. pp.
          <volume>526</volume>
          {
          <fpage>531</fpage>
          . Springer (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Software Abstractions. MIT Press, revised edn. (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oladimeji</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Zhang,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Curzon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Thimbleby</surname>
          </string-name>
          , H.:
          <article-title>PVSio-web 2.0: Joining PVS to HCI</article-title>
          . In: Computer Aided Veri cation.
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>9206</volume>
          , pp.
          <volume>470</volume>
          {
          <fpage>478</fpage>
          . Springer (
          <year>2015</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -21690-4 30
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Masci</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Zhang,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Campos</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>A hazard analysis method for systematic identi cation of safety requirements for user interface software in medical devices</article-title>
          .
          <source>In: Software Engineering and Formal Methods. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10469</volume>
          , pp.
          <volume>284</volume>
          {
          <fpage>299</fpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Mavridou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stachtiari</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bliudze</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katsaros</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sifakis</surname>
          </string-name>
          , J.:
          <article-title>Architecture-based design: A satellite on-board software case study</article-title>
          . In: Kouchnarenko,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Khosravi</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.)
          <source>Formal Aspects of Component Software. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10231</volume>
          , pp.
          <volume>260</volume>
          {
          <fpage>279</fpage>
          . Springer (
          <year>2017</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -57666-4 16
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Osaiweran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schuts</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hooman</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Groote</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>van Rijnsoever</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Evaluating the e ect of a lightweight formal technique in industry</article-title>
          .
          <source>International Journal on Software Tools for Technology Transfer</source>
          <volume>18</volume>
          (
          <issue>1</issue>
          ),
          <volume>93</volume>
          {108 (Feb
          <year>2016</year>
          ). https://doi.org/10.1007/s10009-015-0374-1, https://doi.org/10. 1007/s10009-015-0374-1
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Palanque</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paterno</surname>
            ,
            <given-names>F</given-names>
          </string-name>
          . (eds.):
          <article-title>Formal Methods in Human-Computer Interaction</article-title>
          . Formal Approaches to Computing and Information Technology series, SpringerVerlag, London (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Vadera</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meziane</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>From English to formal speci cations</article-title>
          .
          <source>The Computer Journal</source>
          <volume>37</volume>
          (
          <issue>9</issue>
          ),
          <volume>753</volume>
          {
          <fpage>763</fpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Weyers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bowen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dix</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palanque</surname>
          </string-name>
          , P. (eds.):
          <article-title>The Handbook of Formal Methods in Human-Computer Interaction</article-title>
          . Human{Computer Interaction Series, Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Zamansky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spichkova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodr</surname>
            guez-Navas,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herrmann</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blech</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          :
          <article-title>Towards classi cation of lightweight formal methods</article-title>
          . In: Damiani,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Spanoudakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Maciaszek</surname>
          </string-name>
          ,
          <string-name>
            <surname>L</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE</source>
          <year>2018</year>
          ). pp.
          <volume>305</volume>
          {
          <issue>313</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>