<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Formal Verification of Interactive Computing Systems: Opportunities and Challenges</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">José</forename><forename type="middle">C</forename><surname>Campos</surname></persName>
							<email>jose.campos@di.uminho.pt</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Informatics</orgName>
								<orgName type="institution" key="instit1">University of Minho</orgName>
								<orgName type="institution" key="instit2">HASLab</orgName>
								<orgName type="institution" key="instit3">INESC TEC</orgName>
								<address>
									<settlement>Braga</settlement>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Michael</forename><forename type="middle">D</forename><surname>Harrison</surname></persName>
							<email>michael.harrison@ncl.ac.uk</email>
							<affiliation key="aff1">
								<orgName type="department">School of Computing</orgName>
								<orgName type="institution">Newcastle University Newcastle upon Tyne</orgName>
								<address>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Formal Verification of Interactive Computing Systems: Opportunities and Challenges</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8115B5326775938013738D627FB268CD</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T19:05+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Formal verification</term>
					<term>Automated reasoning tools</term>
					<term>Interactive computing systems</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>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 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 verification 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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><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/effort level.</p><p>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 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Formal verification of interactive computing systems</head><p>Formal verification, applied to interactive computing systems, has seen considerable development, mostly at the model-based level<ref type="foot" target="#foot_0">3</ref>  <ref type="bibr" target="#b7">[8,</ref><ref type="bibr" target="#b3">4,</ref><ref type="bibr" target="#b18">19,</ref><ref type="bibr" target="#b0">1,</ref><ref type="bibr" target="#b20">21]</ref>. In <ref type="bibr" target="#b11">[12]</ref> 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 identified 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.</p><p>Tools such as the IVY workbench have been shown to be applicable to real systems <ref type="bibr" target="#b2">[3]</ref> and to contribute to the risk analysis of actual medical devices <ref type="bibr" target="#b9">[10]</ref>. 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 <ref type="bibr" target="#b5">[6]</ref> 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 <ref type="bibr" target="#b21">[22]</ref> 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 <ref type="bibr" target="#b21">[22]</ref> uses a classification framework as a basis for assessment of relevant papers.</p><p>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. <ref type="bibr" target="#b17">[18]</ref> 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 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Challenges and opportunities</head><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 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.</p><p>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 <ref type="bibr" target="#b8">[9,</ref><ref type="bibr" target="#b9">10]</ref> indicates that the following stages are areas where broad interdisciplinary comprehension is necessary:</p><p>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.</p><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Making the modelling stage accessible to developers</head><p>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 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 artefacts are used might be fed into the verification process (see <ref type="bibr" target="#b1">[2]</ref> 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 <ref type="bibr" target="#b16">[17]</ref>. 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 <ref type="bibr" target="#b17">[18]</ref> as well as in much earlier approaches, including those developed by Heitmeyer's team <ref type="bibr" target="#b12">[13]</ref>, which can be useful here.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Supporting the expression of relevant properties for verification</head><p>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 requirement 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 adoption of property specification templates <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b10">11]</ref>. To ease their application, these templates must be adjusted to be relevant to the risk logs. Ideally this will enable properties for verification 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 fit standard templates, some require-ments may not obviously fit 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 verification that capture the risk being considered (natural language processing techniques might be useful here <ref type="bibr" target="#b19">[20]</ref>). 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, <ref type="bibr" target="#b15">[16]</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Providing analysis results in ways that are understandable by, and useful to, developers</head><p>When verification fails, the causes of failure need to be identified and investigated. 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 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 <ref type="bibr" target="#b14">[15]</ref> 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 flexible approach, is explored in <ref type="bibr" target="#b4">[5]</ref> in the context of representing the outcome of analysis with Alloy <ref type="bibr" target="#b13">[14]</ref>. 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 interactive computing systems models, the techniques used can clearly be adjusted to support them.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion</head><p>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 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 identified and briefly discussed.</p></div>			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">Perhaps because this level plays well with the iterative nature of user centred approaches.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This work is financed 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 -Fundação para a Ciência e a Tecnologia, within project POCI-01-0145-FEDER-016826.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Using formal verification to evaluate human-automation interaction: A review</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">L</forename><surname>Bolton</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Bass</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Siminiceanu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans</title>
		<imprint>
			<biblScope unit="volume">43</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="488" to="503" />
			<date type="published" when="2013-05">May 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Formal models for user interface design artefacts</title>
		<author>
			<persName><forename type="first">J</forename><surname>Bowen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Reeves</surname></persName>
		</author>
		<idno type="DOI">10.1007/s11334-008-0049-0</idno>
		<ptr target="https://doi.org/10.1007/s11334-008-0049-0" />
	</analytic>
	<monogr>
		<title level="j">Innovations in Systems and Software Engineering</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="125" to="141" />
			<date type="published" when="2008-06">Jun 2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Formal verification of a space system&apos;s user interface with the IVY workbench</title>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sousa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alves</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</author>
		<idno type="DOI">10.1109/THMS.2015.2421511</idno>
		<ptr target="https://doi.org/10.1109/THMS.2015.2421511" />
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Human-Machine Systems</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="303" to="316" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Formally verifying interactive systems: A review</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">D</forename><surname>Harrison</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Design, Specification and Verification of Interactive Systems &apos;97</title>
				<editor>
			<persName><forename type="first">M</forename><forename type="middle">D</forename><surname>Harrison</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Torres</surname></persName>
		</editor>
		<meeting><address><addrLine>Wien</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1997-06">June 1997</date>
			<biblScope unit="page" from="109" to="124" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Improving the visualization of alloy instances</title>
		<author>
			<persName><forename type="first">R</forename><surname>Couto</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Macedo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Cunha</surname></persName>
		</author>
		<idno type="DOI">10.4204/EPTCS.284.4</idno>
		<ptr target="https://doi.org/10.4204/EPTCS.284.4" />
	</analytic>
	<monogr>
		<title level="j">Electronic Proceedings in Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">284</biblScope>
			<biblScope unit="page" from="37" to="52" />
			<date type="published" when="2018">2018. 2018</date>
		</imprint>
	</monogr>
	<note>Integrated Development Environment 2018 (F-IDE</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Evaluation of formal IDEs for human-machine interface design and analysis: the case of CIRCUS and PVSio-web</title>
		<author>
			<persName><forename type="first">C</forename><surname>Fayollas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Martinie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Palanque</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Silva</surname></persName>
		</author>
		<idno type="DOI">10.4204/EPTCS.240.1</idno>
		<ptr target="https://doi.org/10.4204/EPTCS.240.1" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Third Workshop on Formal Integrated Development Environment. Electronic Proceedings in Theoretical Computer Science</title>
				<meeting>the Third Workshop on Formal Integrated Development Environment. Electronic Proceedings in Theoretical Computer Science</meeting>
		<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">240</biblScope>
			<biblScope unit="page" from="1" to="19" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Templates as heuristics for proving properties of medical devices</title>
		<author>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Curzon</surname></persName>
		</author>
		<idno type="DOI">10.4108/eai.14-10-2015.2261743</idno>
		<ptr target="https://doi.org/10.4108/eai.14-10-2015.2261743" />
	</analytic>
	<monogr>
		<title level="m">5th EAI International Conference on Wireless Mobile Communication and Healthcare -&quot;Transforming healthcare through innovations in mobile and wireless technologies</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m">Cambridge Series on Human-Computer Interaction</title>
				<editor>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Thimbleby</surname></persName>
		</editor>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
	<note>Formal Methods in Human-Computer Interaction</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Safety analysis of software components of a dialysis machine using model checking</title>
		<author>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Drinnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Freitas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Di Maria</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Whitaker</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3</idno>
		<idno>-319-68034-7 8</idno>
		<ptr target="https://doi.org/10.1007/978-3" />
	</analytic>
	<monogr>
		<title level="m">Formal Aspects of Component Software</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">10487</biblScope>
			<biblScope unit="page" from="137" to="154" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Formal techniques in the safety analysis of software components of a new dialysis machine</title>
		<author>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Freitas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Drinnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Di Maria</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Whitaker</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.scico.2019.02.003</idno>
		<ptr target="https://doi.org/10.1016/j.scico.2019.02.003" />
	</analytic>
	<monogr>
		<title level="j">Science of Computer Programming</title>
		<imprint>
			<biblScope unit="volume">175</biblScope>
			<biblScope unit="page" from="17" to="34" />
			<date type="published" when="2019-04">April 2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Verification templates for the analysis of user interface software design</title>
		<author>
			<persName><forename type="first">M</forename><surname>Harrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
		<idno type="DOI">10.1109/TSE.2018.2804939</idno>
		<ptr target="https://doi.org/10.1109/TSE.2018.2804939" />
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Software Engineering</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Formal analysis of interactive systems: opportunities and weaknesses</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">D</forename><surname>Harrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Campos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Loer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Research Methods for Human Computer Interaction</title>
				<editor>
			<persName><forename type="first">P</forename><surname>Cairns</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><surname>Cox</surname></persName>
		</editor>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="88" to="111" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">SCR: A toolset for specifying and analyzing software requirements</title>
		<author>
			<persName><forename type="first">C</forename><surname>Heitmeyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kirby</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Labaw</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Bharadwaj</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computer Aided Verification</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="526" to="531" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Software Abstractions</title>
		<author>
			<persName><forename type="first">D</forename><surname>Jackson</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2011">2011</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
	<note>revised edn</note>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">PVSio-web 2.0: Joining PVS to HCI</title>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Oladimeji</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Jones</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Curzon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Thimbleby</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-319</idno>
		<idno>-21690-4 30</idno>
		<ptr target="https://doi.org/10.1007/978-3-319" />
	</analytic>
	<monogr>
		<title level="m">Computer Aided Verification</title>
		<title level="s">. Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="volume">9206</biblScope>
			<biblScope unit="page" from="470" to="478" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">A hazard analysis method for systematic identification of safety requirements for user interface software in medical devices</title>
		<author>
			<persName><forename type="first">P</forename><surname>Masci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Jones</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Campos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Software Engineering and Formal Methods</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">10469</biblScope>
			<biblScope unit="page" from="284" to="299" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Architecture-based design: A satellite on-board software case study</title>
		<author>
			<persName><forename type="first">A</forename><surname>Mavridou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Stachtiari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bliudze</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ivanov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Katsaros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sifakis</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3</idno>
		<idno>-319-57666-4 16</idno>
		<ptr target="https://doi.org/10.1007/978-3" />
	</analytic>
	<monogr>
		<title level="m">Formal Aspects of Component Software</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">O</forename><surname>Kouchnarenko</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Khosravi</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">10231</biblScope>
			<biblScope unit="page" from="260" to="279" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Evaluating the effect of a lightweight formal technique in industry</title>
		<author>
			<persName><forename type="first">A</forename><surname>Osaiweran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Schuts</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hooman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">F</forename><surname>Groote</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Van Rijnsoever</surname></persName>
		</author>
		<idno type="DOI">10.1007/s10009-015-0374-1</idno>
		<ptr target="https://doi.org/10.1007/s10009-015-0374-1" />
	</analytic>
	<monogr>
		<title level="j">International Journal on Software Tools for Technology Transfer</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="93" to="108" />
			<date type="published" when="2016-02">Feb 2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Formal Methods in Human-Computer Interaction</title>
	</analytic>
	<monogr>
		<title level="m">Formal Approaches to Computing and Information Technology series</title>
				<editor>
			<persName><forename type="first">P</forename><surname>Palanque</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Paternò</surname></persName>
		</editor>
		<meeting><address><addrLine>London</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">From English to formal specifications</title>
		<author>
			<persName><forename type="first">S</forename><surname>Vadera</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Meziane</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The Computer Journal</title>
		<imprint>
			<biblScope unit="volume">37</biblScope>
			<biblScope unit="issue">9</biblScope>
			<biblScope unit="page" from="753" to="763" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">The Handbook of Formal Methods in Human-Computer Interaction</title>
	</analytic>
	<monogr>
		<title level="m">Human-Computer Interaction Series</title>
				<editor>
			<persName><forename type="first">B</forename><surname>Weyers</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Bowen</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><surname>Dix</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><surname>Palanque</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Towards classification of lightweight formal methods</title>
		<author>
			<persName><forename type="first">A</forename><surname>Zamansky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Spichkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rodríguez-Navas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Herrmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">O</forename><surname>Blech</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering</title>
				<editor>
			<persName><forename type="first">E</forename><surname>Damiani</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">G</forename><surname>Spanoudakis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">L</forename><surname>Maciaszek</surname></persName>
		</editor>
		<meeting>the 13th International Conference on Evaluation of Novel Approaches to Software Engineering<address><addrLine>ENASE</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2018">2018. 2018</date>
			<biblScope unit="page" from="305" to="313" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
