Meta-level Engineering and Tooling for Complex Concurrent Systems

Project Details

Description

In the last decade, multicore processors have become widely used for devices such as phones, tablets, and high-end servers. As a result, concurrent programming has become more important and complex software systems started to mix a wide range of concurrency models to solve both functional and non-functional requirements. Concurrency has, however, a pervasive influence on the whole system rather than being nicely confined to subsystems. This makes concurrent programs hard to understand and debug. Software tools for concurrent programs work on the lowest abstraction level, e.g., memory accesses, instead of the high-level concurrency concepts. To support the development of such complex systems, we propose to investigate language implementation support in the form of a meta-level interface which can capture the interaction amongst concurrency models in order to deliver the concepts needed to support tools. The research challenge is to identify a common meta-level interface that captures the essential properties of concurrency models, with a minimal performance overhead. A second major challenge is to investigate proper tool support, in particular, debugging tools that assist developers in finding errors, and improving program comprehension. Developing such tools is hard since the mere presence of a debugger may affect the way in which the program behaves. Thus, tools need to minimize their interference with program execution to avoid hiding concurrency issues.
AcronymFWOAL800
StatusFinished
Effective start/end date1/01/1631/12/18

Keywords

  • informatics
  • complex concurrent systems

Flemish discipline codes in use since 2023

  • Bio-informatics

Fingerprint

Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.