Powered by OpenAIRE graph

Microsoft Corporation (USA)

Microsoft Corporation (USA)

19 Projects, page 1 of 4
  • Funder: UK Research and Innovation Project Code: EP/L016796/1
    Funder Contribution: 4,099,020 GBP

    High Performance Embedded and Distributed Systems (HiPEDS), ranging from implantable smart sensors to secure cloud service providers, offer exciting benefits to society and great opportunities for wealth creation. Although currently UK is the world leader for many technologies underpinning such systems, there is a major threat which comes from the need not only to develop good solutions for sharply focused problems, but also to embed such solutions into complex systems with many diverse aspects, such as power minimisation, performance optimisation, digital and analogue circuitry, security, dependability, analysis and verification. The narrow focus of conventional UK PhD programmes cannot bridge the skills gap that would address this threat to the UK's leadership of HiPEDS. The proposed Centre for Doctoral Training (CDT) aims to train a new generation of leaders with a systems perspective who can transform research and industry involving HiPEDS. The CDT provides a structured and vibrant training programme to train PhD students to gain expertise in a broad range of system issues, to integrate and innovate across multiple layers of the system development stack, to maximise the impact of their work, and to acquire creativity, communication, and entrepreneurial skills. The taught programme comprises a series of modules that combine technical training with group projects addressing team skills and system integration issues. Additional courses and events are designed to cover students' personal development and career needs. Such a comprehensive programme is based on aligning the research-oriented elements of the training programme, an industrial internship, and rigorous doctoral research. Our focus in this CDT is on applying two cross-layer research themes: design and optimisation, and analysis and verification, to three key application areas: healthcare systems, smart cities, and the information society. Healthcare systems cover implantable and wearable sensors and their operation as an on-body system, interactions with hospital and primary care systems and medical personnel, and medical imaging and robotic surgery systems. Smart cities cover infrastructure monitoring and actuation components, including smart utilities and smart grid at unprecedented scales. Information society covers technologies for extracting, processing and distributing information for societal benefits; they include many-core and reconfigurable systems targeting a wide range of applications, from vision-based domestic appliances to public and private cloud systems for finance, social networking, and various web services. Graduates from this CDT will be aware of the challenges faced by industry and their impact. Through their broad and deep training, they will be able to address the disconnect between research prototypes and production environments, evaluate research results in realistic situations, assess design tradeoffs based on both practical constraints and theoretical models, and provide rapid translation of promising ideas into production environments. They will have the appropriate systems perspective as well as the vision and skills to become leaders in their field, capable of world-class research and its exploitation to become a global commercial success.

    more_vert
  • Funder: UK Research and Innovation Project Code: EP/I031014/1
    Funder Contribution: 5,528,990 GBP

    A paper mbius strip is like a cylinder in which the paper twists as it goes round. It looks looks quite like the simple cylinder, but it cannot be transformed into one without some drastic action such as cutting it with a pair of scissors. The mathematics describing this fact is known as topology. It allows the classification of shapes and objects into sets whose members are fundamentally similar to each other, and fundamentally different from objects in other sets. This seems abstract, and it is. However, abstract concepts can sometimes point the way to futuristic applications of sciences. One of the ambitious dreams of modern physics and electrical engineering is to build a quantum computer, a machine that would function completely differently to today's computers, and be a step-change in technology. In order to do that, one has to harness a property of quantum mechanics called 'coherence', which allows its laws to be realised. In the everyday world, fully coherent systems are extremely rare, because when they couple with everything around them, that environment acts like a source of strong random noise that scrambles the system up. This 'decoherence' is one of the core problems of the field. Ground-breaking theoretical research over the last decade has shown that there might be special classes of quantum system which are topologically distinct from the vast majority of other systems. This means that they will not couple to the environmental noise that is such a problem, and offer a route to overcoming decoherence. The second key issue for an electronics revolution is understanding what happens when you severely disturb even a normal quantum mechanical system. This is called driving it from equilibrium, and is going to be more and more important as we try to make electronics run faster and over smaller distances. We understand equilibrium quantum physics very well, but as soon as we go far from equilibrium we enter unexplored territory.In this Programme, we will address both these issues. Building on a breakthrough which has shown that topology is much more important in modern materials than we had ever suspected, we will perform a series of interlinked projects aimed at establishing which materials are most likely to offer topological protection from decoherence. Although ambitious, this is not an empty dream. Microsoft, who formally support our work, have created an entire research centre in the USA to work towards it. Their efforts are mainly theoretical, while ours will be mainly concerned with concrete experiments both on naturally occurring materials and on specially engineered hybrids. The second thrust of our Programme, non-equilibrium quantum mechanics, will be mostly theoretical work to begin with. Its primary focus will be gaining insights that will be of relevance to futuristic electronics in general, but we believe there is particular value in coupling that work with the investigation of topological effects. Nothing is proven yet, but there are good grounds to think that non-equilibrium systems may themselves ultimately prove to be the best platform for stablising the topological excitations that so many people are seeking.Our work is highly adventurous, and will push back the frontiers of current knowledge. Doing it as a co-ordinated Programme will bring exactly the cross-fertilisation of ideas and techniques, and of experiment and theory, that maximises the chances of success. The scale of a Programme also enables engaging with top international collaborators. In addition to working with Microsoft's research centre, we will exchange ideas and personnel with groups from Harvard, Berkeley, Cornell and Princeton in the USA, Grenoble in France and Tokyo and Kyoto in Japan. Major challenges require this level of global collaboration, which will expose the young people who we will train to the very best minds.

    more_vert
  • Funder: UK Research and Innovation Project Code: EP/K030353/1
    Funder Contribution: 92,718 GBP

    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.

    more_vert
  • Funder: UK Research and Innovation Project Code: EP/X024539/1
    Funder Contribution: 544,226 GBP

    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.

    more_vert
  • Funder: UK Research and Innovation Project Code: EP/P003915/1
    Funder Contribution: 101,026 GBP

    Users want mobile devices that appear fast and responsive, but at the same time have long lasting batteries and do not overheat. Achieving both of these at once is difficult. The workloads employed to evaluate mobile optimisations are rarely representative of real mobile applications and are oblivious to user perception, focussing only on performance. As a result hardware and software designers' decisions do not respect the user's Quality of Experience (QoE). The device either runs faster than necessary for optimal QoE, wasting energy, or the device runs too slowly, spoiling QoE. SUMMER will develop the first framework to record, replay, and analyse mobile workloads that represent and measure real user experience. Our work will expose for the first time the real Pareto trade-off between the user's QoE and energy consumption. The results of this project will permit others, from computer architects up to library developers, to make their design decisions with QoE as their optimisation target. To show the power of this new approach, we will design the first energy efficient operating system scheduler for heterogeneous mobile processors which takes QoE into account. With heterogeneous mobile processors just now entering the market, a scheduler able to use them optimally is urgently needed. We expect our scheduler to be at least 50% more energy efficient on average than the standard Linux scheduler on an ARM BIG.LITTLE system.

    more_vert
  • chevron_left
  • 1
  • 2
  • 3
  • 4
  • chevron_right

Do the share buttons not appear? Please make sure, any blocking addon is disabled, and then reload the page.

Content report
No reports available
Funder report
No option selected
arrow_drop_down

Do you wish to download a CSV file? Note that this process may take a while.

There was an error in csv downloading. Please try again later.