VLDB 2026 Research / reviewers in the wild / expert
Mark Utting
dblp:43/3091
· DBLP profile ↗
22ranked-venue papers
6as first author
6since 2021 · last 2023
0000-0003-3134-6306ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 17 · 4 first-author · 4 since 2021Theory of computation · 8 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Systems, architecture and hardware · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Verifying Term Graph Optimizations using Isabelle/HOLabstractOur objective is to formally verify the correctness of the hundreds of expression optimization rules used within the GraalVM compiler. When defining the semantics of a programming language, expressions naturally form abstract syntax trees, or, terms. However, in order to facilitate sharing of common subexpressions, modern compilers represent expressions as term graphs. Defining the semantics of term graphs is more complicated than defining the semantics of their equivalent term representations. More significantly, defining optimizations directly on term graphs and proving semantics preservation is considerably more complicated than on the equivalent term representations. On terms, optimizations can be expressed as conditional term rewriting rules, and proofs that the rewrites are semantics preserving are relatively straightforward. In this paper, we explore an approach to using term rewrites to verify term graph transformations of optimizations within the GraalVM compiler. This approach significantly reduces the overall verification effort and allows for simpler encoding of optimization rules. Brae J. Webb, Ian J. Hayes, Mark Utting |
CPP | 3 |
| 2023 | Verifying Compiler Optimisations - (Invited Paper)
Ian J. Hayes, Mark Utting, Brae J. Webb |
ICFEM | 2 |
| 2023 | TypeScript's Evolution: An Analysis of Feature Adoption Over TimeabstractTypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption of dynamic language features can be a major hindrance to static analysis. As TypeScript evolves the addition of features makes the underlying standard more and more difficult to keep up with. In our work we present an analysis of 454 open source TypeScript repositories and study the adoption of 13 language features over the past three years. We show that while new versions of the TypeScript compiler are aggressively adopted by the community, the same cannot be said for language features. While some experience strong growth others are rarely adopted by projects. Our work serves as a starting point for future study of the adoption of features in TypeScript. We also release our analysis and data gathering software as open source in the hope it helps the programming languages community. Joshua D. Scarsbrook, Mark Utting, Ryan Kok Leong Ko |
MSR | 2 |
| 2022 | Verifying Whiley Programs with BoogieabstractAbstract The quest to develop increasingly sophisticated verification systems continues unabated. Tools such as Dafny, Spec#, ESC/Java, SPARK Ada and Whiley attempt to seamlessly integrate specification and verification into a programming language, in a similar way to type checking. A common integration approach is to generate verification conditions that are handed off to an automated theorem prover. This provides a nice separation of concerns and allows different theorem provers to be used interchangeably. However, generating verification conditions is still a difficult undertaking and the use of more “high-level” intermediate verification languages has become commonplace. In particular, Boogie provides a widely used and understood intermediate verification language. A common difficulty is the potential for an impedance mismatch between the source language and the intermediate verification language. In this paper, we explore the use of Boogie as an intermediate verification language for verifying programs in Whiley. This is noteworthy because the Whiley language has (amongst other things) a rich type system with considerable potential for an impedance mismatch. We provide a comprehensive account of translating Whiley to Boogie which demonstrates that it is possible to model most aspects of the Whiley language. Key challenges posed by the Whiley language included: the encoding of Whiley’s expressive type system and support for flow typing and generics; the implicit assumption that expressions in specifications are well defined; the ability to invoke methods from within expressions; the ability to return multiple values from a function or method; the presence of unrestricted lambda functions; and the limited syntax for framing. We demonstrate that the resulting verification tool can verify significantly more programs than the native Whiley verifier which was custom-built for Whiley verification. Furthermore, our work provides evidence that Boogie is (for the most part) sufficiently general to act as an intermediate language for a wide range of source languages. David J. Pearce 0001, Mark Utting, Lindsay Groves |
J. Autom. Reason. | 2 |
| 2021 | A Formal Semantics of the GraalVM Intermediate Representation
Brae J. Webb, Mark Utting, Ian J. Hayes |
ATVA | 2 |
| 2021 | Automatic proofs of memory deallocation for a Whiley-to-C Compiler
Min-Hsien Weng, Robi Malik, Mark Utting |
Formal Methods Syst. Des. | 3 |
| 2020 | Tool Support for Refactoring Manual TestsabstractManual test suites are typically described by natural language, and over time large manual test suites become disordered and harder to use and maintain. This paper focuses on the challenge of providing tool support for refactoring such test suites to make them more usable and maintainable. We describe how we have applied various machine-learning and NLP techniques and other algorithms to the refactoring of manual test suites, plus the tool support we have built to embody these techniques and to allow test suites to be explored and visualised. We evaluate our approach on several industry test suites, and report on the time savings that were obtained. Élodie Bernard, Julien Botella, Fabrice Ambert, Bruno Legeard, Mark Utting |
ICST | 5 |
| 2017 | Making Whiley Boogie!
Mark Utting, David J. Pearce 0001, Lindsay Groves |
IFM | 1 |
| 2014 | The JStar language philosophy
Mark Utting, Min-Hsien Weng, John G. Cleary |
Parallel Comput. | 1 |
| 2012 | A taxonomy of model-based testing approachesabstractSUMMARY Model‐based testing (MBT) relies on models of a system under test and/or its environment to derive test cases for the system. This paper discusses the process of MBT and defines a taxonomy that covers the key aspects of MBT approaches. It is intended to help with understanding the characteristics, similarities and differences of those approaches, and with classifying the approach used in a particular MBT tool. To illustrate the taxonomy, a description of how three different examples of MBT tools fit into the taxonomy is provided. Copyright © 2011 John Wiley & Sons, Ltd. Mark Utting, Alexander Pretschner, Bruno Legeard |
Softw. Test. Verification Reliab. | 1 |
| 2009 | Putting Formal Specifications under the Magnifying Glass: Model-based Testing for ValidationabstractA software development process is effectively an abstract form of model transformation, starting from an end-user model of requirements, through to a system model for which code can be automatically generated. The success (or failure) of such a transformation depends substantially on obtaining a correct, well-formed initial model that captures user concerns. Model-based testing automates black box testing based on the model of the system under analysis. This paper proposes and evaluates a novel model-based testing technique that aims to reveal specification/requirement-related errors by generating test cases from a test model and exercising them on the design model. The case study outlined in the paper shows that a separate test model not only increases the level of objectivity of the requirements, but also supports the validation of the system under test through test case generation. The results obtained from the case study support the hypothesis that there may be discrepancies between the formal specification of the system modeled at developer end and the problem to be solved, and using solely formal verification methods may not be sufficient to reveal these. The approach presented in this paper aims at providing means to obtain greater confidence in the design model that is used as the basis for code generation. Emine Gökçe Aydal, Richard F. Paige, Mark Utting, Jim Woodcock 0001 |
ICST | 3 |
| 2005 | Symbolic Animation of JML Specifications
Fabrice Bouquet, Frédéric Dadeau, Bruno Legeard, Mark Utting |
FM | 4 |
| 2005 | CZT Support for Z Extensions
Tim Miller 0001, Leo Freitas, Petra Malik, Mark Utting |
IFM | 4 |
| 2005 | JML-Testing-Tools: A Symbolic Animator for JML Specifications Using CLP
Fabrice Bouquet, Frédéric Dadeau, Bruno Legeard, Mark Utting |
TACAS | 4 |
| 2004 | Faster Analysis of Formal Specifications
Fabrice Bouquet, Bruno Legeard, Mark Utting, Nicolas Vacelet |
ICFEM | 3 |
| 2004 | Boundary Coverage Criteria for Test Generation from Formal ModelsabstractThis paper proposes a new family of model-based coverage criteria, based on formalizing boundary-value testing heuristics. The new criteria form a hierarchy of data-oriented coverage criteria, and can be applied to any formal notation that uses variables and values. They can be used either to measure the coverage of an existing test set, or to generate tests from a formal model. We give algorithms that can be used to generate tests that satisfy the criteria. These algorithms and criteria have been incorporated into the BZ-TESTING-TOOLS (BZ-TT) tool-set for automated test case generation from B, Z and UML/OCL specifications, and have been used and validated on several industrial applications in the domain of critical software, particularly smart cards and transport systems. Nikolai Kosmatov, Bruno Legeard, Fabien Peureux, Mark Utting |
ISSRE | 4 |
| 2004 | Controlling test case explosion in test generation from B formal modelsabstractAbstract BZ‐TESTING‐TOOLS (BZ‐TT) is a tool set for automated test case generation from B and Z specifications. BZ‐TT uses boundary and cause–effect testing on the basis of the formal model. It has been used and validated on several industrial applications in the domain of critical software, particularly smart card and transport systems. This paper presents the test coverage criteria supported by BZ‐TT. On the one hand, these correspond to various classical structural coverage criteria, but specialized to the case of B abstract machines. The paper gives algorithms for these in Prolog. On the other hand, BZ‐TT introduces new coverage criteria for complex data structures, based on boundary analysis: this paper defines weak and strong state‐boundary coverage, input‐boundary coverage and output‐boundary coverage. Finally, the paper describes how BZ‐TT presents a unified view of these criteria to the validation engineer, and allows him or her to control the test case explosion on a coarse basis (choosing from a range of coverage criteria) as well as a fine basis (selecting options for each state or input variable). Copyright © 2004 John Wiley & Sons, Ltd. Bruno Legeard, Fabien Peureux, Mark Utting |
Softw. Test. Verification Reliab. | 3 |
| 2001 | A sequential real-time refinement calculus
Ian J. Hayes, Mark Utting |
Acta Informatica | 2 |
| 2001 | Teaching formal methods lite via testingabstractAbstract A new style of formal methods course is described, based on a pragmatic approach that emphasizes testing. The course introduces students to formal specification using Z, and shows how formal specification and testing can benefit each other, in both the validation and verification phases. It uses a tools‐based approach, with practical work that reinforces formal specification techniques as well as traditional software engineering skills, such as unit and system testing, inspection and defensive programming with assertions. The two main results are to identify several practical uses of formal specifications that are not widely practised or taught, and to demonstrate that teaching them results in a more interesting and relevant formal methods course. Copyright © 2001 John Wiley & Sons, Ltd. Mark Utting, Steve Reeves |
Softw. Test. Verification Reliab. | 1 |
| 1995 | Animating Z: Interactivity, Transparency and EquivalenceabstractThe ability to animate Z specifications is useful in allowing a specifier to explore the behaviour of a specification. The paper defines three new evaluation criteria for animation systems, interactivity, transparency and operational equivalence. It also describes a simple Haskell-based animation system that satisfies these criteria. Mark Utting |
APSEC | 1 |
| 1995 | Interactively Verifying a Simple Real-time Scheduler
Colin J. Fidge, Peter Kearney, Mark Utting |
CAV | 3 |
| 1992 | Modular Reasoning in an Object-Oriented Refinement Calculus
Mark Utting, Ken Robinson |
MPC | 1 |