Steve Reeves | University of Waikato (original) (raw)

Papers by Steve Reeves

Research paper thumbnail of Usable-by-Construction

Research paper thumbnail of Stepwise Renement of Processes

Research paper thumbnail of Provably Correct Smart Contracts: An Approach using DeepSEA

Research paper thumbnail of Model-based Testing of Interactive Systems using Interaction Sequences

Proceedings of the ACM on human-computer interaction, Jun 18, 2020

Testing is an important part of the software engineering process to help ensure that systems will... more Testing is an important part of the software engineering process to help ensure that systems will behave as expected. In this paper we investigate interactive system testing, taking into consideration the different components of the system. Interactive systems have three different components, the interactive, functional and overlap. The interactive component is the interface of the interactive system, the functional the underlying instructions of the interactive system, and the overlap component the point at which the interactive and functional components intersect. The interactive and functional components are often tested separately, however, problems can occur where these components overlap. Therefore, in this paper we present a model-based testing approach specifically designed to inspect the overlap component behaviour and to ensure that it behaves as expected.

Research paper thumbnail of SeqCheck

In this paper we describe SeqCheck, a model checking tool which allows us to investigate if certa... more In this paper we describe SeqCheck, a model checking tool which allows us to investigate if certain properties hold for an interactive system. These properties allow us to determine if the interaction sequence model of an interactive system's overlap component behaves as expected. We describe the properties we have defined for this overlap component and then demonstrate the use of SeqCheck to identify when these do not hold.

Research paper thumbnail of UI-design driven model-based testing

Innovations in Systems and Software Engineering, May 11, 2013

Research paper thumbnail of Proceedings of the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems - EICS '15

It is our great pleasure to welcome you to the 7th ACM SIGCHI Symposium on Engineering Interactiv... more It is our great pleasure to welcome you to the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems --- EICS'15 held in Duisburg, Germany (23--26 June 2015). EICS is an annual international conference series devoted to all aspects of engineering usable and effective interactive computing systems. Topics of interest include the design and development of systems with new interaction techniques and modalities, multi-device interaction, service front-ends, mobile and pervasive systems, large-scale and big data applications, as well as novel development methods and processes. EICS focuses on methods, techniques and tools that support designing and developing interactive systems. The Conference brings together people who study or practice the engineering of interactive systems, drawing from a broad range of disciplines such as Human-Computer Interaction (HCI), Software Engineering, Requirements Engineering, CSCW, Ubiquitous / Pervasive Systems, or Game Development. It addresses technical and methodological research questions that are typically less well represented in other HCI conferences. With its focus on engineering interactive systems, the conference has become the premier venue for all researchers and practitioners interested in the effective and systematic design and development of innovative, high-quality interactive systems.

Research paper thumbnail of Supporting Multi-path UI Development with Vertical Refinement

2009 Australian Software Engineering Conference, 2009

Abstract As computers and software applications become ubiquitous the systems we build are increa... more Abstract As computers and software applications become ubiquitous the systems we build are increasingly required to run on not just a single piece of hardware, but rather be available for different platforms, different types of hardware and offer different modes of interaction depending on the context of use. Within a formal development process when we consider refinement for interactive systems we therefore need to consider not only the transformation of abstract specifications and models into single implementations but also ...

Research paper thumbnail of A logic for n-dimensional hierarchical refinement

Electronic Proceedings in Theoretical Computer Science, 2016

Research paper thumbnail of Supporting interactive system testing with interaction sequences

Research paper thumbnail of Fear of Formal Reasoning

Research paper thumbnail of Proceedings 17th International BCS-FACS Refinement Workshop

Quantum chromodynamics (QCD) is the theory of subnuclear physics, aiming at mod- eling the strong... more Quantum chromodynamics (QCD) is the theory of subnuclear physics, aiming at mod- eling the strong nuclear force, which is responsible for the interactions of nuclear particles. Lattice QCD (LQCD) is the corresponding discrete formulation, widely used for simula- tions. The computational demand for the LQCD is tremendous. It has played a role in the history of supercomputers, and has also helped defining their future. Designing efficient LQCD codes that scale well on large (probably hybrid) supercomputers requires to express many levels of parallelism, and then to explore different algorithmic solutions. While al- gorithmic exploration is the key for efficient parallel codes, the process is hampered by the necessary coding effort. We present in this paper a domain-specific language, QIRAL, for a high level expression of parallel algorithms in LQCD. Parallelism is expressed through the mathematical struc- ture of the sparse matrices defining the problem. We show that from these expressions and from algorithmic and preconditioning formulations, a parallel code can be automatically generated. This separates algorithms and mathematical formulations for LQCD (that be- long to the field of physics) from the effective orchestration of parallelism, mainly related to compilation and optimization for parallel architectures.

Research paper thumbnail of Engineering Interactive Systems with Model-Driven Code Contracts

The use of sound and robust software engineering techniques are essential during the design and d... more The use of sound and robust software engineering techniques are essential during the design and development of safety-critical interactive systems. Failure of such systems (such as those found in medical settings or transportation) can lead to serious harm or even fatalities. Model-based development of interactive systems provides a number of benefits which can support correctness of the interface, the interaction and the functional logic of the system. Many different approaches have been proposed which target the models at different aspects of the development process (for example task analysis, interface layouts, functional behaviours etc.) and which can be used in different ways (verification of correctness, usability, testing). Typically these rely on multiple models at differing levels of abstraction. There are challenges in ensuring consistency between the models, and more importantly in ensuring that the final implementation correctly satisfies all of the models. In this paper we propose a method of deriving pre-and post-conditions for both interactive and functional elements of the system from formal models. These are used to generate code contracts within a code framework to support programmers who are implementing the system described in such models. We describe both the process for this and present an initial examination of the applicability of the approach based on a proof-of-concept user study. This small study was intended to examine whether we could correctly derive the code contracts in an automated fashion and whether or not they were usable (and beneficial) for programmers working on a pre-defined task. This initial investigation suggested that such an approach can aid programmers in correctly implementing a specification and that the general approach outlined in the paper is worth developing further.

Research paper thumbnail of μ-Chart-Based Specification and Refinement

Springer eBooks, 2002

We introduce two new notions of refinement for μ-charts and compare them with the existing notion... more We introduce two new notions of refinement for μ-charts and compare them with the existing notion due to Scholz. The two notions are interesting and important because one gives rise (via a logic) to a calculus for constructing refinements and the other gives rise (via model checking) to a way of checking that refinements hold. Thus we bring together the two competing worlds of model checking and proof.

Research paper thumbnail of Proceedings 17th International Workshop on Refinement

Electronic proceedings in theoretical computer science, Jun 4, 2016

We are proud to present the papers from the 17th Refinement Workshop, co-located with FM 2015 hel... more We are proud to present the papers from the 17th Refinement Workshop, co-located with FM 2015 held in Oslo, Norway on June 22nd, 2015. Refinement is one of the cornerstones of a formal approach to software engineering: the process of developing a more detailed design or implementation from an abstract specification through a sequence of mathematically-based steps that maintain correctness with respect to the original specification. This 17th workshop continued a 20+ year tradition under the auspices of the British Computer Society (BCS) FACS special interest group. This is the third volume that has appeared as an EPTCS proceedings, and we would like to thank the editorial board (and in particular Rob van Glabbeek) for their help and cooperation in making this happen. The organisers would like to thank everyone: the authors, BCS-FACS, EPTCS, and the organisers of FM 2015 for their help in organising this workshop, the participants of the workshop, and the reviewers involved in selecting the papers.

Research paper thumbnail of A tale of two studies

Australasian User Interface Conference, Jan 29, 2013

Research paper thumbnail of An analysis of operation refinement in Z

Research paper thumbnail of CSM-379a Results on Formal Stepwise Design in Z

Research paper thumbnail of Preface to the proceedings of FMIS 2013

Electron. Commun. Eur. Assoc. Softw. Sci. Technol., 2013

Research paper thumbnail of Programming in the Real World: Computer Science students' perceptions of the values and difficulties of learning formal methods

Research paper thumbnail of Usable-by-Construction

Research paper thumbnail of Stepwise Renement of Processes

Research paper thumbnail of Provably Correct Smart Contracts: An Approach using DeepSEA

Research paper thumbnail of Model-based Testing of Interactive Systems using Interaction Sequences

Proceedings of the ACM on human-computer interaction, Jun 18, 2020

Testing is an important part of the software engineering process to help ensure that systems will... more Testing is an important part of the software engineering process to help ensure that systems will behave as expected. In this paper we investigate interactive system testing, taking into consideration the different components of the system. Interactive systems have three different components, the interactive, functional and overlap. The interactive component is the interface of the interactive system, the functional the underlying instructions of the interactive system, and the overlap component the point at which the interactive and functional components intersect. The interactive and functional components are often tested separately, however, problems can occur where these components overlap. Therefore, in this paper we present a model-based testing approach specifically designed to inspect the overlap component behaviour and to ensure that it behaves as expected.

Research paper thumbnail of SeqCheck

In this paper we describe SeqCheck, a model checking tool which allows us to investigate if certa... more In this paper we describe SeqCheck, a model checking tool which allows us to investigate if certain properties hold for an interactive system. These properties allow us to determine if the interaction sequence model of an interactive system's overlap component behaves as expected. We describe the properties we have defined for this overlap component and then demonstrate the use of SeqCheck to identify when these do not hold.

Research paper thumbnail of UI-design driven model-based testing

Innovations in Systems and Software Engineering, May 11, 2013

Research paper thumbnail of Proceedings of the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems - EICS '15

It is our great pleasure to welcome you to the 7th ACM SIGCHI Symposium on Engineering Interactiv... more It is our great pleasure to welcome you to the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems --- EICS'15 held in Duisburg, Germany (23--26 June 2015). EICS is an annual international conference series devoted to all aspects of engineering usable and effective interactive computing systems. Topics of interest include the design and development of systems with new interaction techniques and modalities, multi-device interaction, service front-ends, mobile and pervasive systems, large-scale and big data applications, as well as novel development methods and processes. EICS focuses on methods, techniques and tools that support designing and developing interactive systems. The Conference brings together people who study or practice the engineering of interactive systems, drawing from a broad range of disciplines such as Human-Computer Interaction (HCI), Software Engineering, Requirements Engineering, CSCW, Ubiquitous / Pervasive Systems, or Game Development. It addresses technical and methodological research questions that are typically less well represented in other HCI conferences. With its focus on engineering interactive systems, the conference has become the premier venue for all researchers and practitioners interested in the effective and systematic design and development of innovative, high-quality interactive systems.

Research paper thumbnail of Supporting Multi-path UI Development with Vertical Refinement

2009 Australian Software Engineering Conference, 2009

Abstract As computers and software applications become ubiquitous the systems we build are increa... more Abstract As computers and software applications become ubiquitous the systems we build are increasingly required to run on not just a single piece of hardware, but rather be available for different platforms, different types of hardware and offer different modes of interaction depending on the context of use. Within a formal development process when we consider refinement for interactive systems we therefore need to consider not only the transformation of abstract specifications and models into single implementations but also ...

Research paper thumbnail of A logic for n-dimensional hierarchical refinement

Electronic Proceedings in Theoretical Computer Science, 2016

Research paper thumbnail of Supporting interactive system testing with interaction sequences

Research paper thumbnail of Fear of Formal Reasoning

Research paper thumbnail of Proceedings 17th International BCS-FACS Refinement Workshop

Quantum chromodynamics (QCD) is the theory of subnuclear physics, aiming at mod- eling the strong... more Quantum chromodynamics (QCD) is the theory of subnuclear physics, aiming at mod- eling the strong nuclear force, which is responsible for the interactions of nuclear particles. Lattice QCD (LQCD) is the corresponding discrete formulation, widely used for simula- tions. The computational demand for the LQCD is tremendous. It has played a role in the history of supercomputers, and has also helped defining their future. Designing efficient LQCD codes that scale well on large (probably hybrid) supercomputers requires to express many levels of parallelism, and then to explore different algorithmic solutions. While al- gorithmic exploration is the key for efficient parallel codes, the process is hampered by the necessary coding effort. We present in this paper a domain-specific language, QIRAL, for a high level expression of parallel algorithms in LQCD. Parallelism is expressed through the mathematical struc- ture of the sparse matrices defining the problem. We show that from these expressions and from algorithmic and preconditioning formulations, a parallel code can be automatically generated. This separates algorithms and mathematical formulations for LQCD (that be- long to the field of physics) from the effective orchestration of parallelism, mainly related to compilation and optimization for parallel architectures.

Research paper thumbnail of Engineering Interactive Systems with Model-Driven Code Contracts

The use of sound and robust software engineering techniques are essential during the design and d... more The use of sound and robust software engineering techniques are essential during the design and development of safety-critical interactive systems. Failure of such systems (such as those found in medical settings or transportation) can lead to serious harm or even fatalities. Model-based development of interactive systems provides a number of benefits which can support correctness of the interface, the interaction and the functional logic of the system. Many different approaches have been proposed which target the models at different aspects of the development process (for example task analysis, interface layouts, functional behaviours etc.) and which can be used in different ways (verification of correctness, usability, testing). Typically these rely on multiple models at differing levels of abstraction. There are challenges in ensuring consistency between the models, and more importantly in ensuring that the final implementation correctly satisfies all of the models. In this paper we propose a method of deriving pre-and post-conditions for both interactive and functional elements of the system from formal models. These are used to generate code contracts within a code framework to support programmers who are implementing the system described in such models. We describe both the process for this and present an initial examination of the applicability of the approach based on a proof-of-concept user study. This small study was intended to examine whether we could correctly derive the code contracts in an automated fashion and whether or not they were usable (and beneficial) for programmers working on a pre-defined task. This initial investigation suggested that such an approach can aid programmers in correctly implementing a specification and that the general approach outlined in the paper is worth developing further.

Research paper thumbnail of μ-Chart-Based Specification and Refinement

Springer eBooks, 2002

We introduce two new notions of refinement for μ-charts and compare them with the existing notion... more We introduce two new notions of refinement for μ-charts and compare them with the existing notion due to Scholz. The two notions are interesting and important because one gives rise (via a logic) to a calculus for constructing refinements and the other gives rise (via model checking) to a way of checking that refinements hold. Thus we bring together the two competing worlds of model checking and proof.

Research paper thumbnail of Proceedings 17th International Workshop on Refinement

Electronic proceedings in theoretical computer science, Jun 4, 2016

We are proud to present the papers from the 17th Refinement Workshop, co-located with FM 2015 hel... more We are proud to present the papers from the 17th Refinement Workshop, co-located with FM 2015 held in Oslo, Norway on June 22nd, 2015. Refinement is one of the cornerstones of a formal approach to software engineering: the process of developing a more detailed design or implementation from an abstract specification through a sequence of mathematically-based steps that maintain correctness with respect to the original specification. This 17th workshop continued a 20+ year tradition under the auspices of the British Computer Society (BCS) FACS special interest group. This is the third volume that has appeared as an EPTCS proceedings, and we would like to thank the editorial board (and in particular Rob van Glabbeek) for their help and cooperation in making this happen. The organisers would like to thank everyone: the authors, BCS-FACS, EPTCS, and the organisers of FM 2015 for their help in organising this workshop, the participants of the workshop, and the reviewers involved in selecting the papers.

Research paper thumbnail of A tale of two studies

Australasian User Interface Conference, Jan 29, 2013

Research paper thumbnail of An analysis of operation refinement in Z

Research paper thumbnail of CSM-379a Results on Formal Stepwise Design in Z

Research paper thumbnail of Preface to the proceedings of FMIS 2013

Electron. Commun. Eur. Assoc. Softw. Sci. Technol., 2013

Research paper thumbnail of Programming in the Real World: Computer Science students' perceptions of the values and difficulties of learning formal methods