Steve Reeves | University of Waikato (original) (raw)
Papers by Steve Reeves
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.
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.
Innovations in Systems and Software Engineering, May 11, 2013
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.
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 ...
Electronic Proceedings in Theoretical Computer Science, 2016
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.
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.
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.
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.
Australasian User Interface Conference, Jan 29, 2013
Electron. Commun. Eur. Assoc. Softw. Sci. Technol., 2013
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.
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.
Innovations in Systems and Software Engineering, May 11, 2013
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.
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 ...
Electronic Proceedings in Theoretical Computer Science, 2016
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.
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.
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.
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.
Australasian User Interface Conference, Jan 29, 2013
Electron. Commun. Eur. Assoc. Softw. Sci. Technol., 2013