
Observed, Strategic, sustained action is now needed to avoid further negative consequences of climate change and to build a greener, cleaner and fairer future. According to the Intergovernmental Panel on Climate Change the rise in global temperature is largely driven by total carbon dioxide emissions over time. In order to avoid further global warming, international Governments agreed to work towards a balance between emissions and greenhouse gas removal (GGR), known 'net zero', in the Paris Agreement. In June 2019 the UK committed to reaching net zero emissions by 2050, making it the first G7 country to legislate such a target. Transitioning to net zero means that we will have to remove as many emissions as we produce. Much of the focus of climate action to date has been on reducing emissions, for example through renewable power and electric vehicles. However, pathways to net zero require not just cutting fossil fuel emissions but also turning the land into a net carbon sink and scaling up new technologies to remove and store greenhouse gases. This will require new legislation to pave the way for investment in new infrastructure and businesses expected to be worth billions of pounds a year within 30 years. This challenge has far-reaching implications for technology, business models, social practices and policy. GGR has been much less studied, developed and incentivised than actions to cut emissions. The proposed CO2RE Hub brings together leading UK academics with a wide range of expertise to co-ordinate a suite of GGR demonstration projects to accelerate progress in this area. In particular the Hub will study how we can (1) reduce technology costs so that GGR becomes economically viable; (2) ensure industry adopts the concept of net zero in a way that will maintain and create jobs; (3) put in place sensible policy incentives; (4) make sure there is social license for GGR (unlike fracking or nuclear); (5) set up regulatory oversight of environmental sustainability and risks of GGR; (6) understand what is required to achieve GGR at large scale and (7) guarantee there are the skills and knowledge required for all this to happen. Building on extensive existing links to stakeholders in business, Government and NGOs, the Hub will work extensively with everyone involved in regulating and delivering GGR to ensure our research provides solutions to strategic priorities. We will also encourage the teams working on demonstrator technologies to think responsibly about the risks, benefits and public perceptions of their work and consider the full environmental, social and economic implications of implementation from the outset. CO2RE will seek to bring the GGR community in the UK as a whole closer together, functioning as a gateway to UK inter-disciplinary research expertise on GGR. We will inform, and stay informed, about the latest developments nationally and internationally, and reach out to engage the wider public. In doing so we will be able to respond to a rapidly evolving landscape recognising that technical and social change are not separate, but happen together. To accelerate and achieve meaningful change, we will be guided by consultation with key decision-makers and the general public, and set up a £1m flexible fund to respond to priorities that emerge with the help of the wider UK academic community. Ultimately we will help the UK and the world understand how GGR can be scaled up responsibly as part of climate action to meet the ambition of net zero.
Testing is a crucial part of any software development process. Testing is also very expensive: Common estimations list the effort of software testing at 50% of the average budget. Our society increasingly depends on a working information infrastructure for more and more aspects of civic, commercial, and social life, while software at the same time becomes ever more complex. For example, a modern car has up to 100 million lines of software code, and software errors can easily lead to fatal consequences. Improving techniques to identify errors in software is therefore of utmost importance. Manual testing is common practice in software development. As manually testing a program is a laborious and error prone task, automation is desirable. However, automation requires the user to specify the correct behaviour up-front in terms of a specification, or later by adding test oracles to automatically generated tests - both alternatives are difficult. This problem is obliterated as test quality is usually measured with oracle-agnostic code coverage metrics. In truth, however, a test without a good oracle cannot find software bugs. This is the oracle problem, one of the longest standing and greatest remaining challenges in software testing. As both writing specifications and writing test oracles is difficult and needs to be done manually, this proposal aims to push automation further by exploring the middle ground: The novel concept of an oracle template allows to specify what should be tested and checked, but crucially, it does not require specifying the expected behaviour. Instead, automated test generation instantiates user-specified oracle templates to concrete tests with oracles, and the developer decides case by case about correctness. Thus, programs can be tested without the developer needing to write a specification or having to suffer through seemingly purposeless generated tests. Because test generation is driven by oracles, all tests have a purpose and the essential oracles required to be effective at finding software bugs. The novel concept of oracle templates requires extension of the current state of the art in test generation, as current techniques either assume the existence of an automated oracle (e.g. a specification) or focus exclusively on the code. This creates three challenges, which will be addressed in this project: -- Existing code-based testing techniques focus on reaching points in the code. This project will define the concept of oracle templates, and will explore test generation based on oracle templates as a search problem. Given an oracle template, search-based testing techniques will automatically create instances, which are test cases with oracles. -- Systematic testing is traditionally driven by the idea that a good test set covers all the code, which completely ignores the test oracle problem. This project will define systematic criteria and corresponding search-based test generation techniques to thoroughly test programs based on oracle templates. These criteria will ensure coverage of oracle templates, but will also ensure that the code is executed and checked by oracles (e.g. by applying mutation and data-flow analysis). -- It is impossible to take the human out of the software testing loop completely. Oracle templates are an attempt at minimizing the human effort, but the task of writing oracle templates still requires manual effort. Therefore, this project will explore strategies to automatically synthesise oracle templates based on standard testing patterns and usage examples. Ultimately, a developer would have all tests and oracles generated automatically on the click of a button, leaving only the task of confirming correctness of the produced examples. The success in addressing these challenges will be measured using automated experiments, controlled studies with student subjects, and industrial case studies at Google and Microsoft.
Security systems break because design practices focus too much on mechanisms, at the expense of clearly-defined properties. The vision of this research is to bring about a shift of emphasis to highlight the properties that security systems are expected to provide. This will be done by developing methods for verification of security systems. I will focus on a selection of interconnected real-world problems that are of great importance to society, but that are currently in need of greater industry/academe cooperation. The combination of fundamental research with close collaboration with industry, government and users is expected to achieve significant results and impact. I will develop and apply new methods and techniques to create and analyse solutions in three areas:* Trusted computing is an industry-led technology that aims to root security in hardware. Since its launch, academics including me have discovered significant issues that threaten to undermine its potential at providing a range of security benefits. This has arisen because industry does not have the expertise to analyse the protocols.* Electronic voting is an application currently attracting significant interest from government and industry, but numerous security issues have resulted in failure of confidence among politicians, commentators and public alike.* Privacy for citizens using electronic services is hotly debated by journalists and user groups and politicians, but has been substantially eroded by new technologies and policies.In these three areas, there is currently the risk of significant waste of resources on inappropriate or unaccepted technologies, resulting in user disempowerment and exclusion. The outcomes of this fellowship are intended to address that risk.A distinguishing feature of the proposal is the substantial engagement with industry and user groups that are active in these three areas. As a result of discussions with them, several organisations have committed significant resources, including cash contribution, manager and developer time, and access to users and experts.
The cost of software failures is a huge burden to the worldwide economy that was estimated to be at least £1.3 trillion in 2017. Consequently, software testing, a vital defence against failures, contributes to a large proportion of software development effort and cost. Flaky tests are a particular strain on resources allocated to software development, because they intermittently pass and fail without changes to tests or project code, with often maddening, non-obvious causes. Flaky tests are tests that fundamentally do not always tell the truth: they can fail when code is working, and pass when it isn't. Because developers can no longer trust the results of their tests, they are unable to gain confidence that software is working correctly, potentially exposing end-users to the consequences of software failures. Flaky tests are a common occurrence in industry, significantly disrupting software development - even for companies with the greatest amount of resources to tackle them, such as Microsoft, Facebook, and Google. A test can produce different pass/fail (i.e., flaky) outcomes because of differing, unpredicted ways that the execution environment in which it runs interacts with its behaviour and/or the code that it tests. For instance, a machine may be experiencing a heavy concurrent task load, causing it to execute tests slowly, sometimes triggering timeouts in the code under test, and sometimes not. Or, network access is erratic on the testing infrastructure, meaning the availability of network resources may be compromised. Or, a program under test's logic is time and date dependent. These are just a few real examples of the different ways in which tests can be flaky. For some environmental conditions, the test passes, but in an alternative context, the same test fails. To remove flaky test behaviour, a developer has to modify test code or the code that it tests to control for aspects of its execution environment; i.e., the potential sources of its intermittent behaviour. But to accurately assess the differences in code execution behaviour and the places in the code that need to be changed, a developer must be able to reliably reproduce the differing pass/fail test outcomes. However, this not only involves recreating the environmental conditions that lead to the flaky behaviour, but also figuring out exactly what the environmental conditions were that caused the flakiness in the first place. Solving these issues and reproducing flaky tests manually can be extremely challenging for developers since the environmental conditions concerned (a) are intermittent; and (b) may be unrelated to anything the test is actually checking, and/or far-removed from the code being tested. Existing research techniques are insufficient for addressing these problems, and despite developer incentives for removing flakiness, Google, for instance, reports an astonishing one in seven tests as flaky. What the Test FLARE Project Will Do: The Test FLARE project will develop and empirically evaluate techniques capable of (1) automatically reproducing flaky behaviour that is due to the execution environment. It will also provide developers with (2) automated, human-readable explanations that help developers further understand the reasons for the flaky behaviour.
As cultural artefacts, video games are complex, multi-faceted products that encompass creative practices from character and narrative, interaction and gameplay design, architecture, product and environment design to sound design and composition. Technically they bring together software engineering with maths and physics, AI with networks and user data. Bring these together with a dynamic and competitive commercial environment and a disrupted technology environment and a growing cultural significance and you can begin to appreciate the challenges faced by this industry. SMEs operating in the video games sector are subject to technological, market and platform disruption where platform access and 'discoverability' are significant challenges to product viability. These factors are exerting a downward pressure on innovation and the creation of original IP in the Dundee cluster. The InGame partnership will pursue a highly collaborative, embedded approach to R&D by establishing a dedicated a R&D centre at the heart of the cluster. Artists, designers and creative writers will be co-located with technologists and business specialists to offer a dynamic and responsive resource to engage with three significant high-level challenges - consolidated from issues raised through local consultation, a survey of over 700 UK games studios and the trade body's blueprint for growth - where combined collaborative R&D could lead to significant growth, sustainability and intensification for the computer games cluster in Dundee. Creative Risk: Over the last decade the dominant business model in the Dundee games cluster has shifted from a publishing model where development costs are borne by the publisher in advance of sales income; to a platform model where individual games companies carry the cost of development in return for as larger proportion of the sales revenue. As a consequence the risk attendant with the development of original IP for the games market is, more often than not, fatal for start-up and micro-SME studios. Technological Innovation: Working practices in this cluster are characteristically solution focused and iterative, and often inventive and ingenious. However, technology innovations are not systematically captured or tested for generalization or re-use value. Commercial pressure on value chains has inhibited SMEs from taking on the risk of high-value innovation activity resulting in lost economic opportunity and inhibited cluster growth. Organisational Development: The cluster is characterized by a high number of dynamic micro-SMEs creating content for mobile, tablet and PC gaming platforms. The city is also home to a smaller number of mid-sized SME's with established product portfolios ranging from original franchises, sub-contracted development for established franchises and studios developing games for console. There is a growing professional services sector (accountancy, legal) and cultural scene (galleries and events). R&D in organisational development in this context relates to start-up at company level through to cluster and ecosystem development. The education sector is foundational to the cluster; Abertay University's Center for Excellence in Computer Games Education is characterised by active and mature collaboration between businesses, universities, and agencies of every scale. The University's longstanding relationship with national and multi-national games companies offers a unique opportunity to catalyse the value chain in the Dundee cluster. The academic partnership with Dundee University in Design for Business, and St Andrews School of Management's expertise in Creative Industries offers a world-leading research base for the R&D partnership. The InGAME R&D Center and cohort of Creative R&D Fellows will establish a new mode of engagement for industry and universities to work effectively and responsively to meet the challenge of cross-sector collaborative R&D in the Creative Industries.