Research Programme

Software and software-generated data have been rapidly growing in importance in recent years; software has been referred to as “eating the world”, taking over larger parts of vastly different systems and societies and economies overall, as digitalization and the integration of software in systems lead to software being omni-present. As a result, algorithmics and software have grown massively in importance, and their reliability, speed, and flexibility are more crucial than ever.

In this context, IPA distinguishes a number of software-related research areas of interest in which it expects important developments to happen in the near future.

  • Interest Area I: Scalable Reliable Software Engineering
    As a consequence of the growing role of software, there is an increasing need for reliable software; and for such software to be efficiently engineered, maintainable, and evolvable. This is in line with the challenges observed in the VERSEN Manifesto on Software Engineering (https://www.versen.nl/contents/manifesto) and encompasses research efforts in Software Engineering as well as Formal Methods in IPA.Because of the increasing importance of software, scalable, novel techniques and methods are needed for software analysis, including testing, verification, and validation. Such techniques and methods are needed not just for correctness, but also for other properties and qualities of the software involved (covered under Interest Area II below). In the area of formal methods, theorem proving and related techniques need to become more scalable, more flexible, and more intuitive to use.

    Beyond software analysis, software analytics aims at measurement and analysis of software engineering in a broader sense: not just code and related artifacts, but also natural language discussions and documents, i.e. software development ecosystems in the large. Scalable analyses and the use of data science and ML techniques enable such analytics. Apart from answering scientific questions, analytics can also lead to actionable results impacting software development environments and programming languages and hence (industrial and academic) efficient and reliable software engineering including maintenance and evolution.

    Both in software analysis and software analytics, techniques from data science and Artificial Intelligence (AI) and in particular Machine Learning (ML) are already showing promising results and are expected to become more important to deal with the large numbers of software artifacts and software-related data involved. AI and ML offer the potential to drastically change and improve the analysis and engineering of software and related artifacts including models, source code, and documentation.

  • Interest Area II: Software Sustainability
    Given the massive amounts of software and data, and the increasing pressure on resources on our planet, sustainability in a broad sense is another subject requiring increasing attention. This encompasses energy-efficient and energy-aware computing, but also issues such as software evolution and maintainability, and sustainability of human aspects of software development as well as security and privacy. All of these topics by now are on the industrial radar and require an industrial perspective as well.
    • Energy-efficiency, and energy-aware computing.
    • Software Evolution and maintainability, which need to be sustained over the long term.
    • Social sustainability is a part of the study of human aspects of software development — Software is developed by skilled individuals and sustainability of software requires both availability of software developers reflecting different needs of diverse groups of users, as well as efficient ways to ensure that knowledge is efficiently gained, transferred and utilized.
    • Security and privacy — Critical aspects especially with drastically growing amounts of data being stored in and processed by software systems. Here, sustainability is in the form of future-proofness and trustworthiness by users and society at large, which rigorous software engineering and the use of formal methods can contribute to.

    As with the previously mentioned Interest Area I, techniques from AI are expected to become more important to deal with the large numbers of artifacts and data involved.

  • Interest Area III Domain-specific Approaches for Diverse Software and Data
    While software is omni-present, different application domains might incur different demands and constraints on software. This necessitates research into versatile and domain-specific programming, languages, algorithms, data-structures, methods, tools and techniques, for such areas as
    • Automotive Systems;
    • Quantum Computing;
    • FinTech.
  • Interest Area IV Software Engineering for AI
    While AI has important roles to play as a means to achieve the necessary goals in other interest areas, an important topic for the coming years is the application of research from IPA’s research scope to AI—that is, software engineering, formal methods, and algorithmics for AI, enabling the application of IPA’s research expertise in order to improve software and algorithm development and quality in AI settings. In such settings, specifications may not be as clear-cut as in traditional software engineering, and new techniques are needed to develop AI software components and systems.

Relation to Computer Science sector image

The 2019 computer science sector image (see “Een nieuw fundament: beeld van de bèta sector”, https://www.scienceguide.nl/wp-content/uploads/2019/09/Sectorbeeld-beta-wetenschappen.pdf) identifies seven research areas for the core computer science discipline in the Netherlands:

  1. Data modeling and analysis
  2. Machine learning
  3. Machine reasoning and interaction
  4. Algorithmics
  5. Software
  6. Security and privacy
  7. Networked computer and embedded systems

IPA’s research primarily addresses the fifth area, yet its research is not limited to this area, also strongly contributing to, benefitting from, and covering parts of particularly the third (machine reasoning as in formal methods, e.g. theorem proving), fourth, sixth, and seventh area.

Previous IPA Research Programmes