Programming languages and compilers
Design of programming languages, development of the relevant mathematical theories, the processing of these through compilers and/or interpreters and the generation of code. This area includes research which goes beyond early-stage proof-of-concept developments to include rigorous evaluations and validations, with the implementation work these require.
This area in the UK is world-leading and, while still small compared with others in Information and Communication Technologies (ICT), grew as intended over the previous Delivery Plan period. It is now considered to include a greater portion of work which can be described as beyond proof-of-concept. However, it is also considered that the balance should continue to shift in the direction of this type of work and reflect the various application areas for new programming languages and important considerations.
By the end of the current Delivery Plan period, we aim to have:
- A portfolio of research in this area that includes development of specific languages and tools for a growing variety of architectures and applications (e.g. Artificial Intelligence, heterogeneous systems, graphics, simulation, High Performance Computing and big data) to meet emerging needs
- An increased proportion of the area going beyond proof-of-concept and including rigorous evaluation and validation (e.g. implementation work). More emphasis should be placed on developmental and incremental work, in order to maintain existing languages and code to secure long-term impact
- A research area in which the current strength of support for the UK's capability to conduct research in safe and secure ICT is maintained, and the UK retains a strong capability to develop code which is reliable and robust in the face of unpredictable events. Researchers should reflect on how they can address the challenges described in EPSRC's Safe and Secure ICT priority
- Researchers working across hardware and software interfaces, strengthening the overlap of this research area with related ones (e.g. Architectures and Operating Systems, and Software Engineering). This is an opportunity to contribute to the aim of EPSRC's Cross-Disciplinarity and Co-Creation cross-ICT priority
- Training provision that maintains the size of the research area, which currently has relatively little such provision. We will monitor this throughout the Delivery Plan period.
UK has strength in semantics and logic research and its expertise is internationally recognised, with a continuing presence at international conferences such as the Association for Computing Machinery (ACM) Symposium on Principles of Programming Languages (POPL) and the European Symposium on Programming (ESOP) (Evidence source 1,2). UK researchers feature prominently in European projects, such as the European Network on High Performance and Embedded Architecture and Compilation (HiPEAC), the European Research Network on Types for Programming and Verification (EUTYPES), and Behavioural Types for Reliable Large-Scale Software Systems (BETTY) (Evidence source 3,4,5). The UK plays a key role in the design and ongoing development of many widely used languages (e.g. C, C++, Java and Haskell) (Evidence source 6,7).
Research in this area plays an important role in the ongoing support and development of existing languages (Evidence source 6). However, novel research is not balanced by the complementary levels of developmental and incremental research necessary to ensure cementing of the long-term impacts of innovations (Evidence source 6,7). For work in this area to have impact, there is a need to support new programming languages during implementation, which depends on groups being able to deliver this over the longer term. Without long-term support, users (especially businesses) cannot afford to risk adopting the language. 'Beyond proof-of-concept' work was not prominent during the Research Excellence Framework (REF) 2014 exercise or within the EPSRC portfolio (Evidence source 7,8). The Programming Languages and Compilers working group convened by EPSRC, however, reviewed the landscape in 2014-15 and considered that this work is being done in the community (Evidence source 6).
According to consultation with the UK cyber-security research community, this research area is viewed as having great potential to improve cyber-security (Evidence source 6,9). An increasing number of proposals acknowledge its cyber-security aspects (Evidence source 8). To respond to such challenges, it is important to maintain a strong level of UK expertise and capability in Programming Languages and Compilers.
While still a comparatively small research area, the 'growth' action category successfully increased the level of funded activity over the last Delivery Plan period, which now appears to be appropriate (Evidence source 6,7,8). There is currently limited PhD training in this area in the UK (Evidence source 8). Compounded by high uptake of students into industry and growing need for development work on existing languages, it will be important to continue to monitor the balance of training to maintain the long-term sustainability of the community.
This research area is expected to contribute especially to Connected and Resilient Nation Outcomes. The following Ambitions within these Outcomes are particularly relevant:
C1: Enable a competitive, data-driven economy
This research area can underpin the software infrastructure to deliver on the big data agenda.
C2: Achieve transformational development and use of the Internet of Things
Researchers can participate in interdisciplinary research challenges around securing of data and systems, control of data, data analytics and data processing.
C3: Deliver intelligent technologies and systems
Researchers can help facilitate evolution from a programming to a cognitive era in support of smart tools and technologies, and underpinning intelligent systems.
C4: Ensure a safe and trusted cyber society
Researchers can develop secure, safe, reliable, robust and trustworthy systems resistant to cyber-attack.
R3: Develop better solutions to acute threats: cyber, defence, financial and health
Researchers can support the use of modelling capability and data analytics to better anticipate acute cyber-threats, and contribute to the creation of secure, robust, resilient systems.
- 42nd ACM SIGPLAN-SIGACT Symposium on POPL, (2015).
- 25th ESOP, (2016).
- M. Duranton et al., HiPEAC Vision 2015 (PDF), (2015).
- European Cooperation in Science and Technology (COST), EUTYPES: Participations, (2015).
- COST, BETTY: Management Committee, (2015).
- Community and user engagement (individual input, group feedback, team visits/events and evidence-gathering activities).
- Input from the ICT Strategic Advisory Team, the UK Computer Research Committee (UKCRC) Executive Committee and REF panellists.
- Analysis of EPSRC data (grant data, application statistics, portfolio funding landscape).
- National Audit Office (NAO), The UK Cyber Security Strategy: Landscape Review (PDF), (2013).
Research area connections
This diagram shows the top 10 connections between Research Areas within the EPSRC research portfolio. The depth of the segment relates to value of grants and the width of the segment relates to the number of grants shared by those two Research Areas. Please click to see the related Research Area rationale.
Visualising our Portfolio (VoP)
Visualising our portfolio (VoP) is a tool for users to visually interact with the EPSRC portfolio and data relationships.
EPSRC support by research area in Programming languages and compilers (GoW)
Search EPSRC's research and training grants.